Exemple #1
0
        public void RefreshOutput(PhactoryHost.Database.Resource resource)
        {
            FileInfo fileInfo = Host.GetFileInfo(resource);

            if (fileInfo == null)
            {
                return;
            }

            if (!fileInfo.Exists)
            {
                return;
            }

            if (!IsResourceSupported(resource))
            {
                return;
            }

            var tempDocument    = Host.XMLRead <Document.Document>(Host.GetFileInfo(resource).FullName);
            var outputFilenames = new List <string>();

            foreach (Document.Item item in tempDocument.Items)
            {
                var resItem        = Host.GetResource(item.ResourceID);
                var resFileInfo    = Host.GetFileInfo(resItem);
                var outputFilename = resFileInfo.Name;

                string outputFilenameBin = outputFilename + ".bin";
                outputFilenames.Add(outputFilenameBin);
            }

            Host.RefreshOutput(resource, outputFilenames);
        }
Exemple #2
0
        public void UpdateDependencies(PhactoryHost.Database.Resource resource)
        {
            FileInfo fileInfo = Host.GetFileInfo(resource);

            if (fileInfo == null)
            {
                return;
            }

            if (!fileInfo.Exists)
            {
                return;
            }

            if (!IsResourceSupported(resource))
            {
                return;
            }

            Document.Document tempDocument = Host.XMLRead <Document.Document>(Host.GetFileInfo(resource).FullName);

            List <PhactoryHost.Database.Resource> dependentResources = new List <PhactoryHost.Database.Resource>();

            foreach (Document.File file in tempDocument.Files)
            {
                PhactoryHost.Database.Resource depResource = Host.GetResource(file.ResourceID);
                if ((depResource != null) && (resource != depResource))
                {
                    dependentResources.Add(depResource);
                }
            }

            Host.RefreshDependencies(resource, dependentResources);
        }
Exemple #3
0
        public bool IsIncludeResource(PhactoryHost.Database.Resource resource)
        {
            FileInfo fileInfo = Host.GetFileInfo(resource);

            if (fileInfo == null)
            {
                return(false);
            }

            if (!IsResourceSupported(resource))
            {
                return(false);
            }

            if (fileInfo.Extension.ToLower() == ".h")
            {
                return(true);
            }
            if (fileInfo.Extension.ToLower() == ".cxx")
            {
                return(true);
            }

            return(false);
        }
Exemple #4
0
        public bool IsResourceReferencedByOtherResourcesRecursive(PhactoryHost.Database.Resource resource)
        {
            if (App.Controller.Entities.StartupResourceId == resource.Id)
            {
                return(true);
            }

            foreach (int outputResourceId in resource.IdOutputs)
            {
                if (outputResourceId == App.Controller.Entities.StartupResourceId)
                {
                    return(true);
                }

                PhactoryHost.Database.Resource outputResource = GetResource(outputResourceId);
                if (IsResourceReferencedByOtherResourcesRecursive(outputResource))
                {
                    return(true);
                }
            }

            List <PhactoryHost.Database.Resource> depResources = IsResourceReferencedByOtherResources(resource);

            foreach (PhactoryHost.Database.Resource depResource in depResources)
            {
                if (IsResourceReferencedByOtherResourcesRecursive(depResource))
                {
                    return(true);
                }
            }

            return(false);
        }
Exemple #5
0
        public bool Run(PhactoryHost.Database.Resource resource)
        {
            PhactoryHost.Database.Resource parentResource = Host.GetResource(resource.IdDependencies[0]);

            Document.Document document = Host.XMLRead <Document.Document>(Host.GetFileInfo(parentResource).FullName);

            string fileToExecute = "";

            foreach (Document.Item item in document.Items)
            {
                if (item.ExecAdress != 0)
                {
                    fileToExecute = item.AmsdosFilename;
                }
            }

            string DSKFilename = Host.GetFileInfo(resource).FullName;

            DSKFilename = DSKFilename.Replace(".cpcdsk", ".dsk");

            FileInfo DSKFileInfo = new FileInfo(DSKFilename);

            string WinAPEFullPath = Host.GetPluginsPath() + "WinAPE.exe";

            string arguments = "\"" + DSKFileInfo.FullName + "\" /A";

            if (Host.IsVerboseOutput())
            {
                Host.Log(WinAPEFullPath + " " + arguments);
            }

            return(Host.StartAndWaitAfterProcess(WinAPEFullPath, arguments, DSKFileInfo.DirectoryName));
        }
Exemple #6
0
        private void CleanResource(PhactoryHost.Database.Resource resource)
        {
            if (resource == null)
            {
                return;
            }

            if (resource.IsOutputResource == false)
            {
                return;
            }

            string filename  = resource.RelativePath;
            string extension = Helper.StringHelper.GetFileExtension(filename);

            string location = Helper.StringHelper.MakeFullPath(resource.RelativePath);

            if (File.Exists(location))
            {
                // App.Controller.Log.Append(resource.DisplayName);

                File.SetAttributes(location, FileAttributes.Normal);
                File.Delete(location);
            }
        }
Exemple #7
0
        public List <int> GetBrokenResourceIDs(PhactoryHost.Database.Resource resource)
        {
            FileInfo fileInfo = Host.GetFileInfo(resource);

            if (fileInfo == null)
            {
                return(null);
            }

            if (!fileInfo.Exists)
            {
                return(null);
            }

            List <int> brokenResourceIDs = new List <int>();

            Document.Document document = Host.XMLRead <Document.Document>(Host.GetFileInfo(resource).FullName);
            if (document != null)
            {
                foreach (Document.Item item in document.Items)
                {
                    if (Host.GetResource(item.ResourceID) == null)
                    {
                        brokenResourceIDs.Add(item.ResourceID);
                    }
                }
            }

            return(brokenResourceIDs);
        }
Exemple #8
0
        public View(PhactoryHost.Database.Resource resource)
        {
            InitializeComponent();

            Resource = resource;
            modified = false;
        }
Exemple #9
0
        public View(PhactoryHost.Database.Resource resource)
        {
            InitializeComponent();

            Resource = resource;
            modified = false;
        }
Exemple #10
0
        public void UpdateDependencies(PhactoryHost.Database.Resource resource)
        {
            FileInfo fileInfo = Host.GetFileInfo(resource);

            if (fileInfo == null)
            {
                return;
            }

            if (!fileInfo.Exists)
            {
                return;
            }

            if (!IsResourceSupported(resource))
            {
                return;
            }

            Document.Document tempDocument = Host.XMLRead <Document.Document>(Host.GetFileInfo(resource).FullName);

            List <PhactoryHost.Database.Resource> dependentResources = new List <PhactoryHost.Database.Resource>();

            Host.RefreshDependencies(resource, dependentResources);
        }
Exemple #11
0
        public void OpenResource(Panel parentPanel, PhactoryHost.Database.Resource resource)
        {
            View.View view = new View.View(resource);
            view.Parent = parentPanel;
            view.Dock   = System.Windows.Forms.DockStyle.Fill;

            viewBinding.Add(resource, new ResourceBinding(parentPanel, view));

            try
            {
                view.PictureBox.Image   = Image.FromFile(Host.GetFileInfo(resource).FullName, true);
                view.PictureWidth.Text  = "" + view.PictureBox.Image.Width + " Pixel(s)";
                view.PictureHeight.Text = "" + view.PictureBox.Image.Height + " Pixel(s)";
                view.PictureDepth.Text  = "" + view.PictureBox.Image.PixelFormat.ToString();

                if (Host.IsVerboseOutput())
                {
                    Host.Log(resource.DisplayName + " loaded");
                }
            }
            catch (System.IO.FileNotFoundException)
            {
                Host.Log("Problem while loading " + resource.DisplayName);
            }

            view.RefreshTitle();

            view.IsReady = true;
        }
Exemple #12
0
        public void OpenResource(Panel parentPanel, PhactoryHost.Database.Resource resource)
        {
            View.View view = new View.View(resource);
            view.Parent = parentPanel;
            view.Dock   = System.Windows.Forms.DockStyle.Fill;

            ResourceBinding resourceBinding = new ResourceBinding(parentPanel, view);

            viewBinding.Add(resource, resourceBinding);

            resourceBinding.View.Document = Host.XMLRead <Document.Document>(Host.GetFileInfo(resource).FullName);

            if (resourceBinding.View.Document is Document.Document)
            {
                if (Host.IsVerboseOutput())
                {
                    Host.Log(resource.DisplayName + " loaded");
                }
            }
            else
            {
                Host.Log("Problem while loading " + resource.DisplayName);
            }

            view.RefreshUI();
            view.RefreshTitle();

            view.IsReady = true;
        }
Exemple #13
0
        private ListViewItem AddListViewItem(PhactoryHost.Database.Resource resource)
        {
            FileInfo fileInfo = Plugin.ControllerEditor.Host.GetFileInfo(resource);

            if (fileInfo.Exists == false)
            {
                return(null);
            }

            ListViewItem item = new ListViewItem(resource.RelativePath, 0);       // Relative Path

            item.SubItems.Add(((fileInfo.Length / 1024) + 1).ToString() + " Kb"); // File Size

            Image image = Image.FromFile(fileInfo.FullName);

            item.SubItems.Add("" + image.Width);                  // Width
            item.SubItems.Add("" + image.Height);                 // Height

            item.SubItems.Add(fileInfo.CreationTime.ToString());  // Created
            item.SubItems.Add(fileInfo.LastWriteTime.ToString()); // Modified

            lvFiles.Items.Add(item);

            SetModified(true);

            return(item);
        }
Exemple #14
0
        public void RefreshOutput(PhactoryHost.Database.Resource resource)
        {
            FileInfo fileInfo = Host.GetFileInfo(resource);

            if (fileInfo == null)
            {
                return;
            }

            if (!fileInfo.Exists)
            {
                return;
            }

            if (!IsResourceSupported(resource))
            {
                return;
            }

            Document.Document document = Host.XMLRead <Document.Document>(Host.GetFileInfo(resource).FullName);
            if (document is Document.Document)
            {
                List <string> outputFilenames = new List <string>();

                string outputFilename = fileInfo.Name + ".bin";
                outputFilenames.Add(outputFilename);

                Host.RefreshOutput(resource, outputFilenames);
            }
        }
Exemple #15
0
        public bool CloseResource(PhactoryHost.Database.Resource resource)
        {
            if (viewBinding.ContainsKey(resource))
            {
                if (IsResourceModified(resource))
                {
                    switch (MessageBox.Show("The file has been modified. Save changes ?", "Confirm file close", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question))
                    {
                    case DialogResult.Yes:
                        SaveResource(resource);
                        break;

                    case DialogResult.No:
                        break;

                    case DialogResult.Cancel:
                        return(false);
                    }
                }

                viewBinding.Remove(resource);
            }

            return(true);
        }
Exemple #16
0
        public void CreatePairValueRecursive(PhactoryHost.Database.Resource resource, List <Helper.TopologicalSort.PairValue> pairValues)
        {
            if (resource == null)
            {
                return;
            }
            foreach (int dependentResourceId in resource.IdDependencies)
            {
                bool exist = false;
                foreach (Helper.TopologicalSort.PairValue pairValue in pairValues)
                {
                    if ((pairValue.A == resource.Id) && (pairValue.B == dependentResourceId))
                    {
                        exist = true;
                        break;
                    }
                }

                if (!exist)
                {
                    pairValues.Add(new Helper.TopologicalSort.PairValue(resource.Id, dependentResourceId));
                    CreatePairValueRecursive(App.Controller.Entities.GetResource(dependentResourceId), pairValues);
                }
            }
        }
Exemple #17
0
        public void UpdateDependenciesRecursive(PhactoryHost.Database.Resource resource, List <PhactoryHost.Database.Resource> resourceDependencies)
        {
            App.Controller.View.AppDoEvents();

            if (resource == null)
            {
                return;
            }

            string filename  = resource.RelativePath;
            string extension = Helper.StringHelper.GetFileExtension(filename);

            FileInfo resourceFileInfo = Helper.StringHelper.GetFileInfo(resource);

            if (resourceFileInfo.LastWriteTime > resource.LastWriteTime)
            {
                resource.LastWriteTime = resourceFileInfo.LastWriteTime;

                PhactoryHost.CompilerPlugin compiler = App.Controller.PluginManager.GetCompiler(extension);
                if (compiler != null)
                {
                    compiler.UpdateDependencies(resource);
                }
            }

            foreach (int resourceDependencyId in resource.IdDependencies)
            {
                PhactoryHost.Database.Resource resourceDependency = App.Controller.Entities.GetResource(resourceDependencyId);
                if (!resourceDependencies.Contains(resourceDependency))
                {
                    resourceDependencies.Add(resourceDependency);
                }
                UpdateDependenciesRecursive(resourceDependency, resourceDependencies);
            }
        }
Exemple #18
0
        private void CleanProject()
        {
            if (!CheckBuildStatus())
            {
                return;
            }

            SetBuildStatus(BuildStatus.Neutral);

            PhactoryHost.Database.Resource resource = App.Controller.Entities.GetResource(App.Controller.Entities.StartupResourceId);

            if (resource == null)
            {
                this.ShowWarningMessage("Operation failed !", "You need to define a resource as startup item first.");
            }
            else
            {
                var stopwatch = new Stopwatch();
                stopwatch.Start();

                Thread t = new Thread(new CleanProjectWorker(resource).DoWork);
                t.Start();
                while (t.IsAlive)
                {
                    Application.DoEvents();
                }

                stopwatch.Stop();
                App.Controller.Log.Append(String.Format("Elapsed time: {0}", FormatElapsedTime(stopwatch.Elapsed)));
            }
        }
Exemple #19
0
        public bool Compile(PhactoryHost.Database.Resource resource)
        {
            FileInfo fileInfo = Host.GetFileInfo(resource);

            if (fileInfo == null)
            {
                return(false);
            }

            if (!IsResourceSupported(resource))
            {
                return(false);
            }

            List <String> resourceFilenames = new List <String>();
            List <String> paddingFilenames  = new List <String>();
            List <int>    address           = new List <int>();

            Document.Document document = Host.XMLRead <Document.Document>(Host.GetFileInfo(resource).FullName);
            if (document == null)
            {
                return(false);
            }

            document.Expand();

            foreach (Document.File file in document.Files)
            {
                PhactoryHost.Database.Resource iResource = Host.GetResource(file.ResourceID);
                if (iResource == null)
                {
                    Host.Log("Unknown resource identifier : " + file.ResourceID);
                    return(false);
                }

                FileInfo iFileInfo = Host.GetFileInfo(iResource);

                resourceFilenames.Add(iFileInfo.FullName);
                paddingFilenames.Add(file.Pad256 ? "true" : "false");
                address.Add((file.SetAddress == false)?0:file.Address);
            }

            var compiler = new Phactory.Modules.BigFile.Compiler.BigFileCompiler();

            string resourceRelativePathNoExt = resource.RelativePath;

            resourceRelativePathNoExt = resourceRelativePathNoExt.Replace(".cpcbigfile", "");

            App.Controller.View.AppDoEvents();

            string baseFilename   = Host.MakeFullPath(resourceRelativePathNoExt);
            string headerFilename = Host.MakeFullPath(resourceRelativePathNoExt + ".H");

            if (!compiler.Compile(baseFilename, headerFilename, resourceFilenames, paddingFilenames, address, document.TruncateFiles, document.FilesInBank, document.BaseAddress))
            {
                return(false);
            }

            return(true);
        }
Exemple #20
0
        public View(PhactoryHost.Database.Resource resource)
        {
            InitializeComponent();

            Resource = resource;
            modified = false;

            lvFiles.Clear();
            lvFiles.Columns.Add("Filename", 172);
            lvFiles.Columns.Add("WidthCPC", 64);
            lvFiles.Columns.Add("Width", 30);
            lvFiles.Columns.Add("Height", 30);

            lvPalette.Clear();
            lvPalette.Columns.Add("Pen", 100);
            lvPalette.Columns.Add("Color", 100);
            lvPalette.Columns.Add("Gate Array", 100);

            cbMode.Items.Clear();
            cbMode.Items.Add("MODE0");
            cbMode.Items.Add("MODE1");
            cbMode.Items.Add("MODE2");

            RefreshProperties();
        }
Exemple #21
0
        public void OpenResource(PhactoryHost.Database.Resource resource)
        {
            FileInfo fileInfo = Host.GetFileInfo(resource);

            PhactoryHost.EditorPlugin editor = GetEditor(fileInfo.Extension);

            if (!App.Controller.UserConfig.OpenedResources.Contains(resource.Id))
            {
                App.Controller.UserConfig.OpenedResources.Add(resource.Id);
                App.Controller.WriteUserConfig();
            }

            if (editor != null)
            {
                View.PluginView pluginView = App.Controller.View.CreatePluginView(resource, false);
                editor.OpenResource(pluginView.PluginContainer, resource);
            }
            else
            {
                PhactoryHost.EditorPlugin defaultEditor = GetDefaultEditorForUnknownTypes();
                if (defaultEditor != null)
                {
                    View.PluginView pluginView = App.Controller.View.CreatePluginView(resource, false);
                    defaultEditor.OpenResource(pluginView.PluginContainer, resource);
                }
            }
        }
Exemple #22
0
        private void OnChanged(object source, FileSystemEventArgs e)
        {
            DateTime dateTime = File.GetLastWriteTime(e.FullPath);

            bool doChange = true;

            if (lastChangedDictionnary.ContainsKey(e.FullPath))
            {
                DateTime dateTimeDictionnary = lastChangedDictionnary[e.FullPath];

                if (dateTimeDictionnary.Second == dateTime.Second)
                {
                    doChange = false;
                }
                else
                {
                    lastChangedDictionnary.Remove(e.FullPath);
                }
            }

            if (doChange)
            {
                lastChangedDictionnary.Add(e.FullPath, dateTime);

                FileInfo fileInfo = new FileInfo(e.FullPath);

                PhactoryHost.Database.Resource resource = Helper.DBHelper.GuessResource(fileInfo);
                if ((resource != null) && (fileInfo.Exists == true))
                {
                    App.Controller.View.OnResourceChanged(resource);
                }
            }
        }
Exemple #23
0
        public void Expand()
        {
            for (int i = 0; i < Files.Count; i++)
            {
                PhactoryHost.Database.Resource resource = Plugin.ControllerCompiler.Host.GetResource(Files[i].ResourceID);
                if (resource == null)
                {
                    continue;
                }

                FileInfo fileInfo = Plugin.ControllerCompiler.Host.GetFileInfo(resource);

                if (fileInfo.Extension.ToLower() == ".cpcbigfile")
                {
                    Document tmpDocument = Plugin.ControllerCompiler.Host.XMLRead <Document>(fileInfo.FullName);

                    // remove .cpcbigfile reference
                    Files.RemoveAt(i);

                    int next = 0; // to respect order
                    foreach (File file in tmpDocument.Files)
                    {
                        Files.Insert(i + next, file);
                        next++;

                        file.ResourceCPCBigFileID = resource.Id;
                    }

                    // ensure i to be at the beginning of the new content, in case of recursive adds
                    i--;
                }
            }
        }
Exemple #24
0
        public View(PhactoryHost.Database.Resource resource)
        {
            InitializeComponent();

            Resource = resource;
            modified = false;

            lvFiles.Clear();
            lvFiles.Columns.Add("Filename", 172);
            lvFiles.Columns.Add("WidthCPC", 64);
            lvFiles.Columns.Add("Width", 30);
            lvFiles.Columns.Add("Height", 30);

            lvPalette.Clear();
            lvPalette.Columns.Add("Pen", 100);
            lvPalette.Columns.Add("Color", 100);
            lvPalette.Columns.Add("Gate Array", 100);

            cbMode.Items.Clear();
            cbMode.Items.Add("MODE0");
            cbMode.Items.Add("MODE1");
            cbMode.Items.Add("MODE2");

            RefreshProperties();
        }
Exemple #25
0
        public void SaveResource(PhactoryHost.Database.Resource resource)
        {
            bool writeOK = Host.XMLWrite(Host.GetFileInfo(resource).FullName, viewBinding[resource].View.Document);

            if (writeOK)
            {
                if (Host.IsVerboseOutput())
                {
                    Host.Log(resource.DisplayName + " written");
                }

                Host.RefreshOutput(resource);
                List <PhactoryHost.Database.Resource> dependentResources = new List <PhactoryHost.Database.Resource>();
                foreach (Document.Item item in viewBinding[resource].View.Document.Items)
                {
                    dependentResources.Add(Plugin.ControllerEditor.Host.GetResource(item.ResourceID));
                }
                Host.RefreshDependencies(resource, dependentResources);

                viewBinding[resource].View.SetModified(false);
            }
            else
            {
                Host.Log("Problem while writing " + resource.DisplayName);
            }
        }
Exemple #26
0
        static public bool CheckIfResourceCanBeRemoved(PhactoryHost.Database.Resource resource)
        {
            if (resource.IsOutputResource)
            {
                string errorMessage = "Can not remove '" + resource.DisplayName + "' because it's an output resource";

                App.Controller.Log.Append(errorMessage);
                App.Controller.View.ShowErrorMessage("Can't remove resource", errorMessage);

                return(false);
            }

            List <PhactoryHost.Database.Resource> resourceDependencies = GetDependentResources(resource);

            if (resourceDependencies.Count != 0)
            {
                string errorMessage = "Can not remove '" + resource.DisplayName + "' because it's referenced by :\n";
                errorMessage += "\n";
                foreach (PhactoryHost.Database.Resource res in resourceDependencies)
                {
                    errorMessage += "'" + res.DisplayName + "'\n";
                }

                App.Controller.Log.Append(errorMessage);
                App.Controller.View.ShowErrorMessage("Can't remove resource", errorMessage);

                return(false);
            }

            return(true);
        }
Exemple #27
0
        private void rebuildProjectToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (!CheckBuildStatus())
            {
                return;
            }

            SetBuildStatus(BuildStatus.Neutral);

            PhactoryHost.Database.Resource resource = App.Controller.Entities.GetResource(App.Controller.Entities.StartupResourceId);

            if (resource == null)
            {
                this.ShowWarningMessage("Operation failed !", "You need to define a resource as startup item first.");
            }
            else
            {
                var    w = new RebuildProjectWorker(resource);
                Thread t = new Thread(w.DoWork);
                t.Start();
                while (t.IsAlive)
                {
                    Application.DoEvents();
                }

                if (w.IsOk)
                {
                    SetBuildStatus(BuildStatus.Success);
                }
                else
                {
                    SetBuildStatus(BuildStatus.Failure);
                }
            }
        }
Exemple #28
0
        public void UpdateDependenciesRecursive(PhactoryHost.Database.Resource resource)
        {
            App.Controller.View.AppDoEvents();

            List <PhactoryHost.Database.Resource> resourceDependencies = new List <PhactoryHost.Database.Resource>();

            UpdateDependenciesRecursive(resource, resourceDependencies);
        }
Exemple #29
0
 public void OnResourceRenamed(PhactoryHost.Database.Resource resource)
 {
     if (this.InvokeRequired)
     {
         this.Invoke(new OnResourceRenamedDelegate(OnResourceRenamed), new object[] { resource });
         return;
     }
 }
Exemple #30
0
 public void SetLine(PhactoryHost.Database.Resource resource, int line)
 {
     if (viewBinding.ContainsKey(resource))
     {
         View.View view = viewBinding[resource].View;
         view.SetLine(line);
     }
 }
Exemple #31
0
 public void SaveResource()
 {
     PhactoryHost.Database.Resource resource = View.GetActivePluginResource();
     if (resource != null)
     {
         SaveResource(resource);
     }
 }
Exemple #32
0
        private bool CompileResource(PhactoryHost.Database.Resource resource)
        {
            if (App.Controller.UserConfig.VerboseOutput == false)
            {
                if (resource.IdOutputs.Count == 1)
                {
                    PhactoryHost.Database.Resource outputResource = App.Controller.Entities.GetResource(resource.IdOutputs[0]);

                    if (outputResource.Id != App.Controller.Entities.StartupResourceId)
                    {
                        if (App.Controller.PluginManager.Host.IsResourceReferencedByOtherResources(outputResource).Count == 0)
                        {
                            // simply skip compilation
                            return(true);
                        }
                    }
                }
            }

            string filename  = resource.RelativePath;
            string extension = Helper.StringHelper.GetFileExtension(filename);

            PhactoryHost.CompilerPlugin compiler = App.Controller.PluginManager.GetCompiler(extension);
            if (compiler == null)
            {
                if (App.Controller.UserConfig.VerboseOutput)
                {
                    App.Controller.Log.Append(resource.DisplayName + " (skipped)");
                }
                return(true);
            }

            bool   showInLog = true;
            string typeInfo  = "";

            if (resource.IsIncludeResource)
            {
                typeInfo += " (include resource)";

                showInLog = App.Controller.UserConfig.VerboseOutput;
            }

            if (resource.IsOutputResource)
            {
                typeInfo += " (output resource)";

                showInLog = App.Controller.UserConfig.VerboseOutput;
            }

            if (showInLog)
            {
                App.Controller.Log.Append(resource.DisplayName + typeInfo);
            }

            App.Controller.View.AppDoEvents();

            return(compiler.Compile(resource));
        }
Exemple #33
0
        public View(PhactoryHost.Database.Resource resource)
        {
            InitializeComponent();

            Resource = resource;
            modified = false;

            this.textEditorControl.ActiveTextAreaControl.TextArea.KeyDown += new System.Windows.Forms.KeyEventHandler(this.TextEditor_KeyDown);
            this.textEditorControl.TextChanged += new EventHandler(TextEditor_TextChanged);
        }
Exemple #34
0
        public View(PhactoryHost.Database.Resource resource)
        {
            InitializeComponent();

            Resource = resource;
            modified = false;

            lvFiles.Clear();
            lvFiles.Columns.Add("Filename", 200);
            lvFiles.Columns.Add("Size", 100);
        }
Exemple #35
0
        public View(PhactoryHost.Database.Resource resource)
        {
            InitializeComponent();

            Resource = resource;
            modified = false;

            lvFiles.Clear();
            lvFiles.Columns.Add("Filename", 200);
            lvFiles.Columns.Add("Address", 50);
            lvFiles.Columns.Add("Length", 50);
            lvFiles.Columns.Add("Length (Hex)", 80);
            lvFiles.Columns.Add("Is External From", 200);
        }
Exemple #36
0
        public View(PhactoryHost.Database.Resource resource)
        {
            InitializeComponent();

            Resource = resource;
            modified = false;

            lvFiles.Clear();
            lvFiles.Columns.Add("Filename", 130);
            lvFiles.Columns.Add("Size", 70);
            lvFiles.Columns.Add("Width", 70);
            lvFiles.Columns.Add("Height", 70);
            lvFiles.Columns.Add("Created", 120);
            lvFiles.Columns.Add("Last Modified", 120);

            RefreshProperties();
        }
Exemple #37
0
        public View(PhactoryHost.Database.Resource resource)
        {
            InitializeComponent();

            Resource = resource;
            modified = false;

            lvFiles.Clear();
            lvFiles.Columns.Add("Filename", 100);
            lvFiles.Columns.Add("Filename (AMSDOS 8.3)", 140);
            lvFiles.Columns.Add("Type", 80);
            lvFiles.Columns.Add("Length in Kb", 80);
            lvFiles.Columns.Add("Length (Base 10)", 100);
            lvFiles.Columns.Add("Length (Base 16)", 100);
            lvFiles.Columns.Add("Load Address", 100);
            lvFiles.Columns.Add("Execution Address", 100);

            RefreshMoveButtonStates();
        }
Exemple #38
0
        public ResourceSelector(PhactoryHost.Database.Resource defaultResource, List<string> extensionFilter)
            : this()
        {
            DefaultResource = defaultResource;

            if (extensionFilter != null)
            {
                ExtensionFilter = extensionFilter;

                string title = this.Text;
                title += " (filtered by ";
                for( int iExtension = 0; iExtension < extensionFilter.Count; iExtension++ )
                {
                    title += extensionFilter[ iExtension ];
                    if ( iExtension != ( extensionFilter.Count - 1 ) )
                    {
                        title += ", ";
                    }
                }
                title += ")";

                this.Text = title;
            }
        }
Exemple #39
0
 public ResourceSelector(PhactoryHost.Database.Resource defaultResource)
     : this()
 {
     DefaultResource = defaultResource;
 }
Exemple #40
0
 public ResourceSelector(PhactoryHost.Database.Resource defaultResource, bool multiSelect)
     : this()
 {
     DefaultResource = defaultResource;
     MultiSelect = multiSelect;
 }
Exemple #41
0
        public void SaveResource(PhactoryHost.Database.Resource resource)
        {
            if (viewBinding.ContainsKey(resource))
            {
                View.View view = viewBinding[resource].View;

                IgnoreNextResource = resource;

                FileInfo fileInfo = Host.GetFileInfo(resource);
                view.WriteContentToFile(fileInfo.FullName);

                if (Host.IsVerboseOutput())
                {
                    Host.Log(resource.DisplayName + " written");
                }

                Host.RefreshOutput(resource);

                view.SetModified(false);
            }
        }
Exemple #42
0
 public RunProjectWorker(PhactoryHost.Database.Resource resource)
 {
     this.resource = resource;
 }
Exemple #43
0
 public BuildProjectWorker(PhactoryHost.Database.Resource resource, bool clearLog)
 {
     this.resource = resource;
     this.clearLog = clearLog;
 }