static void OpenObjectEditor() { Rect rect = new Rect(320, 180, 640, 720); ObjectEditor windows = EditorWindow.GetWindowWithRect <ObjectEditor>(rect, true, "Object Editor", true); windows.Show(); }
private void newObjectBt_Click(object sender, EventArgs e) { ObjectEditor childForm = new ObjectEditor(); childForm.MdiParent = this; childForm.Text = "Object"; childForm.Show(); }
private void openFolderToolStripMenuItem_Click(object sender, EventArgs e) { FolderSelectDialog dlg = new FolderSelectDialog(); if (dlg.ShowDialog() == DialogResult.OK) { var root = new ExplorerFolder(dlg.SelectedPath); ObjectEditor editor = new ObjectEditor(); editor.MdiParent = this; editor.Text = CheckTabDupes(root.Text); editor.AddNode(root); editor.Show(); } }
//----------------------------------------------------------------------------- // Methods //----------------------------------------------------------------------------- public void OpenObjectPropertiesEditor(IPropertyObject propertyObject) { if (propertyObject != null) { editorControl.OpenObjectProperties(propertyObject); if (objectEditorForm == null || objectEditorForm.IsDisposed) { objectEditorForm = new ObjectEditor(editorControl); objectEditorForm.SetObject(propertyObject); objectEditorForm.Show(this); } else { objectEditorForm.SetObject(propertyObject); } } }
public void OpenFile(string FileName, bool InActiveEditor = false) { if (File.Exists(FileName)) { SaveRecentFile(FileName); } object file = STFileLoader.OpenFileFormat(FileName); if (file == null) //File might not be supported so return { return; } Type objectType = file.GetType(); bool HasEditorActive = false; foreach (var inter in objectType.GetInterfaces()) { if (inter.IsGenericType && inter.GetGenericTypeDefinition() == typeof(IEditor <>)) { MethodInfo method = objectType.GetMethod("OpenForm"); MethodInfo methodFill = objectType.GetMethod("FillEditor"); var control = (UserControl)method.Invoke(file, new object[0]); methodFill.Invoke(file, new object[1] { control }); var form = new GenericEditorForm(false, control); TabDupeIndex = 0; form.Text = CheckTabDupes(((IFileFormat)file).FileName); form.MdiParent = this; form.Show(); HasEditorActive = true; } else if (inter.IsGenericType && inter.GetGenericTypeDefinition() == typeof(IEditorForm <>)) { MethodInfo method = objectType.GetMethod("OpenForm"); var form = (Form)method.Invoke(file, new object[0]); TabDupeIndex = 0; form.Text = CheckTabDupes(((IFileFormat)file).FileName); form.Show(); HasEditorActive = true; } } bool IsTreeNode = file is TreeNode; bool IsArchiveFile = file is IArchiveFile; if (!IsTreeNode && !IsArchiveFile || HasEditorActive) { SetFormatSettings(GetActiveIFileFormat()); return; } //ObjectEditor is for treenode or archive file types. Editors will be on the right side, treenodes on the left SetFormatSettings((IFileFormat)file); //Check for active object editors Form editor = (Form)LibraryGUI.GetActiveForm(); bool useActiveEditor = false; if (editor != null && editor is ObjectEditor) { //If any are active and we want it to be a new tab then create an instance of one if (InActiveEditor || ((ObjectEditor)editor).AddFilesToActiveEditor) { useActiveEditor = true; } } bool IsEditorActive = editor != null; if (!useActiveEditor || !IsEditorActive) { editor = new ObjectEditor(((IFileFormat)file)); editor.MdiParent = this; editor.Text = CheckTabDupes(((IFileFormat)file).FileName); editor.Show(); ((ObjectEditor)editor).SelectFirstNode(); if (file is TreeNodeFile) { ((TreeNodeFile)file).OnAfterAdded(); } } else { if (IsArchiveFile) { ((ObjectEditor)editor).AddIArchiveFile((IFileFormat)file); } else { AddObjectEditorFile(((TreeNode)file), (ObjectEditor)editor, false); } } SetFormatSettings(GetActiveIFileFormat()); }
public void OpenFile(string FileName, bool InActiveEditor = false) { Reload(); if (File.Exists(FileName)) { SaveRecentFile(FileName); } object file = STFileLoader.OpenFileFormat(FileName); if (file == null) //File might not be supported so return { return; } Type objectType = file.GetType(); bool HasEditorActive = false; foreach (var inter in objectType.GetInterfaces()) { if (inter.IsGenericType && inter.GetGenericTypeDefinition() == typeof(IEditor <>)) { MethodInfo method = objectType.GetMethod("OpenForm"); var form = (STForm)method.Invoke(file, new object[0]); TabDupeIndex = 0; form.Text = CheckTabDupes(((IFileFormat)file).FileName); form.MdiParent = this; form.Show(); HasEditorActive = true; } } bool IsTreeNode = file is TreeNode; if (!IsTreeNode || HasEditorActive) { SetFormatSettings(GetActiveIFileFormat()); return; } var node = (TreeNode)file; //ObjectEditor is for treenode types. Editors will be on the right side, treenodes on the left SetFormatSettings((IFileFormat)node); //Check for active object editors ObjectEditor editor = (ObjectEditor)LibraryGUI.Instance.GetActiveForm(); bool IsEditorActive = editor != null; //Create one if none are active if (!IsEditorActive) { editor = new ObjectEditor(); } bool useActiveEditor = false; //If any are active and we want it to be a new tab then create an instance of one if (InActiveEditor || editor.AddFilesToActiveEditor) { useActiveEditor = true; } if (!useActiveEditor || !IsEditorActive) { editor = new ObjectEditor(); AddObjectEditorFile(node, editor, true); editor.Text = CheckTabDupes(node.Text); editor.Show(); } else { AddObjectEditorFile(node, editor, false); } SetFormatSettings(GetActiveIFileFormat()); }