コード例 #1
0
ファイル: ObjectEditor.cs プロジェクト: monkeykane/UnityTest
    static void OpenObjectEditor()
    {
        Rect         rect    = new Rect(320, 180, 640, 720);
        ObjectEditor windows = EditorWindow.GetWindowWithRect <ObjectEditor>(rect, true, "Object Editor", true);

        windows.Show();
    }
コード例 #2
0
ファイル: MainWindow.cs プロジェクト: slagusev/SharpGM
        private void newObjectBt_Click(object sender, EventArgs e)
        {
            ObjectEditor childForm = new ObjectEditor();

            childForm.MdiParent = this;
            childForm.Text      = "Object";
            childForm.Show();
        }
コード例 #3
0
        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();
            }
        }
コード例 #4
0
ファイル: EditorForm.cs プロジェクト: radtek/ZeldaOracle
        //-----------------------------------------------------------------------------
        // 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);
                }
            }
        }
コード例 #5
0
        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());
        }
コード例 #6
0
ファイル: MainForm.cs プロジェクト: cano159/Switch-Toolbox
        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());
        }