Example #1
0
        public void ChangeActiveEditor(Editors.IEditor editor)
        {
            AllowKeyboardToMoveConsole = true;

            if (ActiveEditor != null)
            {
                ActiveEditor.OnDeselected();
                borderConsole.IsVisible = false;
            }

            if (OpenEditors.Contains(editor))
            {
                ActiveEditor = editor;
                ActiveEditor.OnSelected();
                ToolsPane.RedrawPanels();

                borderConsole.IsVisible = true;
                borderConsole.SetContent(ActiveEditor.Surface, ActiveEditor.Renderer);

                //Consoles.Children.Insert(0, ActiveEditor.RenderedConsole);
                RefreshBorder();


                if (ToolsPane.PanelFiles.DocumentsListbox.SelectedItem != editor)
                {
                    ToolsPane.PanelFiles.DocumentsListbox.SelectedItem = editor;
                }
            }
        }
Example #2
0
        private void LoadEditor(string file, FileLoaders.IFileLoader loader)
        {
            Editors.IEditor editor = null;

            if (loader is FileLoaders.LayeredSurface || loader is FileLoaders.BasicSurface)
            {
                editor = new Editors.LayeredConsoleEditor();
                AddEditor(editor, false);
                editor.Load(file, loader);
            }
            else if (loader is FileLoaders.GameObject)
            {
                editor = new Editors.GameObjectEditor();
                AddEditor(editor, false);
                editor.Load(file, loader);
            }
            else if (loader is FileLoaders.Scene)
            {
                editor = new Editors.SceneEditor();
                AddEditor(editor, false);
                editor.Load(file, loader);
            }
            if (editor != null)
            {
                //editor.RenderedConsole.TextSurface.RenderArea = new Rectangle(0, 0, InnerEmptyBounds.Width, InnerEmptyBounds.Height);
                ChangeActiveEditor(editor);
            }

            topBarPane.IsVisible = true;
            ToolsPane.IsVisible  = true;
        }
Example #3
0
        public void AddEditor(Editors.IEditor editor, bool show)
        {
            OpenEditors.Add(editor);
            ToolsPane.PanelFiles.DocumentsListbox.Items.Add(editor);

            if (show)
            {
                ChangeActiveEditor(editor);
            }
        }
Example #4
0
        public void RemoveEditor(Editors.IEditor editor)
        {
            ToolsPane.PanelFiles.DocumentsListbox.Items.Remove(editor);
            editor.OnClosed();
            OpenEditors.Remove(editor);

            if (OpenEditors.Count == 0)
            {
                ShowStartup();
            }
            else
            {
                ChangeActiveEditor(OpenEditors[0]);
            }
        }
Example #5
0
        private void CreateNewEditor(Editors.Editors editorType, int width, int height, Color defaultForeground, Color defaultBackground)
        {
            Editors.IEditor editor = null;

            switch (editorType)
            {
            case SadConsoleEditor.Editors.Editors.Console:
                editor = new Editors.LayeredConsoleEditor();
                editor.New(defaultForeground, defaultBackground, width, height);
                break;

            case SadConsoleEditor.Editors.Editors.GameObject:
                editor = new Editors.GameObjectEditor();
                editor.New(defaultForeground, defaultBackground, width, height);
                break;

            case SadConsoleEditor.Editors.Editors.Scene:
                editor = new Editors.SceneEditor();
                editor.New(defaultForeground, defaultBackground, width, height);
                break;

            case SadConsoleEditor.Editors.Editors.GUI:
                break;

            default:
                break;
            }

            if (editor != null)
            {
                AddEditor(editor, true);
            }

            topBarPane.IsVisible = true;
            ToolsPane.IsVisible  = true;
        }