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; } } }
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; }
public void AddEditor(Editors.IEditor editor, bool show) { OpenEditors.Add(editor); ToolsPane.PanelFiles.DocumentsListbox.Items.Add(editor); if (show) { ChangeActiveEditor(editor); } }
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]); } }
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; }