/// <summary> /// Ru: Сохраняет список открытых для редактирования форм /// En: Saves edit forms list to file /// </summary> public void SaveEditorsFormsState() { PKStudio.Helpers.OpenedDocumentsList modlist = new Helpers.OpenedDocumentsList(); foreach (DockContent item in DockPanel.Contents) { if (item.GetType() == typeof(PKStudio.Forms.Editors.SourceFileEditor)) { PKStudio.Forms.Editors.SourceFileEditor file = (PKStudio.Forms.Editors.SourceFileEditor)item; modlist.Files.Add(file.EditingFilePath); } else if (item.GetType() == typeof(PKStudio.Forms.Editors.LibraryCategoryEditor)) { PKStudio.Forms.Editors.LibraryCategoryEditor editor = (PKStudio.Forms.Editors.LibraryCategoryEditor)item; modlist.Components.Add(ComponentWrapper.GetComponentWrapper(editor.LibraryCategory)); } else if (item.GetType() == typeof(PKStudio.Forms.Editors.LibraryEditor)) { PKStudio.Forms.Editors.LibraryEditor editor = (PKStudio.Forms.Editors.LibraryEditor)item; modlist.Components.Add(ComponentWrapper.GetComponentWrapper(editor.Library)); } else if (item.GetType() == typeof(PKStudio.Forms.Editors.FeatureEditor)) { PKStudio.Forms.Editors.FeatureEditor editor = (PKStudio.Forms.Editors.FeatureEditor)item; modlist.Components.Add(ComponentWrapper.GetComponentWrapper(editor.Feature)); } } string Path = Application.StartupPath + "\\edlist.dat"; if (File.Exists(Path)) { FileInfo FI = new FileInfo(Path); if ((FI.Attributes & FileAttributes.ReadOnly) == FileAttributes.ReadOnly) { FI.Attributes -= FileAttributes.ReadOnly; modlist.Serialize(modlist, Path); } else { modlist.Serialize(modlist, Path); } } else { modlist.Serialize(modlist, Path); } }
protected IEventComponent ShowLibraryCategoryEditorByGuid(string guid) { bool exist = false; foreach (DockContent item in DockPanel.Contents) { if (item.GetType() == typeof(PKStudio.Forms.Editors.LibraryCategoryEditor)) { LibraryCategoryEditor editor = (LibraryCategoryEditor)item; if (editor.LibraryCategory.Guid == guid) { editor.Show(); exist = true; } } } if (!exist) { LibraryCategoryWrapper libcat = PK.Wrapper.FindLibraryCategory(guid); if (libcat != null) { LCE = new LibraryCategoryEditor(); LCE.OpenContainingFolderEvent += new EventHandler<Forms.BaseForms.PathEventArgs>(OpenContainingFolderEvent); LCE.SetLibCat(libcat); LCE.Show(DockPanel, DockState.Document); return LCE; } } return null; }