public MainForm() { InitializeComponent(); // Add the control scroll message filter to re-route all mousewheel events // to the control the user is currently hovering over with their cursor. Application.AddMessageFilter(new ControlScrollFilter()); // Add the dock content drag message filter to handle moving dock content around. Application.AddMessageFilter(DockPanel.DockContentDragFilter); // Add the dock panel message filter to filter through for dock panel splitter // input before letting events pass through to the rest of the application. Application.AddMessageFilter(DockPanel.DockResizeFilter); // Hook in all the UI events manually for clarity. HookEvents(); // Build the tool windows and add them to the dock panel _dockProject = new DockProject(); _dockProperties = new DockProperties(); _dockConsole = new DockConsole(); _dockLayers = new DockLayers(); _dockHistory = new DockHistory(); // Add the tool windows to a list _toolWindows.Add(_dockProject); _toolWindows.Add(_dockProperties); _toolWindows.Add(_dockConsole); _toolWindows.Add(_dockLayers); _toolWindows.Add(_dockHistory); // Deserialize if a previous state is stored if (File.Exists("dockpanel.xml")) { DeserializeDockPanel("dockpanel.xml"); } else { // Add the tool window list contents to the dock panel foreach (var toolWindow in _toolWindows) { DockPanel.AddContent(toolWindow); } // Add the history panel to the layer panel group DockPanel.AddContent(_dockHistory, _dockLayers.DockGroup); } // Check window menu items which are contained in the dock panel BuildWindowMenu(); // Add dummy documents to the main document area of the dock panel DockPanel.AddContent(new DockDocument("Document 1", Icons.document_16xLG)); DockPanel.AddContent(new DockDocument("Document 2", Icons.document_16xLG)); DockPanel.AddContent(new DockDocument("Document 3", Icons.document_16xLG)); }
public SuiteForm() { InitializeComponent(); // Add the control scroll message filter to re-route all mousewheel events // to the control the user is currently hovering over with their cursor. Application.AddMessageFilter(new ControlScrollFilter()); // Add the dock content drag message filter to handle moving dock content around. Application.AddMessageFilter(DockPanel.DockContentDragFilter); // Add the dock panel message filter to filter through for dock panel splitter // input before letting events pass through to the rest of the application. Application.AddMessageFilter(DockPanel.DockResizeFilter); // Hook in all the UI events manually for clarity. HookEvents(); // Build the tool windows and add them to the dock panel _dockProject = new DockProject(); _dockTilesetTools = new DockTilesetTools(); _dockLayers = new DockLayers(); _dockProperties = new DockProperties(); _dockMapObject = new DockMapObjectProperties(); _dockMapAttributes = new DockMapAttributes(); this.DockPanel.AllowDrop = false; _dockTilesetTools.AllowDrop = false; _dockProject.AllowDrop = false; _dockLayers.AllowDrop = false; _dockProperties.AllowDrop = false; _dockMapObject.AllowDrop = false; _dockMapAttributes.AllowDrop = false; _editorDocuments = new List <SavableDocument>(); _dockProject.FileCreated += _dockProject_File_Created; _dockProject.FileSelected += _dockProject_File_Selected; _dockProject.FileRemoved += _dockProject_File_Removed; _dockProject.FileChanged += DockProjectOnFileChanged; this.DockPanel.AddContent(_dockProject); this.DockPanel.AddContent(_dockTilesetTools); this.DockPanel.ContentRemoved += DockPanelOnContentRemoved; _dockTilesetTools.DockRegion.Size = new Size(_dockTilesetTools.Width, _dockTilesetTools.DockRegion.Height); this.DockPanel.AddContent(_dockLayers, _dockTilesetTools.DockGroup); this.DockPanel.AddContent(_dockMapObject, _dockTilesetTools.DockGroup); this.DockPanel.AddContent(_dockMapAttributes, _dockTilesetTools.DockGroup); this.DockPanel.AddContent(_dockProperties, _dockTilesetTools.DockGroup); _dockTilesetTools.DockGroup.SetVisibleContent(_dockTilesetTools); _dockTilesetTools.DockGroup.Hide(); // Check window menu items which are contained in the dock panel BuildWindowMenu(); }