Esempio n. 1
0
 public void ShowTaskEditor(TaskInfo task)
 {
     FrmTaskEditor frmtaskeditor = new FrmTaskEditor();
     frmtaskeditor.TaskId = task.TaskId;
     frmtaskeditor.TaskName = task.TaskName;
     frmtaskeditor.GroupName = task.GroupName;
     frmtaskeditor.Text = task.TaskName;
     frmtaskeditor.taskSaved += new FrmTaskEditor.TaskSavedEventHandler(frmtaskeditor_taskSaved);
     if (dockPanel.DocumentStyle == DocumentStyle.SystemMdi)
     {
         frmtaskeditor.MdiParent = this;
         frmtaskeditor.Show();
     }
     else
     {
         foreach (IDockContent content in dockPanel.Documents)
         {
             FrmTaskEditor form = content as FrmTaskEditor;
             if (form != null && form.TaskId == task.TaskId)
             {
                 content.DockHandler.Show();
                 return;
             }
         }
         frmtaskeditor.Show(dockPanel);
     }
 }
Esempio n. 2
0
        private IDockContent GetContentFromPersistString(string persistString)
        {
            if (persistString == typeof(FrmTaskManager).ToString())
                return _taskManagerForm;
            else if (persistString == typeof(FrmProperty).ToString())
                return _propertyForm;
            else if (persistString == typeof(FrmToolbox).ToString())
                return _toolboxForm;
            else if (persistString == typeof(FrmOutput).ToString())
                return _outputForm;
            else if (persistString == typeof(DummyTaskList).ToString())
                return _taskListForm;
            else if (persistString == typeof(FrmAccountManager).ToString())
                return _accountManagerForm;
            else
            {
                string[] parsedStrings = persistString.Split(new char[] { ',' });
                if (parsedStrings.Length == 3)
                {
                    if (parsedStrings[0] != typeof(FrmDocument).ToString())
                        return null;

                    FrmDocument dummyDoc = new FrmDocument();
                    TextEditorControl editor;
                    if (parsedStrings[1] != string.Empty && parsedStrings[2] != string.Empty)
                    {
                        if (!File.Exists(parsedStrings[1]))
                            return null;

                        dummyDoc = CreateNewDocument(Path.GetFileName(parsedStrings[1]));
                        editor = dummyDoc.Controls[0] as TextEditorControl;
                        editor.LoadFile(parsedStrings[1]);
                        editor.Document.DocumentChanged += new DocumentEventHandler(Document_DocumentChanged);
                        // Modified flag is set during loading because the document 
                        // "changes" (from nothing to something). So, clear it again.
                        SetModifiedFlag(editor, false);
                        if (!String.IsNullOrEmpty(parsedStrings[2]))
                            dummyDoc.Text = parsedStrings[2];
                        dummyDoc.LastWriteTime = new FileInfo(parsedStrings[1]).LastWriteTime;
                        dummyDoc.Show(dockPanel);
                    }
                    else
                    {
                        dummyDoc = CreateNewDocument("新文档");
                        editor = dummyDoc.Controls[0] as TextEditorControl;
                        editor.Document.DocumentChanged += new DocumentEventHandler(Document_DocumentChanged);
                        // Modified flag is set during loading because the document 
                        // "changes" (from nothing to something). So, clear it again.
                        SetModifiedFlag(editor, false);
                        dummyDoc.Show(dockPanel);
                    }
                    //文档已经打开,只是为了符合函数返回类型               
                    return dummyDoc;
                }
                else if (parsedStrings.Length == 5)
                {
                    if (parsedStrings[0] != typeof(FrmTaskEditor).ToString())
                        return null;

                    if (parsedStrings[1] != string.Empty && parsedStrings[2] != string.Empty && parsedStrings[3] != string.Empty && parsedStrings[4] != string.Empty)
                    {
                        Collection<TaskInfo> tasks = ConfigCtrl.GetSimpleTasks();
                        foreach (TaskInfo task in tasks)
                        {
                            if (task.TaskId == parsedStrings[1] &&
                                task.TaskName == parsedStrings[2] &&
                                task.GroupName == parsedStrings[3])
                            {
                                FrmTaskEditor frmtaskeditor = new FrmTaskEditor();
                                frmtaskeditor.TaskId = parsedStrings[1];
                                frmtaskeditor.TaskName = parsedStrings[2];
                                frmtaskeditor.GroupName = parsedStrings[3];
                                frmtaskeditor.Text = parsedStrings[4];
                                frmtaskeditor.taskSaved += new FrmTaskEditor.TaskSavedEventHandler(frmtaskeditor_taskSaved);
                                frmtaskeditor.Show(dockPanel);
                                return frmtaskeditor;
                            }
                        }                        
                    }
                }
                else
                {
                    return null;
                }
            }

            return null;
        }