/// <inheritdoc /> public override void OnInit() { Assert.IsNull(MainWindow); _windowsLayoutPath = StringUtils.CombinePaths(Globals.ProjectCacheFolder, "WindowsLayout.xml"); // Create main window var dpiScale = Platform.DpiScale; var settings = CreateWindowSettings.Default; settings.Title = "Flax Editor"; settings.Size = new Vector2(1300 * dpiScale, 900 * dpiScale); settings.StartPosition = WindowStartPosition.CenterScreen; if (!Editor.Instance.Options.Options.Interface.UseNativeWindowSystem) { settings.HasBorder = false; settings.HasSizingFrame = false; } MainWindow = Window.Create(settings); if (MainWindow == null) { // Error Editor.LogError("Failed to create editor main window!"); return; } UpdateWindowTitle(); // Link for main window events MainWindow.Closing += MainWindow_OnClosing; MainWindow.Closed += MainWindow_OnClosed; // Create default editor windows ContentWin = new ContentWindow(Editor); EditWin = new EditGameWindow(Editor); GameWin = new GameWindow(Editor); PropertiesWin = new PropertiesWindow(Editor); SceneWin = new SceneTreeWindow(Editor); DebugLogWin = new DebugLogWindow(Editor); OutputLogWin = new OutputLogWindow(Editor); ToolboxWin = new ToolboxWindow(Editor); GraphicsQualityWin = new GraphicsQualityWindow(Editor); GameCookerWin = new GameCookerWindow(Editor); ProfilerWin = new ProfilerWindow(Editor); EditorOptionsWin = new EditorOptionsWindow(Editor); PluginsWin = new PluginsWindow(Editor); // Bind events SceneManager.SceneSaveError += OnSceneSaveError; SceneManager.SceneLoaded += OnSceneLoaded; SceneManager.SceneLoadError += OnSceneLoadError; SceneManager.SceneLoading += OnSceneLoading; SceneManager.SceneSaved += OnSceneSaved; SceneManager.SceneSaving += OnSceneSaving; SceneManager.SceneUnloaded += OnSceneUnloaded; SceneManager.SceneUnloading += OnSceneUnloading; ScriptsBuilder.ScriptsReloadEnd += OnScriptsReloadEnd; }
/// <inheritdoc /> public override void OnInit() { Assert.IsNull(MainWindow); _windowsLayoutPath = StringUtils.CombinePaths(Globals.ProjectCacheFolder, "WindowsLayout.xml"); // Create main window var dpiScale = Platform.DpiScale; var settings = CreateWindowSettings.Default; settings.Title = "Flax Editor"; settings.Size = Platform.DesktopSize; settings.StartPosition = WindowStartPosition.CenterScreen; settings.ShowAfterFirstPaint = true; #if PLATFORM_WINDOWS if (!Editor.Instance.Options.Options.Interface.UseNativeWindowSystem) #endif { settings.HasBorder = false; #if PLATFORM_WINDOWS // Skip OS sizing frame and implement it using LeftButtonHit settings.HasSizingFrame = false; #endif } MainWindow = Platform.CreateWindow(ref settings); if (MainWindow == null) { // Error Editor.LogError("Failed to create editor main window!"); return; } UpdateWindowTitle(); // Link for main window events MainWindow.Closing += MainWindow_OnClosing; MainWindow.Closed += MainWindow_OnClosed; // Create default editor windows ContentWin = new ContentWindow(Editor); EditWin = new EditGameWindow(Editor); GameWin = new GameWindow(Editor); PropertiesWin = new PropertiesWindow(Editor); SceneWin = new SceneTreeWindow(Editor); DebugLogWin = new DebugLogWindow(Editor); OutputLogWin = new OutputLogWindow(Editor); ToolboxWin = new ToolboxWindow(Editor); GraphicsQualityWin = new GraphicsQualityWindow(Editor); GameCookerWin = new GameCookerWindow(Editor); ProfilerWin = new ProfilerWindow(Editor); EditorOptionsWin = new EditorOptionsWindow(Editor); PluginsWin = new PluginsWindow(Editor); VisualScriptDebuggerWin = new VisualScriptDebuggerWindow(Editor); // Bind events Level.SceneSaveError += OnSceneSaveError; Level.SceneLoaded += OnSceneLoaded; Level.SceneLoadError += OnSceneLoadError; Level.SceneLoading += OnSceneLoading; Level.SceneSaved += OnSceneSaved; Level.SceneSaving += OnSceneSaving; Level.SceneUnloaded += OnSceneUnloaded; Level.SceneUnloading += OnSceneUnloading; ScriptsBuilder.ScriptsReloadEnd += OnScriptsReloadEnd; Editor.StateMachine.StateChanged += OnEditorStateChanged; }
private static void InitializeOtherStuff() { PluginsWindow.Initialize(); }
public void Initialize(Form mainWindow) { #region Local Functions ToolStripMenuItem Add(ToolStripMenuItem parent, string text, Action clickEvent) { var tsmi = new ToolStripMenuItem(); tsmi.Text = text; if (clickEvent != null) { tsmi.Click += (not, used) => clickEvent(); } parent.DropDownItems.Add(tsmi); return(tsmi); } void AddSeparator(ToolStripMenuItem parent) { var separator = new System.Windows.Forms.ToolStripSeparator(); parent.DropDownItems.Add(separator); } #endregion this.RemoveElementMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.RemoveStateMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.RemoveVariableMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.aboutToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.loadRecentToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.saveAllToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.newProjectToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.contentToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.findFileReferencesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.pluginsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.managePluginsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.editToolStripMenuItem = new ToolStripMenuItem(); this.editToolStripMenuItem.Name = "editToolStripMenuItem"; this.editToolStripMenuItem.Size = new System.Drawing.Size(39, 20); this.editToolStripMenuItem.Text = "Edit"; Add(editToolStripMenuItem, "Undo", UndoManager.Self.PerformUndo) .ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Z))); AddSeparator(editToolStripMenuItem); var addToolStripMenuItem = Add(editToolStripMenuItem, "Add", null); var removeToolStripMenuItem = Add(editToolStripMenuItem, "Remove", null); // // removeToolStripMenuItem // removeToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.RemoveElementMenuItem, this.RemoveStateMenuItem, this.RemoveVariableMenuItem }); Add(addToolStripMenuItem, "Screen", () => ElementTreeViewManager.Self.AddScreenClick(this, null)); Add(addToolStripMenuItem, "Component", () => ElementTreeViewManager.Self.AddComponentClick(this, null)); Add(addToolStripMenuItem, "Instance", () => ElementTreeViewManager.Self.AddInstanceClick(this, null)); Add(addToolStripMenuItem, "State", () => GumCommands.Self.Edit.AddState()); // // RemoveElementMenuItem // this.RemoveElementMenuItem.Name = "RemoveElementMenuItem"; this.RemoveElementMenuItem.Size = new System.Drawing.Size(117, 22); this.RemoveElementMenuItem.Text = "Element"; this.RemoveElementMenuItem.Click += RemoveElementClicked; // // RemoveStateMenuItem // this.RemoveStateMenuItem.Name = "RemoveStateMenuItem"; this.RemoveStateMenuItem.Size = new System.Drawing.Size(117, 22); this.RemoveStateMenuItem.Text = "State"; this.RemoveStateMenuItem.Click += RemoveStateOrCategoryClicked; // // RemoveVariableMenuItem // this.RemoveVariableMenuItem.Name = "RemoveVariableMenuItem"; this.RemoveVariableMenuItem.Size = new System.Drawing.Size(117, 22); this.RemoveVariableMenuItem.Text = "Variable"; this.RemoveVariableMenuItem.Click += HanldeRemoveBehaviorVariableClicked; // // newProjectToolStripMenuItem // this.newProjectToolStripMenuItem.Name = "newProjectToolStripMenuItem"; this.newProjectToolStripMenuItem.Size = new System.Drawing.Size(149, 22); this.newProjectToolStripMenuItem.Text = "New Project"; this.newProjectToolStripMenuItem.Click += (not, used) => GumCommands.Self.FileCommands.NewProject(); // // pluginsToolStripMenuItem // this.pluginsToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.managePluginsToolStripMenuItem }); this.pluginsToolStripMenuItem.Name = "pluginsToolStripMenuItem"; this.pluginsToolStripMenuItem.Size = new System.Drawing.Size(58, 20); this.pluginsToolStripMenuItem.Text = "Plugins"; // // managePluginsToolStripMenuItem // this.managePluginsToolStripMenuItem.Name = "managePluginsToolStripMenuItem"; this.managePluginsToolStripMenuItem.Size = new System.Drawing.Size(159, 22); this.managePluginsToolStripMenuItem.Text = "Manage Plugins"; this.managePluginsToolStripMenuItem.Click += (not, used) => { PluginsWindow pluginsWindow = new PluginsWindow(); pluginsWindow.Show(); }; // // findFileReferencesToolStripMenuItem // this.findFileReferencesToolStripMenuItem.Name = "findFileReferencesToolStripMenuItem"; this.findFileReferencesToolStripMenuItem.Size = new System.Drawing.Size(182, 22); this.findFileReferencesToolStripMenuItem.Text = "Find file references..."; this.findFileReferencesToolStripMenuItem.Click += (not, used) => { CommonFormsAndControls.TextInputWindow tiw = new CommonFormsAndControls.TextInputWindow(); tiw.Message = "Enter entire or partial file name:"; var dialogResult = tiw.ShowDialog(); if (dialogResult == System.Windows.Forms.DialogResult.OK) { var elements = ObjectFinder.Self.GetElementsReferencing(tiw.Result); string message = "File referenced by:"; if (elements.Count == 0) { message += "\nNothing references this file"; } else { foreach (var element in elements) { message += "\n" + element.ToString(); } } MessageBox.Show(message); } }; // // contentToolStripMenuItem // this.contentToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.findFileReferencesToolStripMenuItem }); this.contentToolStripMenuItem.Name = "contentToolStripMenuItem"; this.contentToolStripMenuItem.Size = new System.Drawing.Size(62, 20); this.contentToolStripMenuItem.Text = "Content"; // // saveAllToolStripMenuItem // this.saveAllToolStripMenuItem.Name = "saveAllToolStripMenuItem"; this.saveAllToolStripMenuItem.Size = new System.Drawing.Size(149, 22); this.saveAllToolStripMenuItem.Text = "Save All"; this.saveAllToolStripMenuItem.Click += (not, used) => { if (ObjectFinder.Self.GumProjectSave == null) { MessageBox.Show("There is no project loaded. Either load a project or create a new project before saving"); } else { // Don't do an auto save, force it! GumCommands.Self.FileCommands.ForceSaveProject(true); } }; // // aboutToolStripMenuItem // this.aboutToolStripMenuItem.Name = "aboutToolStripMenuItem"; this.aboutToolStripMenuItem.Size = new System.Drawing.Size(116, 22); this.aboutToolStripMenuItem.Text = "About..."; this.aboutToolStripMenuItem.Click += (not, used) => MessageBox.Show("Gum version " + Application.ProductVersion); this.viewToolStripMenuItem = new ToolStripMenuItem(); viewToolStripMenuItem.Text = "View"; Add(viewToolStripMenuItem, "Hide Tools", () => { GumCommands.Self.GuiCommands.HideTools(); }); Add(viewToolStripMenuItem, "Show Tools", () => { GumCommands.Self.GuiCommands.ShowTools(); }); this.helpToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.helpToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.aboutToolStripMenuItem }); this.helpToolStripMenuItem.Name = "helpToolStripMenuItem"; this.helpToolStripMenuItem.Size = new System.Drawing.Size(44, 20); this.helpToolStripMenuItem.Text = "Help"; this.fileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); Add(fileToolStripMenuItem, "Load Project...", () => ProjectManager.Self.LoadProject()); loadRecentToolStripMenuItem = Add(fileToolStripMenuItem, "Load Recent", null); Add(fileToolStripMenuItem, "Save Project", () => { if (ObjectFinder.Self.GumProjectSave == null) { MessageBox.Show("There is no project loaded. Either load a project or create a new project before saving"); } else { // Don't do an auto save, force it! GumCommands.Self.FileCommands.ForceSaveProject(); } }); // // fileToolStripMenuItem // this.fileToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.saveAllToolStripMenuItem, this.newProjectToolStripMenuItem }); this.fileToolStripMenuItem.Name = "fileToolStripMenuItem"; this.fileToolStripMenuItem.Size = new System.Drawing.Size(37, 20); this.fileToolStripMenuItem.Text = "File"; this.menuStrip1 = new System.Windows.Forms.MenuStrip(); // // menuStrip1 // this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.fileToolStripMenuItem, this.editToolStripMenuItem, this.viewToolStripMenuItem, this.contentToolStripMenuItem, this.pluginsToolStripMenuItem, this.helpToolStripMenuItem }); this.menuStrip1.Location = new System.Drawing.Point(0, 0); this.menuStrip1.Name = "menuStrip1"; this.menuStrip1.Size = new System.Drawing.Size(1076, 24); this.menuStrip1.TabIndex = 0; this.menuStrip1.Text = "menuStrip1"; mainWindow.Controls.Add(this.menuStrip1); mainWindow.MainMenuStrip = this.menuStrip1; RefreshUI(); }
private void managePluginsToolStripMenuItem_Click(object sender, EventArgs e) { PluginsWindow pluginsWindow = new PluginsWindow(); pluginsWindow.Show(); }