예제 #1
0
        public void SetDataFromUI(object destination)
        {
            ILuaEditDocumentProject luaPrj = destination as ILuaEditDocumentProject;

            if (luaPrj != null)
            {
                ILuaEditProjectProperties luaPrjProps = luaPrj.ProjectProperties;

                if (luaPrjProps != null)
                {
                    if (cboStartupFile.SelectedIndex == 0)
                    {
                        luaPrjProps.StartupFileName = string.Empty;
                    }
                    else if (cboStartupFile.SelectedIndex > 0)
                    {
                        luaPrjProps.StartupFileName = Win32Utils.GetRelativePath((cboStartupFile.Items[cboStartupFile.SelectedIndex] as ILuaEditDocumentEditable).FileName, Path.GetDirectoryName(_prjDoc.FileName));
                    }

                    luaPrjProps.StartAction          = radStartProject.Checked ? DebugStartAction.StartProject : DebugStartAction.StartExternalProgram;
                    luaPrjProps.UseRemoteMachine     = chkRemoteMachine.Checked;
                    luaPrjProps.RemoteMachineName    = txtRemoteMachine.Text;
                    luaPrjProps.RemotePort           = Convert.ToInt32(nudPort.Value);
                    luaPrjProps.WorkingDirectory     = txtWorkingDir.Text;
                    luaPrjProps.ExternalProgram      = txtExternalProgram.Text;
                    luaPrjProps.CommandLineArguments = txtCmdLineArgs.Text;
                }
            }
        }
예제 #2
0
        internal XmlDocumentFolder ToXml(XmlDocumentFolder objectToSerialize)
        {
            if (objectToSerialize == null)
            {
                objectToSerialize = new XmlDocumentFolder();
            }

            objectToSerialize.RelativePath = Win32Utils.GetRelativePath(this.FileName, Path.GetDirectoryName(ParentDocument.FileName));

            base.ToXml(objectToSerialize);

            return(objectToSerialize);
        }
예제 #3
0
        public void SetUIFromData(object source)
        {
            try
            {
                _isUpdatingUIFromData = true;
                ILuaEditDocumentProject luaPrj = source as ILuaEditDocumentProject;

                if (luaPrj != null)
                {
                    ILuaEditProjectProperties       luaPrjProps = luaPrj.ProjectProperties;
                    List <ILuaEditDocumentEditable> docList     = new List <ILuaEditDocumentEditable>();
                    GetEditableFilesFromPrjRecursive(luaPrj, docList);

                    cboStartupFile.Items.Clear();
                    int startupFileSelIndex = cboStartupFile.Items.Add("Currently Selected File");

                    foreach (ILuaEditDocumentEditable doc in docList)
                    {
                        int    index           = cboStartupFile.Items.Add(doc);
                        string relativeDocPath = Win32Utils.GetRelativePath(doc.FileName, Path.GetDirectoryName(_prjDoc.FileName));

                        if (luaPrjProps != null && luaPrjProps.StartupFileName == relativeDocPath)
                        {
                            startupFileSelIndex = index;
                        }
                    }

                    cboStartupFile.SelectedIndex = startupFileSelIndex;

                    if (luaPrjProps != null)
                    {
                        radStartProject.Checked         = luaPrjProps.StartAction == DebugStartAction.StartProject;
                        radStartExternalProgram.Checked = luaPrjProps.StartAction == DebugStartAction.StartExternalProgram;
                        txtExternalProgram.Text         = luaPrjProps.ExternalProgram;
                        txtCmdLineArgs.Text             = luaPrjProps.CommandLineArguments;
                        chkRemoteMachine.Checked        = luaPrjProps.UseRemoteMachine;
                        txtRemoteMachine.Text           = luaPrjProps.RemoteMachineName;
                        nudPort.Value      = luaPrjProps.RemotePort;
                        txtWorkingDir.Text = luaPrjProps.WorkingDirectory;
                    }
                }
            }
            finally
            {
                _isUpdatingUIFromData = false;
            }
        }
예제 #4
0
        internal XmlLuaGroupDocumentBase ToXml(XmlLuaGroupDocumentBase objectToSerialize)
        {
            if (objectToSerialize == null)
            {
                objectToSerialize = new XmlLuaGroupDocumentBase();
            }

            // Serialize sub-documents
            int fileCount = 0;

            Array.Resize <LuaEdit.Documents.DocumentRef>(ref objectToSerialize.Documents, _documents.Count);
            foreach (ILuaEditDocument doc in _documents)
            {
                objectToSerialize.Documents[fileCount] = new DocumentRef(Win32Utils.GetRelativePath(doc.FileName, _fileName));
                ++fileCount;
            }

            // Serialize sub-folders
            int folderCount = 0;

            Array.Resize <XmlDocumentFolder>(ref objectToSerialize.DocumentFolders, _documentFolders.Count);
            foreach (ILuaEditDocumentFolder docFolder in _documentFolders)
            {
                DocumentFolder folder = docFolder as DocumentFolder;
                if (folder != null)
                {
                    objectToSerialize.DocumentFolders[folderCount] = folder.ToXml(null);
                    ++folderCount;
                }
            }

            // Serialize sub-group documents
            int grpCount = 0;

            Array.Resize <LuaEdit.Documents.DocumentRef>(ref objectToSerialize.DocumentGroups, _documentGroups.Count);
            foreach (ILuaEditDocumentGroup docGrp in _documentGroups)
            {
                objectToSerialize.DocumentGroups[grpCount] = new DocumentRef(Win32Utils.GetRelativePath(docGrp.FileName, _fileName));
                ++grpCount;
            }

            return(objectToSerialize);
        }
예제 #5
0
        private void btnBrowseExternalProgram_Click(object sender, EventArgs e)
        {
            if (!string.IsNullOrEmpty(txtExternalProgram.Text))
            {
                externalProgramBrowser.FileName = txtExternalProgram.Text;
            }

            if (externalProgramBrowser.ShowDialog() == DialogResult.OK)
            {
                string progFileName = externalProgramBrowser.FileName;

                if (File.Exists(_prjDoc.FileName))
                {
                    progFileName = Win32Utils.GetRelativePath(progFileName, Path.GetDirectoryName(_prjDoc.FileName));
                }

                string oldVal = txtExternalProgram.Text;
                txtExternalProgram.Text = progFileName;
                txtExternalProgram.Focus();
                _externalProgramOldVal = oldVal;
            }
        }