From 2ba44dd3814964109c12677f0766e80a8b1a9c3c Mon Sep 17 00:00:00 2001 From: Daniel Grunwald Date: Sat, 28 Jun 2008 18:08:04 +0000 Subject: [PATCH] Merge Vendor/DockPanelSuite v2.1:v2.2 to SharpDevelop/Src/Libraries/DockPanel_Src. git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@3146 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61 --- .../DockSample/DockSample.csproj | 10 + .../DockPanel_Src/DockSample/MainForm.cs | 2 +- .../DockSample/MainForm2.Designer.cs | 635 ++++++++++++++++++ .../DockPanel_Src/DockSample/MainForm2.cs | 443 ++++++++++++ .../DockPanel_Src/DockSample/MainForm2.resx | 194 ++++++ ...{WinFormsUI.sln => WinFormsUI.Docking.sln} | 22 +- src/Libraries/DockPanel_Src/WinFormsUI.ndoc | 42 -- src/Libraries/DockPanel_Src/WinFormsUI.suo | Bin 14848 -> 0 bytes .../WinFormsUI/Docking/DockContentHandler.cs | 4 + .../Docking/DockPanel.AutoHideWindow.cs | 12 +- .../Docking/DockPanel.DockDragHandler.cs | 29 +- .../Docking/DockPanel.FocusManager.cs | 6 +- .../WinFormsUI/Docking/DockPanel.Persistor.cs | 2 +- .../Docking/{Resources => }/DockPanel.bmp | Bin .../WinFormsUI/Docking/DockPanel.cs | 50 +- .../WinFormsUI/Docking/DockPanelExtender.cs | 1 + .../WinFormsUI/Docking/FloatWindow.cs | 2 +- .../WinFormsUI/Docking/Resources.Designer.cs | 7 - .../WinFormsUI/Docking/Resources.resx | 3 - .../WinFormsUI/Docking/Resources/Thumbs.db | Bin 0 -> 138752 bytes .../WinFormsUI/Docking/Strings.Designer.cs | 9 + .../WinFormsUI/Docking/Strings.resx | 3 + .../Docking/VS2005DockPaneCaption.cs | 2 +- .../WinFormsUI/Properties/AssemblyInfo.cs | 6 +- .../WinFormsUI/WinFormsUI.csproj | 18 +- 25 files changed, 1379 insertions(+), 123 deletions(-) create mode 100644 src/Libraries/DockPanel_Src/DockSample/MainForm2.Designer.cs create mode 100644 src/Libraries/DockPanel_Src/DockSample/MainForm2.cs create mode 100644 src/Libraries/DockPanel_Src/DockSample/MainForm2.resx rename src/Libraries/DockPanel_Src/{WinFormsUI.sln => WinFormsUI.Docking.sln} (50%) delete mode 100644 src/Libraries/DockPanel_Src/WinFormsUI.ndoc delete mode 100644 src/Libraries/DockPanel_Src/WinFormsUI.suo rename src/Libraries/DockPanel_Src/WinFormsUI/Docking/{Resources => }/DockPanel.bmp (100%) create mode 100644 src/Libraries/DockPanel_Src/WinFormsUI/Docking/Resources/Thumbs.db diff --git a/src/Libraries/DockPanel_Src/DockSample/DockSample.csproj b/src/Libraries/DockPanel_Src/DockSample/DockSample.csproj index 0a1cdbbe81..e0234e468a 100644 --- a/src/Libraries/DockPanel_Src/DockSample/DockSample.csproj +++ b/src/Libraries/DockPanel_Src/DockSample/DockSample.csproj @@ -41,6 +41,12 @@ AboutDialog.cs + + Form + + + MainForm2.cs + Form @@ -198,6 +204,10 @@ + + MainForm2.cs + Designer + ResXFileCodeGenerator Resources.Designer.cs diff --git a/src/Libraries/DockPanel_Src/DockSample/MainForm.cs b/src/Libraries/DockPanel_Src/DockSample/MainForm.cs index 57fe65352c..f9d0f3fd98 100644 --- a/src/Libraries/DockPanel_Src/DockSample/MainForm.cs +++ b/src/Libraries/DockPanel_Src/DockSample/MainForm.cs @@ -403,7 +403,7 @@ namespace DockSample } else { - foreach (IDockContent document in dockPanel.Documents) + foreach (IDockContent document in dockPanel.DocumentsToArray()) { if (!document.DockHandler.IsActivated) document.DockHandler.Close(); diff --git a/src/Libraries/DockPanel_Src/DockSample/MainForm2.Designer.cs b/src/Libraries/DockPanel_Src/DockSample/MainForm2.Designer.cs new file mode 100644 index 0000000000..073f668207 --- /dev/null +++ b/src/Libraries/DockPanel_Src/DockSample/MainForm2.Designer.cs @@ -0,0 +1,635 @@ +namespace DockSample +{ + partial class MainForm2 + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.components = new System.ComponentModel.Container(); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm2)); + this.mainMenu = new System.Windows.Forms.MenuStrip(); + this.menuItemFile = new System.Windows.Forms.ToolStripMenuItem(); + this.menuItemNew = new System.Windows.Forms.ToolStripMenuItem(); + this.menuItemOpen = new System.Windows.Forms.ToolStripMenuItem(); + this.menuItemClose = new System.Windows.Forms.ToolStripMenuItem(); + this.menuItemCloseAll = new System.Windows.Forms.ToolStripMenuItem(); + this.menuItemCloseAllButThisOne = new System.Windows.Forms.ToolStripMenuItem(); + this.menuItem4 = new System.Windows.Forms.ToolStripSeparator(); + this.menuItemExit = new System.Windows.Forms.ToolStripMenuItem(); + this.exitWithoutSavingLayout = new System.Windows.Forms.ToolStripMenuItem(); + this.menuItemView = new System.Windows.Forms.ToolStripMenuItem(); + this.menuItemSolutionExplorer = new System.Windows.Forms.ToolStripMenuItem(); + this.menuItemPropertyWindow = new System.Windows.Forms.ToolStripMenuItem(); + this.menuItemToolbox = new System.Windows.Forms.ToolStripMenuItem(); + this.menuItemOutputWindow = new System.Windows.Forms.ToolStripMenuItem(); + this.menuItemTaskList = new System.Windows.Forms.ToolStripMenuItem(); + this.menuItem1 = new System.Windows.Forms.ToolStripSeparator(); + this.menuItemToolBar = new System.Windows.Forms.ToolStripMenuItem(); + this.menuItemStatusBar = new System.Windows.Forms.ToolStripMenuItem(); + this.menuItem2 = new System.Windows.Forms.ToolStripSeparator(); + this.menuItemLayoutByCode = new System.Windows.Forms.ToolStripMenuItem(); + this.menuItemLayoutByXml = new System.Windows.Forms.ToolStripMenuItem(); + this.menuItemTools = new System.Windows.Forms.ToolStripMenuItem(); + this.menuItemLockLayout = new System.Windows.Forms.ToolStripMenuItem(); + this.menuItemShowDocumentIcon = new System.Windows.Forms.ToolStripMenuItem(); + this.menuItem3 = new System.Windows.Forms.ToolStripSeparator(); + this.menuItemSchemaVS2005 = new System.Windows.Forms.ToolStripMenuItem(); + this.menuItemSchemaVS2003 = new System.Windows.Forms.ToolStripMenuItem(); + this.menuItem6 = new System.Windows.Forms.ToolStripSeparator(); + this.menuItemDockingMdi = new System.Windows.Forms.ToolStripMenuItem(); + this.menuItemDockingSdi = new System.Windows.Forms.ToolStripMenuItem(); + this.menuItemDockingWindow = new System.Windows.Forms.ToolStripMenuItem(); + this.menuItemSystemMdi = new System.Windows.Forms.ToolStripMenuItem(); + this.menuItem5 = new System.Windows.Forms.ToolStripSeparator(); + this.showRightToLeft = new System.Windows.Forms.ToolStripMenuItem(); + this.menuItemWindow = new System.Windows.Forms.ToolStripMenuItem(); + this.menuItemNewWindow = new System.Windows.Forms.ToolStripMenuItem(); + this.menuItemHelp = new System.Windows.Forms.ToolStripMenuItem(); + this.menuItemAbout = new System.Windows.Forms.ToolStripMenuItem(); + this.imageList = new System.Windows.Forms.ImageList(this.components); + this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); + this.toolBar = new System.Windows.Forms.ToolStrip(); + this.toolBarButtonNew = new System.Windows.Forms.ToolStripButton(); + this.toolBarButtonOpen = new System.Windows.Forms.ToolStripButton(); + this.toolBarButtonSeparator1 = new System.Windows.Forms.ToolStripSeparator(); + this.toolBarButtonSolutionExplorer = new System.Windows.Forms.ToolStripButton(); + this.toolBarButtonPropertyWindow = new System.Windows.Forms.ToolStripButton(); + this.toolBarButtonToolbox = new System.Windows.Forms.ToolStripButton(); + this.toolBarButtonOutputWindow = new System.Windows.Forms.ToolStripButton(); + this.toolBarButtonTaskList = new System.Windows.Forms.ToolStripButton(); + this.toolBarButtonSeparator2 = new System.Windows.Forms.ToolStripSeparator(); + this.toolBarButtonLayoutByCode = new System.Windows.Forms.ToolStripButton(); + this.toolBarButtonLayoutByXml = new System.Windows.Forms.ToolStripButton(); + this.dockPanel = new WeifenLuo.WinFormsUI.Docking.DockPanel(); + this.statusBar = new System.Windows.Forms.StatusStrip(); + this.mainMenu.SuspendLayout(); + this.tableLayoutPanel1.SuspendLayout(); + this.toolBar.SuspendLayout(); + this.SuspendLayout(); + // + // mainMenu + // + this.mainMenu.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.menuItemFile, + this.menuItemView, + this.menuItemTools, + this.menuItemWindow, + this.menuItemHelp}); + this.mainMenu.Location = new System.Drawing.Point(0, 0); + this.mainMenu.MdiWindowListItem = this.menuItemWindow; + this.mainMenu.Name = "mainMenu"; + this.mainMenu.Size = new System.Drawing.Size(579, 24); + this.mainMenu.TabIndex = 7; + // + // menuItemFile + // + this.menuItemFile.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.menuItemNew, + this.menuItemOpen, + this.menuItemClose, + this.menuItemCloseAll, + this.menuItemCloseAllButThisOne, + this.menuItem4, + this.menuItemExit, + this.exitWithoutSavingLayout}); + this.menuItemFile.Name = "menuItemFile"; + this.menuItemFile.Size = new System.Drawing.Size(35, 20); + this.menuItemFile.Text = "&File"; + this.menuItemFile.DropDownOpening += new System.EventHandler(this.menuItemFile_Popup); + // + // menuItemNew + // + this.menuItemNew.Name = "menuItemNew"; + this.menuItemNew.Size = new System.Drawing.Size(204, 22); + this.menuItemNew.Text = "&New"; + this.menuItemNew.Click += new System.EventHandler(this.menuItemNew_Click); + // + // menuItemOpen + // + this.menuItemOpen.Name = "menuItemOpen"; + this.menuItemOpen.Size = new System.Drawing.Size(204, 22); + this.menuItemOpen.Text = "&Open..."; + this.menuItemOpen.Click += new System.EventHandler(this.menuItemOpen_Click); + // + // menuItemClose + // + this.menuItemClose.Name = "menuItemClose"; + this.menuItemClose.Size = new System.Drawing.Size(204, 22); + this.menuItemClose.Text = "&Close"; + this.menuItemClose.Click += new System.EventHandler(this.menuItemClose_Click); + // + // menuItemCloseAll + // + this.menuItemCloseAll.Name = "menuItemCloseAll"; + this.menuItemCloseAll.Size = new System.Drawing.Size(204, 22); + this.menuItemCloseAll.Text = "Close &All"; + this.menuItemCloseAll.Click += new System.EventHandler(this.menuItemCloseAll_Click); + // + // menuItemCloseAllButThisOne + // + this.menuItemCloseAllButThisOne.Name = "menuItemCloseAllButThisOne"; + this.menuItemCloseAllButThisOne.Size = new System.Drawing.Size(204, 22); + this.menuItemCloseAllButThisOne.Text = "Close All &But This One"; + this.menuItemCloseAllButThisOne.Click += new System.EventHandler(this.menuItemCloseAllButThisOne_Click); + // + // menuItem4 + // + this.menuItem4.Name = "menuItem4"; + this.menuItem4.Size = new System.Drawing.Size(201, 6); + // + // menuItemExit + // + this.menuItemExit.Name = "menuItemExit"; + this.menuItemExit.Size = new System.Drawing.Size(204, 22); + this.menuItemExit.Text = "&Exit"; + this.menuItemExit.Click += new System.EventHandler(this.menuItemExit_Click); + // + // exitWithoutSavingLayout + // + this.exitWithoutSavingLayout.Name = "exitWithoutSavingLayout"; + this.exitWithoutSavingLayout.Size = new System.Drawing.Size(204, 22); + this.exitWithoutSavingLayout.Text = "Exit &Without Saving Layout"; + this.exitWithoutSavingLayout.Click += new System.EventHandler(this.exitWithoutSavingLayout_Click); + // + // menuItemView + // + this.menuItemView.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.menuItemSolutionExplorer, + this.menuItemPropertyWindow, + this.menuItemToolbox, + this.menuItemOutputWindow, + this.menuItemTaskList, + this.menuItem1, + this.menuItemToolBar, + this.menuItemStatusBar, + this.menuItem2, + this.menuItemLayoutByCode, + this.menuItemLayoutByXml}); + this.menuItemView.MergeIndex = 1; + this.menuItemView.Name = "menuItemView"; + this.menuItemView.Size = new System.Drawing.Size(41, 20); + this.menuItemView.Text = "&View"; + // + // menuItemSolutionExplorer + // + this.menuItemSolutionExplorer.Name = "menuItemSolutionExplorer"; + this.menuItemSolutionExplorer.Size = new System.Drawing.Size(176, 22); + this.menuItemSolutionExplorer.Text = "&Solution Explorer"; + this.menuItemSolutionExplorer.Click += new System.EventHandler(this.menuItemSolutionExplorer_Click); + // + // menuItemPropertyWindow + // + this.menuItemPropertyWindow.Name = "menuItemPropertyWindow"; + this.menuItemPropertyWindow.ShortcutKeys = System.Windows.Forms.Keys.F4; + this.menuItemPropertyWindow.Size = new System.Drawing.Size(176, 22); + this.menuItemPropertyWindow.Text = "&Property Window"; + this.menuItemPropertyWindow.Click += new System.EventHandler(this.menuItemPropertyWindow_Click); + // + // menuItemToolbox + // + this.menuItemToolbox.Name = "menuItemToolbox"; + this.menuItemToolbox.Size = new System.Drawing.Size(176, 22); + this.menuItemToolbox.Text = "&Toolbox"; + this.menuItemToolbox.Click += new System.EventHandler(this.menuItemToolbox_Click); + // + // menuItemOutputWindow + // + this.menuItemOutputWindow.Name = "menuItemOutputWindow"; + this.menuItemOutputWindow.Size = new System.Drawing.Size(176, 22); + this.menuItemOutputWindow.Text = "&Output Window"; + this.menuItemOutputWindow.Click += new System.EventHandler(this.menuItemOutputWindow_Click); + // + // menuItemTaskList + // + this.menuItemTaskList.Name = "menuItemTaskList"; + this.menuItemTaskList.Size = new System.Drawing.Size(176, 22); + this.menuItemTaskList.Text = "Task &List"; + this.menuItemTaskList.Click += new System.EventHandler(this.menuItemTaskList_Click); + // + // menuItem1 + // + this.menuItem1.Name = "menuItem1"; + this.menuItem1.Size = new System.Drawing.Size(173, 6); + // + // menuItemToolBar + // + this.menuItemToolBar.Checked = true; + this.menuItemToolBar.CheckState = System.Windows.Forms.CheckState.Checked; + this.menuItemToolBar.Name = "menuItemToolBar"; + this.menuItemToolBar.Size = new System.Drawing.Size(176, 22); + this.menuItemToolBar.Text = "Tool &Bar"; + this.menuItemToolBar.Click += new System.EventHandler(this.menuItemToolBar_Click); + // + // menuItemStatusBar + // + this.menuItemStatusBar.Checked = true; + this.menuItemStatusBar.CheckState = System.Windows.Forms.CheckState.Checked; + this.menuItemStatusBar.Name = "menuItemStatusBar"; + this.menuItemStatusBar.Size = new System.Drawing.Size(176, 22); + this.menuItemStatusBar.Text = "Status B&ar"; + this.menuItemStatusBar.Click += new System.EventHandler(this.menuItemStatusBar_Click); + // + // menuItem2 + // + this.menuItem2.Name = "menuItem2"; + this.menuItem2.Size = new System.Drawing.Size(173, 6); + // + // menuItemLayoutByCode + // + this.menuItemLayoutByCode.Name = "menuItemLayoutByCode"; + this.menuItemLayoutByCode.Size = new System.Drawing.Size(176, 22); + this.menuItemLayoutByCode.Text = "Layout By &Code"; + this.menuItemLayoutByCode.Click += new System.EventHandler(this.menuItemLayoutByCode_Click); + // + // menuItemLayoutByXml + // + this.menuItemLayoutByXml.Name = "menuItemLayoutByXml"; + this.menuItemLayoutByXml.Size = new System.Drawing.Size(176, 22); + this.menuItemLayoutByXml.Text = "Layout By &XML"; + this.menuItemLayoutByXml.Click += new System.EventHandler(this.menuItemLayoutByXml_Click); + // + // menuItemTools + // + this.menuItemTools.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.menuItemLockLayout, + this.menuItemShowDocumentIcon, + this.menuItem3, + this.menuItemSchemaVS2005, + this.menuItemSchemaVS2003, + this.menuItem6, + this.menuItemDockingMdi, + this.menuItemDockingSdi, + this.menuItemDockingWindow, + this.menuItemSystemMdi, + this.menuItem5, + this.showRightToLeft}); + this.menuItemTools.MergeIndex = 2; + this.menuItemTools.Name = "menuItemTools"; + this.menuItemTools.Size = new System.Drawing.Size(44, 20); + this.menuItemTools.Text = "&Tools"; + this.menuItemTools.DropDownOpening += new System.EventHandler(this.menuItemTools_Popup); + // + // menuItemLockLayout + // + this.menuItemLockLayout.Name = "menuItemLockLayout"; + this.menuItemLockLayout.Size = new System.Drawing.Size(234, 22); + this.menuItemLockLayout.Text = "&Lock Layout"; + this.menuItemLockLayout.Click += new System.EventHandler(this.menuItemLockLayout_Click); + // + // menuItemShowDocumentIcon + // + this.menuItemShowDocumentIcon.Name = "menuItemShowDocumentIcon"; + this.menuItemShowDocumentIcon.Size = new System.Drawing.Size(234, 22); + this.menuItemShowDocumentIcon.Text = "&Show Document Icon"; + this.menuItemShowDocumentIcon.Click += new System.EventHandler(this.menuItemShowDocumentIcon_Click); + // + // menuItem3 + // + this.menuItem3.Name = "menuItem3"; + this.menuItem3.Size = new System.Drawing.Size(231, 6); + // + // menuItemSchemaVS2005 + // + this.menuItemSchemaVS2005.Checked = true; + this.menuItemSchemaVS2005.CheckState = System.Windows.Forms.CheckState.Checked; + this.menuItemSchemaVS2005.Name = "menuItemSchemaVS2005"; + this.menuItemSchemaVS2005.Size = new System.Drawing.Size(234, 22); + this.menuItemSchemaVS2005.Text = "Schema: VS200&5"; + this.menuItemSchemaVS2005.Click += new System.EventHandler(this.SetSchema); + // + // menuItemSchemaVS2003 + // + this.menuItemSchemaVS2003.Name = "menuItemSchemaVS2003"; + this.menuItemSchemaVS2003.Size = new System.Drawing.Size(234, 22); + this.menuItemSchemaVS2003.Text = "Schema: VS200&3"; + this.menuItemSchemaVS2003.Click += new System.EventHandler(this.SetSchema); + // + // menuItem6 + // + this.menuItem6.Name = "menuItem6"; + this.menuItem6.Size = new System.Drawing.Size(231, 6); + // + // menuItemDockingMdi + // + this.menuItemDockingMdi.Checked = true; + this.menuItemDockingMdi.CheckState = System.Windows.Forms.CheckState.Checked; + this.menuItemDockingMdi.Name = "menuItemDockingMdi"; + this.menuItemDockingMdi.Size = new System.Drawing.Size(234, 22); + this.menuItemDockingMdi.Text = "Document Style: Docking &MDI"; + this.menuItemDockingMdi.Click += new System.EventHandler(this.SetDocumentStyle); + // + // menuItemDockingSdi + // + this.menuItemDockingSdi.Name = "menuItemDockingSdi"; + this.menuItemDockingSdi.Size = new System.Drawing.Size(234, 22); + this.menuItemDockingSdi.Text = "Document Style: Docking &SDI"; + this.menuItemDockingSdi.Click += new System.EventHandler(this.SetDocumentStyle); + // + // menuItemDockingWindow + // + this.menuItemDockingWindow.Name = "menuItemDockingWindow"; + this.menuItemDockingWindow.Size = new System.Drawing.Size(234, 22); + this.menuItemDockingWindow.Text = "Document Style: Docking &Window"; + this.menuItemDockingWindow.Click += new System.EventHandler(this.SetDocumentStyle); + // + // menuItemSystemMdi + // + this.menuItemSystemMdi.Name = "menuItemSystemMdi"; + this.menuItemSystemMdi.Size = new System.Drawing.Size(234, 22); + this.menuItemSystemMdi.Text = "Document Style: S&ystem MDI"; + this.menuItemSystemMdi.Click += new System.EventHandler(this.SetDocumentStyle); + // + // menuItem5 + // + this.menuItem5.Name = "menuItem5"; + this.menuItem5.Size = new System.Drawing.Size(231, 6); + // + // showRightToLeft + // + this.showRightToLeft.Name = "showRightToLeft"; + this.showRightToLeft.Size = new System.Drawing.Size(234, 22); + this.showRightToLeft.Text = "Show &Right-To-Left"; + this.showRightToLeft.Click += new System.EventHandler(this.showRightToLeft_Click); + // + // menuItemWindow + // + this.menuItemWindow.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.menuItemNewWindow}); + this.menuItemWindow.MergeIndex = 2; + this.menuItemWindow.Name = "menuItemWindow"; + this.menuItemWindow.Size = new System.Drawing.Size(57, 20); + this.menuItemWindow.Text = "&Window"; + // + // menuItemNewWindow + // + this.menuItemNewWindow.Name = "menuItemNewWindow"; + this.menuItemNewWindow.Size = new System.Drawing.Size(136, 22); + this.menuItemNewWindow.Text = "&New Window"; + this.menuItemNewWindow.Click += new System.EventHandler(this.menuItemNewWindow_Click); + // + // menuItemHelp + // + this.menuItemHelp.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.menuItemAbout}); + this.menuItemHelp.MergeIndex = 3; + this.menuItemHelp.Name = "menuItemHelp"; + this.menuItemHelp.Size = new System.Drawing.Size(40, 20); + this.menuItemHelp.Text = "&Help"; + // + // menuItemAbout + // + this.menuItemAbout.Name = "menuItemAbout"; + this.menuItemAbout.Size = new System.Drawing.Size(175, 22); + this.menuItemAbout.Text = "&About DockSample..."; + this.menuItemAbout.Click += new System.EventHandler(this.menuItemAbout_Click); + // + // imageList + // + this.imageList.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("imageList.ImageStream"))); + this.imageList.TransparentColor = System.Drawing.Color.Transparent; + this.imageList.Images.SetKeyName(0, ""); + this.imageList.Images.SetKeyName(1, ""); + this.imageList.Images.SetKeyName(2, ""); + this.imageList.Images.SetKeyName(3, ""); + this.imageList.Images.SetKeyName(4, ""); + this.imageList.Images.SetKeyName(5, ""); + this.imageList.Images.SetKeyName(6, ""); + this.imageList.Images.SetKeyName(7, ""); + this.imageList.Images.SetKeyName(8, ""); + // + // tableLayoutPanel1 + // + this.tableLayoutPanel1.ColumnCount = 1; + this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F)); + this.tableLayoutPanel1.Controls.Add(this.toolBar, 0, 0); + this.tableLayoutPanel1.Controls.Add(this.dockPanel, 0, 1); + this.tableLayoutPanel1.Controls.Add(this.statusBar, 0, 2); + this.tableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill; + this.tableLayoutPanel1.Location = new System.Drawing.Point(0, 24); + this.tableLayoutPanel1.Name = "tableLayoutPanel1"; + this.tableLayoutPanel1.RowCount = 2; + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle()); + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F)); + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle()); + this.tableLayoutPanel1.Size = new System.Drawing.Size(579, 385); + this.tableLayoutPanel1.TabIndex = 9; + // + // toolBar + // + this.toolBar.ImageList = this.imageList; + this.toolBar.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.toolBarButtonNew, + this.toolBarButtonOpen, + this.toolBarButtonSeparator1, + this.toolBarButtonSolutionExplorer, + this.toolBarButtonPropertyWindow, + this.toolBarButtonToolbox, + this.toolBarButtonOutputWindow, + this.toolBarButtonTaskList, + this.toolBarButtonSeparator2, + this.toolBarButtonLayoutByCode, + this.toolBarButtonLayoutByXml}); + this.toolBar.Location = new System.Drawing.Point(0, 0); + this.toolBar.Name = "toolBar"; + this.toolBar.Size = new System.Drawing.Size(579, 25); + this.toolBar.TabIndex = 7; + // + // toolBarButtonNew + // + this.toolBarButtonNew.ImageIndex = 0; + this.toolBarButtonNew.Name = "toolBarButtonNew"; + this.toolBarButtonNew.Size = new System.Drawing.Size(23, 22); + this.toolBarButtonNew.ToolTipText = "Show Layout From XML"; + // + // toolBarButtonOpen + // + this.toolBarButtonOpen.ImageIndex = 1; + this.toolBarButtonOpen.Name = "toolBarButtonOpen"; + this.toolBarButtonOpen.Size = new System.Drawing.Size(23, 22); + this.toolBarButtonOpen.ToolTipText = "Open"; + // + // toolBarButtonSeparator1 + // + this.toolBarButtonSeparator1.Name = "toolBarButtonSeparator1"; + this.toolBarButtonSeparator1.Size = new System.Drawing.Size(6, 25); + // + // toolBarButtonSolutionExplorer + // + this.toolBarButtonSolutionExplorer.ImageIndex = 2; + this.toolBarButtonSolutionExplorer.Name = "toolBarButtonSolutionExplorer"; + this.toolBarButtonSolutionExplorer.Size = new System.Drawing.Size(23, 22); + this.toolBarButtonSolutionExplorer.ToolTipText = "Solution Explorer"; + // + // toolBarButtonPropertyWindow + // + this.toolBarButtonPropertyWindow.ImageIndex = 3; + this.toolBarButtonPropertyWindow.Name = "toolBarButtonPropertyWindow"; + this.toolBarButtonPropertyWindow.Size = new System.Drawing.Size(23, 22); + this.toolBarButtonPropertyWindow.ToolTipText = "Property Window"; + // + // toolBarButtonToolbox + // + this.toolBarButtonToolbox.ImageIndex = 4; + this.toolBarButtonToolbox.Name = "toolBarButtonToolbox"; + this.toolBarButtonToolbox.Size = new System.Drawing.Size(23, 22); + this.toolBarButtonToolbox.ToolTipText = "Tool Box"; + // + // toolBarButtonOutputWindow + // + this.toolBarButtonOutputWindow.ImageIndex = 5; + this.toolBarButtonOutputWindow.Name = "toolBarButtonOutputWindow"; + this.toolBarButtonOutputWindow.Size = new System.Drawing.Size(23, 22); + this.toolBarButtonOutputWindow.ToolTipText = "Output Window"; + // + // toolBarButtonTaskList + // + this.toolBarButtonTaskList.ImageIndex = 6; + this.toolBarButtonTaskList.Name = "toolBarButtonTaskList"; + this.toolBarButtonTaskList.Size = new System.Drawing.Size(23, 22); + this.toolBarButtonTaskList.ToolTipText = "Task List"; + // + // toolBarButtonSeparator2 + // + this.toolBarButtonSeparator2.Name = "toolBarButtonSeparator2"; + this.toolBarButtonSeparator2.Size = new System.Drawing.Size(6, 25); + // + // toolBarButtonLayoutByCode + // + this.toolBarButtonLayoutByCode.ImageIndex = 7; + this.toolBarButtonLayoutByCode.Name = "toolBarButtonLayoutByCode"; + this.toolBarButtonLayoutByCode.Size = new System.Drawing.Size(23, 22); + this.toolBarButtonLayoutByCode.ToolTipText = "Show Layout By Code"; + // + // toolBarButtonLayoutByXml + // + this.toolBarButtonLayoutByXml.ImageIndex = 8; + this.toolBarButtonLayoutByXml.Name = "toolBarButtonLayoutByXml"; + this.toolBarButtonLayoutByXml.Size = new System.Drawing.Size(23, 22); + this.toolBarButtonLayoutByXml.ToolTipText = "Show layout by predefined XML file"; + // + // dockPanel + // + this.dockPanel.ActiveAutoHideContent = null; + this.dockPanel.Dock = System.Windows.Forms.DockStyle.Fill; + this.dockPanel.DockBottomPortion = 150; + this.dockPanel.DockLeftPortion = 200; + this.dockPanel.DockRightPortion = 200; + this.dockPanel.DockTopPortion = 150; + this.dockPanel.DocumentStyle = WeifenLuo.WinFormsUI.Docking.DocumentStyle.DockingWindow; + this.dockPanel.Font = new System.Drawing.Font("Tahoma", 11F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.World, ((byte)(0))); + this.dockPanel.Location = new System.Drawing.Point(3, 28); + this.dockPanel.Name = "dockPanel"; + this.dockPanel.RightToLeftLayout = true; + this.dockPanel.Size = new System.Drawing.Size(573, 332); + this.dockPanel.TabIndex = 10; + // + // statusBar + // + this.statusBar.Location = new System.Drawing.Point(0, 363); + this.statusBar.Name = "statusBar"; + this.statusBar.Size = new System.Drawing.Size(579, 22); + this.statusBar.TabIndex = 8; + // + // MainForm2 + // + this.ClientSize = new System.Drawing.Size(579, 409); + this.Controls.Add(this.tableLayoutPanel1); + this.Controls.Add(this.mainMenu); + this.IsMdiContainer = true; + this.MainMenuStrip = this.mainMenu; + this.Name = "MainForm2"; + this.Text = "DockSample"; + this.WindowState = System.Windows.Forms.FormWindowState.Maximized; + this.Closing += new System.ComponentModel.CancelEventHandler(this.MainForm_Closing); + this.Load += new System.EventHandler(this.MainForm_Load); + this.mainMenu.ResumeLayout(false); + this.mainMenu.PerformLayout(); + this.tableLayoutPanel1.ResumeLayout(false); + this.tableLayoutPanel1.PerformLayout(); + this.toolBar.ResumeLayout(false); + this.toolBar.PerformLayout(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + #endregion + + private System.Windows.Forms.ImageList imageList; + private System.Windows.Forms.MenuStrip mainMenu; + private System.Windows.Forms.ToolStripMenuItem menuItemFile; + private System.Windows.Forms.ToolStripMenuItem menuItemNew; + private System.Windows.Forms.ToolStripMenuItem menuItemOpen; + private System.Windows.Forms.ToolStripMenuItem menuItemClose; + private System.Windows.Forms.ToolStripMenuItem menuItemCloseAll; + private System.Windows.Forms.ToolStripMenuItem menuItemCloseAllButThisOne; + private System.Windows.Forms.ToolStripSeparator menuItem4; + private System.Windows.Forms.ToolStripMenuItem menuItemExit; + private System.Windows.Forms.ToolStripMenuItem menuItemView; + private System.Windows.Forms.ToolStripMenuItem menuItemSolutionExplorer; + private System.Windows.Forms.ToolStripMenuItem menuItemPropertyWindow; + private System.Windows.Forms.ToolStripMenuItem menuItemToolbox; + private System.Windows.Forms.ToolStripMenuItem menuItemOutputWindow; + private System.Windows.Forms.ToolStripMenuItem menuItemTaskList; + private System.Windows.Forms.ToolStripSeparator menuItem1; + private System.Windows.Forms.ToolStripMenuItem menuItemToolBar; + private System.Windows.Forms.ToolStripMenuItem menuItemStatusBar; + private System.Windows.Forms.ToolStripSeparator menuItem2; + private System.Windows.Forms.ToolStripMenuItem menuItemLayoutByCode; + private System.Windows.Forms.ToolStripMenuItem menuItemLayoutByXml; + private System.Windows.Forms.ToolStripMenuItem menuItemTools; + private System.Windows.Forms.ToolStripMenuItem menuItemLockLayout; + private System.Windows.Forms.ToolStripSeparator menuItem3; + private System.Windows.Forms.ToolStripMenuItem menuItemSchemaVS2005; + private System.Windows.Forms.ToolStripMenuItem menuItemSchemaVS2003; + private System.Windows.Forms.ToolStripSeparator menuItem6; + private System.Windows.Forms.ToolStripMenuItem menuItemDockingMdi; + private System.Windows.Forms.ToolStripMenuItem menuItemDockingSdi; + private System.Windows.Forms.ToolStripMenuItem menuItemDockingWindow; + private System.Windows.Forms.ToolStripMenuItem menuItemSystemMdi; + private System.Windows.Forms.ToolStripSeparator menuItem5; + private System.Windows.Forms.ToolStripMenuItem menuItemShowDocumentIcon; + private System.Windows.Forms.ToolStripMenuItem menuItemWindow; + private System.Windows.Forms.ToolStripMenuItem menuItemNewWindow; + private System.Windows.Forms.ToolStripMenuItem menuItemHelp; + private System.Windows.Forms.ToolStripMenuItem menuItemAbout; + private System.Windows.Forms.ToolStripMenuItem showRightToLeft; + private System.Windows.Forms.ToolStripMenuItem exitWithoutSavingLayout; + private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1; + private WeifenLuo.WinFormsUI.Docking.DockPanel dockPanel; + private System.Windows.Forms.StatusStrip statusBar; + private System.Windows.Forms.ToolStrip toolBar; + private System.Windows.Forms.ToolStripButton toolBarButtonNew; + private System.Windows.Forms.ToolStripButton toolBarButtonOpen; + private System.Windows.Forms.ToolStripSeparator toolBarButtonSeparator1; + private System.Windows.Forms.ToolStripButton toolBarButtonSolutionExplorer; + private System.Windows.Forms.ToolStripButton toolBarButtonPropertyWindow; + private System.Windows.Forms.ToolStripButton toolBarButtonToolbox; + private System.Windows.Forms.ToolStripButton toolBarButtonOutputWindow; + private System.Windows.Forms.ToolStripButton toolBarButtonTaskList; + private System.Windows.Forms.ToolStripSeparator toolBarButtonSeparator2; + private System.Windows.Forms.ToolStripButton toolBarButtonLayoutByCode; + private System.Windows.Forms.ToolStripButton toolBarButtonLayoutByXml; + } +} \ No newline at end of file diff --git a/src/Libraries/DockPanel_Src/DockSample/MainForm2.cs b/src/Libraries/DockPanel_Src/DockSample/MainForm2.cs new file mode 100644 index 0000000000..dfe83880cb --- /dev/null +++ b/src/Libraries/DockPanel_Src/DockSample/MainForm2.cs @@ -0,0 +1,443 @@ +using System; +using System.Drawing; +using System.Collections; +using System.ComponentModel; +using System.Reflection; +using System.Windows.Forms; +using System.IO; +using WeifenLuo.WinFormsUI.Docking; +using DockSample.Customization; + +namespace DockSample +{ + public partial class MainForm2 : Form + { + private bool m_bSaveLayout = true; + private DeserializeDockContent m_deserializeDockContent; + private DummySolutionExplorer m_solutionExplorer = new DummySolutionExplorer(); + private DummyPropertyWindow m_propertyWindow = new DummyPropertyWindow(); + private DummyToolbox m_toolbox = new DummyToolbox(); + private DummyOutputWindow m_outputWindow = new DummyOutputWindow(); + private DummyTaskList m_taskList = new DummyTaskList(); + + public MainForm2() + { + InitializeComponent(); + showRightToLeft.Checked = (RightToLeft == RightToLeft.Yes); + RightToLeftLayout = showRightToLeft.Checked; + m_solutionExplorer = new DummySolutionExplorer(); + m_solutionExplorer.RightToLeftLayout = RightToLeftLayout; + m_deserializeDockContent = new DeserializeDockContent(GetContentFromPersistString); + } + + private void menuItemExit_Click(object sender, System.EventArgs e) + { + Close(); + } + + private void menuItemSolutionExplorer_Click(object sender, System.EventArgs e) + { + m_solutionExplorer.Show(dockPanel); + } + + private void menuItemPropertyWindow_Click(object sender, System.EventArgs e) + { + m_propertyWindow.Show(dockPanel); + } + + private void menuItemToolbox_Click(object sender, System.EventArgs e) + { + m_toolbox.Show(dockPanel); + } + + private void menuItemOutputWindow_Click(object sender, System.EventArgs e) + { + m_outputWindow.Show(dockPanel); + } + + private void menuItemTaskList_Click(object sender, System.EventArgs e) + { + m_taskList.Show(dockPanel); + } + + private void menuItemAbout_Click(object sender, System.EventArgs e) + { + AboutDialog aboutDialog = new AboutDialog(); + aboutDialog.ShowDialog(this); + } + + private IDockContent FindDocument(string text) + { + if (dockPanel.DocumentStyle == DocumentStyle.SystemMdi) + { + foreach (Form form in MdiChildren) + if (form.Text == text) + return form as IDockContent; + + return null; + } + else + { + foreach (IDockContent content in dockPanel.Documents) + if (content.DockHandler.TabText == text) + return content; + + return null; + } + } + + private void menuItemNew_Click(object sender, System.EventArgs e) + { + DummyDoc dummyDoc = CreateNewDocument(); + if (dockPanel.DocumentStyle == DocumentStyle.SystemMdi) + { + dummyDoc.MdiParent = this; + dummyDoc.Show(); + } + else + dummyDoc.Show(dockPanel); + } + + private DummyDoc CreateNewDocument() + { + DummyDoc dummyDoc = new DummyDoc(); + + int count = 1; + //string text = "C:\\MADFDKAJ\\ADAKFJASD\\ADFKDSAKFJASD\\ASDFKASDFJASDF\\ASDFIJADSFJ\\ASDFKDFDA" + count.ToString(); + string text = "Document" + count.ToString(); + while (FindDocument(text) != null) + { + count ++; + //text = "C:\\MADFDKAJ\\ADAKFJASD\\ADFKDSAKFJASD\\ASDFKASDFJASDF\\ASDFIJADSFJ\\ASDFKDFDA" + count.ToString(); + text = "Document" + count.ToString(); + } + dummyDoc.Text = text; + return dummyDoc; + } + + private DummyDoc CreateNewDocument(string text) + { + DummyDoc dummyDoc = new DummyDoc(); + dummyDoc.Text = text; + return dummyDoc; + } + + private void menuItemOpen_Click(object sender, System.EventArgs e) + { + OpenFileDialog openFile = new OpenFileDialog(); + + openFile.InitialDirectory = Application.ExecutablePath; + openFile.Filter = "rtf files (*.rtf)|*.rtf|txt files (*.txt)|*.txt|All files (*.*)|*.*" ; + openFile.FilterIndex = 1; + openFile.RestoreDirectory = true ; + + if(openFile.ShowDialog() == DialogResult.OK) + { + string fullName = openFile.FileName; + string fileName = Path.GetFileName(fullName); + + if (FindDocument(fileName) != null) + { + MessageBox.Show("The document: " + fileName + " has already opened!"); + return; + } + + DummyDoc dummyDoc = new DummyDoc(); + dummyDoc.Text = fileName; + dummyDoc.Show(dockPanel); + try + { + dummyDoc.FileName = fullName; + } + catch (Exception exception) + { + dummyDoc.Close(); + MessageBox.Show(exception.Message); + } + + } + } + + private void menuItemFile_Popup(object sender, System.EventArgs e) + { + if (dockPanel.DocumentStyle == DocumentStyle.SystemMdi) + { + menuItemClose.Enabled = menuItemCloseAll.Enabled = (ActiveMdiChild != null); + } + else + { + menuItemClose.Enabled = (dockPanel.ActiveDocument != null); + menuItemCloseAll.Enabled = (dockPanel.DocumentsCount > 0); + } + } + + private void menuItemClose_Click(object sender, System.EventArgs e) + { + if (dockPanel.DocumentStyle == DocumentStyle.SystemMdi) + ActiveMdiChild.Close(); + else if (dockPanel.ActiveDocument != null) + dockPanel.ActiveDocument.DockHandler.Close(); + } + + private void menuItemCloseAll_Click(object sender, System.EventArgs e) + { + CloseAllDocuments(); + } + + private void CloseAllDocuments() + { + if (dockPanel.DocumentStyle == DocumentStyle.SystemMdi) + { + foreach (Form form in MdiChildren) + form.Close(); + } + else + { + IDockContent[] documents = dockPanel.DocumentsToArray(); + foreach (IDockContent content in documents) + content.DockHandler.Close(); + } + } + + private IDockContent GetContentFromPersistString(string persistString) + { + if (persistString == typeof(DummySolutionExplorer).ToString()) + return m_solutionExplorer; + else if (persistString == typeof(DummyPropertyWindow).ToString()) + return m_propertyWindow; + else if (persistString == typeof(DummyToolbox).ToString()) + return m_toolbox; + else if (persistString == typeof(DummyOutputWindow).ToString()) + return m_outputWindow; + else if (persistString == typeof(DummyTaskList).ToString()) + return m_taskList; + else + { + string[] parsedStrings = persistString.Split(new char[] { ',' }); + if (parsedStrings.Length != 3) + return null; + + if (parsedStrings[0] != typeof(DummyDoc).ToString()) + return null; + + DummyDoc dummyDoc = new DummyDoc(); + if (parsedStrings[1] != string.Empty) + dummyDoc.FileName = parsedStrings[1]; + if (parsedStrings[2] != string.Empty) + dummyDoc.Text = parsedStrings[2]; + + return dummyDoc; + } + } + + private void MainForm_Load(object sender, System.EventArgs e) + { + string configFile = Path.Combine(Path.GetDirectoryName(Application.ExecutablePath), "DockPanel.config"); + + if (File.Exists(configFile)) + dockPanel.LoadFromXml(configFile, m_deserializeDockContent); + } + + private void MainForm_Closing(object sender, System.ComponentModel.CancelEventArgs e) + { + string configFile = Path.Combine(Path.GetDirectoryName(Application.ExecutablePath), "DockPanel.config"); + if (m_bSaveLayout) + dockPanel.SaveAsXml(configFile); + else if (File.Exists(configFile)) + File.Delete(configFile); + } + + private void menuItemToolBar_Click(object sender, System.EventArgs e) + { + toolBar.Visible = menuItemToolBar.Checked = !menuItemToolBar.Checked; + } + + private void menuItemStatusBar_Click(object sender, System.EventArgs e) + { + statusBar.Visible = menuItemStatusBar.Checked = !menuItemStatusBar.Checked; + } + + private void toolBar_ButtonClick(object sender, System.Windows.Forms.ToolStripItemClickedEventArgs e) + { + if (e.ClickedItem == toolBarButtonNew) + menuItemNew_Click(null, null); + else if (e.ClickedItem == toolBarButtonOpen) + menuItemOpen_Click(null, null); + else if (e.ClickedItem == toolBarButtonSolutionExplorer) + menuItemSolutionExplorer_Click(null, null); + else if (e.ClickedItem == toolBarButtonPropertyWindow) + menuItemPropertyWindow_Click(null, null); + else if (e.ClickedItem == toolBarButtonToolbox) + menuItemToolbox_Click(null, null); + else if (e.ClickedItem == toolBarButtonOutputWindow) + menuItemOutputWindow_Click(null, null); + else if (e.ClickedItem == toolBarButtonTaskList) + menuItemTaskList_Click(null, null); + else if (e.ClickedItem == toolBarButtonLayoutByCode) + menuItemLayoutByCode_Click(null, null); + else if (e.ClickedItem == toolBarButtonLayoutByXml) + menuItemLayoutByXml_Click(null, null); + } + + private void menuItemNewWindow_Click(object sender, System.EventArgs e) + { + MainForm newWindow = new MainForm(); + newWindow.Text = newWindow.Text + " - New"; + newWindow.Show(); + } + + private void menuItemTools_Popup(object sender, System.EventArgs e) + { + menuItemLockLayout.Checked = !this.dockPanel.AllowEndUserDocking; + } + + private void menuItemLockLayout_Click(object sender, System.EventArgs e) + { + dockPanel.AllowEndUserDocking = !dockPanel.AllowEndUserDocking; + } + + private void menuItemLayoutByCode_Click(object sender, System.EventArgs e) + { + dockPanel.SuspendLayout(true); + + m_solutionExplorer.Show(dockPanel, DockState.DockRight); + m_propertyWindow.Show(m_solutionExplorer.Pane, m_solutionExplorer); + m_toolbox.Show(dockPanel, new Rectangle(98, 133, 200, 383)); + m_outputWindow.Show(m_solutionExplorer.Pane, DockAlignment.Bottom, 0.35); + m_taskList.Show(m_toolbox.Pane, DockAlignment.Left, 0.4); + + CloseAllDocuments(); + DummyDoc doc1 = CreateNewDocument("Document1"); + DummyDoc doc2 = CreateNewDocument("Document2"); + DummyDoc doc3 = CreateNewDocument("Document3"); + DummyDoc doc4 = CreateNewDocument("Document4"); + doc1.Show(dockPanel, DockState.Document); + doc2.Show(doc1.Pane, null); + doc3.Show(doc1.Pane, DockAlignment.Bottom, 0.5); + doc4.Show(doc3.Pane, DockAlignment.Right, 0.5); + + dockPanel.ResumeLayout(true, true); + } + + private void menuItemLayoutByXml_Click(object sender, System.EventArgs e) + { + dockPanel.SuspendLayout(true); + + // In order to load layout from XML, we need to close all the DockContents + CloseAllContents(); + + Assembly assembly = Assembly.GetAssembly(typeof(MainForm)); + Stream xmlStream = assembly.GetManifestResourceStream("DockSample.Resources.DockPanel.xml"); + dockPanel.LoadFromXml(xmlStream, m_deserializeDockContent); + xmlStream.Close(); + + dockPanel.ResumeLayout(true, true); + } + + private void CloseAllContents() + { + // we don't want to create another instance of tool window, set DockPanel to null + m_solutionExplorer.DockPanel = null; + m_propertyWindow.DockPanel = null; + m_toolbox.DockPanel = null; + m_outputWindow.DockPanel = null; + m_taskList.DockPanel = null; + + // Close all other document windows + CloseAllDocuments(); + } + + private void SetSchema(object sender, System.EventArgs e) + { + CloseAllContents(); + + if (sender == menuItemSchemaVS2005) + Extender.SetSchema(dockPanel, Extender.Schema.VS2005); + else if (sender == menuItemSchemaVS2003) + Extender.SetSchema(dockPanel, Extender.Schema.VS2003); + + menuItemSchemaVS2005.Checked = (sender == menuItemSchemaVS2005); + menuItemSchemaVS2003.Checked = (sender == menuItemSchemaVS2003); + } + + private void SetDocumentStyle(object sender, System.EventArgs e) + { + DocumentStyle oldStyle = dockPanel.DocumentStyle; + DocumentStyle newStyle; + if (sender == menuItemDockingMdi) + newStyle = DocumentStyle.DockingMdi; + else if (sender == menuItemDockingWindow) + newStyle = DocumentStyle.DockingWindow; + else if (sender == menuItemDockingSdi) + newStyle = DocumentStyle.DockingSdi; + else + newStyle = DocumentStyle.SystemMdi; + + if (oldStyle == newStyle) + return; + + if (oldStyle == DocumentStyle.SystemMdi || newStyle == DocumentStyle.SystemMdi) + CloseAllDocuments(); + + dockPanel.DocumentStyle = newStyle; + menuItemDockingMdi.Checked = (newStyle == DocumentStyle.DockingMdi); + menuItemDockingWindow.Checked = (newStyle == DocumentStyle.DockingWindow); + menuItemDockingSdi.Checked = (newStyle == DocumentStyle.DockingSdi); + menuItemSystemMdi.Checked = (newStyle == DocumentStyle.SystemMdi); + menuItemLayoutByCode.Enabled = (newStyle != DocumentStyle.SystemMdi); + menuItemLayoutByXml.Enabled = (newStyle != DocumentStyle.SystemMdi); + toolBarButtonLayoutByCode.Enabled = (newStyle != DocumentStyle.SystemMdi); + toolBarButtonLayoutByXml.Enabled = (newStyle != DocumentStyle.SystemMdi); + } + + private void menuItemCloseAllButThisOne_Click(object sender, System.EventArgs e) + { + if (dockPanel.DocumentStyle == DocumentStyle.SystemMdi) + { + Form activeMdi = ActiveMdiChild; + foreach (Form form in MdiChildren) + { + if (form != activeMdi) + form.Close(); + } + } + else + { + foreach (IDockContent document in dockPanel.DocumentsToArray()) + { + if (!document.DockHandler.IsActivated) + document.DockHandler.Close(); + } + } + } + + private void menuItemShowDocumentIcon_Click(object sender, System.EventArgs e) + { + dockPanel.ShowDocumentIcon = menuItemShowDocumentIcon.Checked= !menuItemShowDocumentIcon.Checked; + } + + private void showRightToLeft_Click(object sender, EventArgs e) + { + CloseAllContents(); + if (showRightToLeft.Checked) + { + this.RightToLeft = RightToLeft.No; + this.RightToLeftLayout = false; + } + else + { + this.RightToLeft = RightToLeft.Yes; + this.RightToLeftLayout = true; + } + m_solutionExplorer.RightToLeftLayout = this.RightToLeftLayout; + showRightToLeft.Checked = !showRightToLeft.Checked; + } + + private void exitWithoutSavingLayout_Click(object sender, EventArgs e) + { + m_bSaveLayout = false; + Close(); + m_bSaveLayout = true; + } + } +} \ No newline at end of file diff --git a/src/Libraries/DockPanel_Src/DockSample/MainForm2.resx b/src/Libraries/DockPanel_Src/DockSample/MainForm2.resx new file mode 100644 index 0000000000..b34fbc3c84 --- /dev/null +++ b/src/Libraries/DockPanel_Src/DockSample/MainForm2.resx @@ -0,0 +1,194 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 120, 12 + + + 24, 9 + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj0yLjAuMC4w + LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 + ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAADY + DAAAAk1TRnQBSQFMAgEBCQEAAQ4BAAEEAQABEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo + AwABQAMAATADAAEBAQABCAYAAQwYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA + AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5 + AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA + AWYDAAGZAwABzAIAATMDAAIzAgABMwFmAgABMwGZAgABMwHMAgABMwH/AgABZgMAAWYBMwIAAmYCAAFm + AZkCAAFmAcwCAAFmAf8CAAGZAwABmQEzAgABmQFmAgACmQIAAZkBzAIAAZkB/wIAAcwDAAHMATMCAAHM + AWYCAAHMAZkCAALMAgABzAH/AgAB/wFmAgAB/wGZAgAB/wHMAQABMwH/AgAB/wEAATMBAAEzAQABZgEA + ATMBAAGZAQABMwEAAcwBAAEzAQAB/wEAAf8BMwIAAzMBAAIzAWYBAAIzAZkBAAIzAcwBAAIzAf8BAAEz + AWYCAAEzAWYBMwEAATMCZgEAATMBZgGZAQABMwFmAcwBAAEzAWYB/wEAATMBmQIAATMBmQEzAQABMwGZ + AWYBAAEzApkBAAEzAZkBzAEAATMBmQH/AQABMwHMAgABMwHMATMBAAEzAcwBZgEAATMBzAGZAQABMwLM + AQABMwHMAf8BAAEzAf8BMwEAATMB/wFmAQABMwH/AZkBAAEzAf8BzAEAATMC/wEAAWYDAAFmAQABMwEA + AWYBAAFmAQABZgEAAZkBAAFmAQABzAEAAWYBAAH/AQABZgEzAgABZgIzAQABZgEzAWYBAAFmATMBmQEA + AWYBMwHMAQABZgEzAf8BAAJmAgACZgEzAQADZgEAAmYBmQEAAmYBzAEAAWYBmQIAAWYBmQEzAQABZgGZ + AWYBAAFmApkBAAFmAZkBzAEAAWYBmQH/AQABZgHMAgABZgHMATMBAAFmAcwBmQEAAWYCzAEAAWYBzAH/ + AQABZgH/AgABZgH/ATMBAAFmAf8BmQEAAWYB/wHMAQABzAEAAf8BAAH/AQABzAEAApkCAAGZATMBmQEA + AZkBAAGZAQABmQEAAcwBAAGZAwABmQIzAQABmQEAAWYBAAGZATMBzAEAAZkBAAH/AQABmQFmAgABmQFm + ATMBAAGZATMBZgEAAZkBZgGZAQABmQFmAcwBAAGZATMB/wEAApkBMwEAApkBZgEAA5kBAAKZAcwBAAKZ + Af8BAAGZAcwCAAGZAcwBMwEAAWYBzAFmAQABmQHMAZkBAAGZAswBAAGZAcwB/wEAAZkB/wIAAZkB/wEz + AQABmQHMAWYBAAGZAf8BmQEAAZkB/wHMAQABmQL/AQABzAMAAZkBAAEzAQABzAEAAWYBAAHMAQABmQEA + AcwBAAHMAQABmQEzAgABzAIzAQABzAEzAWYBAAHMATMBmQEAAcwBMwHMAQABzAEzAf8BAAHMAWYCAAHM + AWYBMwEAAZkCZgEAAcwBZgGZAQABzAFmAcwBAAGZAWYB/wEAAcwBmQIAAcwBmQEzAQABzAGZAWYBAAHM + ApkBAAHMAZkBzAEAAcwBmQH/AQACzAIAAswBMwEAAswBZgEAAswBmQEAA8wBAALMAf8BAAHMAf8CAAHM + Af8BMwEAAZkB/wFmAQABzAH/AZkBAAHMAf8BzAEAAcwC/wEAAcwBAAEzAQAB/wEAAWYBAAH/AQABmQEA + AcwBMwIAAf8CMwEAAf8BMwFmAQAB/wEzAZkBAAH/ATMBzAEAAf8BMwH/AQAB/wFmAgAB/wFmATMBAAHM + AmYBAAH/AWYBmQEAAf8BZgHMAQABzAFmAf8BAAH/AZkCAAH/AZkBMwEAAf8BmQFmAQAB/wKZAQAB/wGZ + AcwBAAH/AZkB/wEAAf8BzAIAAf8BzAEzAQAB/wHMAWYBAAH/AcwBmQEAAf8CzAEAAf8BzAH/AQAC/wEz + AQABzAH/AWYBAAL/AZkBAAL/AcwBAAJmAf8BAAFmAf8BZgEAAWYC/wEAAf8CZgEAAf8BZgH/AQAC/wFm + AQABIQEAAaUBAANfAQADdwEAA4YBAAOWAQADywEAA7IBAAPXAQAD3QEAA+MBAAPqAQAD8QEAA/gBAAHw + AfsB/wEAAaQCoAEAA4ADAAH/AgAB/wMAAv8BAAH/AwAB/wEAAf8BAAL/AgAD/0IAAewMBzMAAewL/wEH + MwAB7AP/BgIC/wEHMwAB7Av/AQczAAHsA/8GAgL/AQczAAHsC/8BBzMAAewB/wEHAQAC/wIAAv8BAAIH + MwAB7AEHAQAC/wEEAQIBBAEAAv8BAAHsMwAB7AH/AQcBAAH/AQIB/gECAQAB/wEAAgczAAHsAv8BBwL/ + AQIBBAT/AQczAAHsCf82AAHsCf8B7AEAAewzAAHsCf8C7DQAC+zmAAHsCwcEAAEBBwABBxcAAewK/wUA + AewK/wEHBQABAQUAAQcJAAr/BQAB7AP/AgcF/wUAAewE/wUHAf8BBwYAAQEDAAEHCgAB/wfsAv8FAAHs + A/8BAQIHBP8FAAHsCv8BBwcAAQEBAAEHCwAK/wUAAewC/wMBAgcD/wUAAewE/wUHAf8BBwgAAQcMAAH/ + COwB/wUAAewB/wIBAf8CAQEHA/8FAAHsAv8BAgf/AQcHAAEHAQABAQsACv8FAAHsBf8BAQHsAQcC/wUA + AewB/wICAf8BAgQHAf8BBwYAAQcDAAEBBAABAwUAAf8HAAL/BQAB7Ab/AQECBwH/BQAB7AL/AwIF/wEH + CwABAQMAAgMEAAr/BQAB7Af/AQEBBwH/BQAB7AH/AgIB/wICBP8BBw0AAgMGAAH/COwB/wUAAewI/wEB + Af8FAAHsAv8DAgT/AgcMAAMDBgAK/wUAAewK/wUAAewC/wECAf8CAgL/DwADAwUADAQEAAHsAv8GAAL/ + BQAB7AT/AQID/wHsAQAB7AoAAgMIAAwEBQAC7AEAAf8DBwEAAuwFAAHsCP8C7CkABOwIAArsqgABBAQA + AQM5AAEEAfwC+QEAAQMC+wQACv8IAAn/BgAJAwkAAewB/AEAA/kBAAL7AQAB+gIAAf8CAAH/BQAB/wgA + Cf8FAAH7AQAJAwUABP8BAAL/A/kCAAH/AfoCAAr/CAAJ/wUAAf8B+wEACQMEAAT/AfoBAAH/AQcD+QEA + Av8CAAH/AgAB/wUAAf8IAAn/BQAB+wH/AfsBAAkDAwAE/wL6Af8B+wEHA/kBAAH8AgAK/wgACf8FAAH/ + AfsB/wH7DAAF/wH6Af8B+wEHAf8C+QEAAfwCAAL/AgAD/wEAAv8IAAn/BQAB+wH/AfsB/wH7Af8B+wH/ + AfsHAAb/AgMD/wEBBAAC/wMAAf8DAAH/BAABBAMACf8FAAH/AfsB/wH7Af8B+wH/AfsB/wcADP8BBwMA + A/8KAAIEAwAJ/wUAAfsB/wH7DQAM/wEHEAACBAMABv8YAAz/AQcQAAIEAwAG/wEAAf8WAAz/AQcQAAIE + AwAG/xgADQQQAAIEIQANBBAAAgRAAAFCAU0BPgcAAT4DAAEoAwABQAMAATADAAEBAQABAQUAAYABARYA + A/8BAAGAAQEGAAGAAQEGAAGAAQEGAAGAAQEGAAGAAQEGAAGAAQEGAAGAAQEGAAGAAQEGAAGAAQEGAAGA + AQEGAAGAAQEGAAGAAQEGAAGAAQsGAAGAAQcGAAGAAQ8GAAL/BgAG/wHAAQEBnwHPAv8B4AEHAcABAQKP + AcABAwHAAQMBwAEBAccBHwHAAQMBwAEDAcABAQHiAT8BwAEDAcABAwHAAQEB8AF/AcABAwHAAQMBwAEB + AfgB/wHAAQMBwAEDAcABAQHwAXsBwAEDAcABAwHAAQEBAgExAcABAwHAAQMBwAEBAQcBAAHAAQMBwAED + AcABAQFnAYEBwAEDAcABAwHAAQEB5wGDAcABAwHAAQMBwAEBAccBAwHAAQMBwAEDAcABCwH8AQcBwAED + AeABBwHAAQcB/gEfAv8B/AE/AcABDxT/AfwBYwEAAQ8BwAEHAQABHwH4AQEBAAEPAcABBwEAAQ8BgAIA + AQ8BwAEHAQABBwGAAgABDwHAAQcBAAEDAYACAAEPAcABBwEAAQEBgAIAAQ8BwAEHAgABgAEBAQABDwHA + AQcBAAEfAYABAwEIAY4BwAEHAQABHwGAAQMBBQFEAcABBwEAAR8BgAEDAQIBuAHAAQcBjwHxAYABAwH9 + AXwBwAEPAf8B+QGAAQMB/gH8AcABHwH/AXUBgAEDAf8BAAHAAT8B/wGPAYABAwH/AfwI/ws= + + + + 226, 12 + + + 310, 13 + + \ No newline at end of file diff --git a/src/Libraries/DockPanel_Src/WinFormsUI.sln b/src/Libraries/DockPanel_Src/WinFormsUI.Docking.sln similarity index 50% rename from src/Libraries/DockPanel_Src/WinFormsUI.sln rename to src/Libraries/DockPanel_Src/WinFormsUI.Docking.sln index 881eb02c15..10268f1600 100644 --- a/src/Libraries/DockPanel_Src/WinFormsUI.sln +++ b/src/Libraries/DockPanel_Src/WinFormsUI.Docking.sln @@ -1,8 +1,8 @@ Microsoft Visual Studio Solution File, Format Version 9.00 -# Visual Studio 2005 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WinFormsUI", "WinFormsUI\WinFormsUI.csproj", "{D3C782BA-178E-4235-A3BA-8C11DEBB6BEE}" +# Visual C# Express 2005 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WinFormsUI", "WinFormsUI\WinFormsUI.csproj", "{C75532C4-765B-418E-B09B-46D36B2ABDB1}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DockSample", "DockSample\DockSample.csproj", "{0A386EC6-40E1-4C5A-BA6B-B483FE89E8E7}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DockSample", "DockSample\DockSample.csproj", "{40793A27-478B-4357-B4C3-FC8943131F3D}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -10,14 +10,14 @@ Global Release|Any CPU = Release|Any CPU EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution - {D3C782BA-178E-4235-A3BA-8C11DEBB6BEE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {D3C782BA-178E-4235-A3BA-8C11DEBB6BEE}.Debug|Any CPU.Build.0 = Debug|Any CPU - {D3C782BA-178E-4235-A3BA-8C11DEBB6BEE}.Release|Any CPU.ActiveCfg = Release|Any CPU - {D3C782BA-178E-4235-A3BA-8C11DEBB6BEE}.Release|Any CPU.Build.0 = Release|Any CPU - {0A386EC6-40E1-4C5A-BA6B-B483FE89E8E7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {0A386EC6-40E1-4C5A-BA6B-B483FE89E8E7}.Debug|Any CPU.Build.0 = Debug|Any CPU - {0A386EC6-40E1-4C5A-BA6B-B483FE89E8E7}.Release|Any CPU.ActiveCfg = Release|Any CPU - {0A386EC6-40E1-4C5A-BA6B-B483FE89E8E7}.Release|Any CPU.Build.0 = Release|Any CPU + {C75532C4-765B-418E-B09B-46D36B2ABDB1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {C75532C4-765B-418E-B09B-46D36B2ABDB1}.Debug|Any CPU.Build.0 = Debug|Any CPU + {C75532C4-765B-418E-B09B-46D36B2ABDB1}.Release|Any CPU.ActiveCfg = Release|Any CPU + {C75532C4-765B-418E-B09B-46D36B2ABDB1}.Release|Any CPU.Build.0 = Release|Any CPU + {40793A27-478B-4357-B4C3-FC8943131F3D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {40793A27-478B-4357-B4C3-FC8943131F3D}.Debug|Any CPU.Build.0 = Debug|Any CPU + {40793A27-478B-4357-B4C3-FC8943131F3D}.Release|Any CPU.ActiveCfg = Release|Any CPU + {40793A27-478B-4357-B4C3-FC8943131F3D}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/src/Libraries/DockPanel_Src/WinFormsUI.ndoc b/src/Libraries/DockPanel_Src/WinFormsUI.ndoc deleted file mode 100644 index 53f8cb30d7..0000000000 --- a/src/Libraries/DockPanel_Src/WinFormsUI.ndoc +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/Libraries/DockPanel_Src/WinFormsUI.suo b/src/Libraries/DockPanel_Src/WinFormsUI.suo deleted file mode 100644 index cccb6030a61ae4a3936e4e94662e9ff2ce6e1e9e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14848 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 rect.Right) - rect.Width += (rectScreen.Right - rect.Right); - if (rectScreen.Top < rect.Top) - { - rect.Height += (rect.Top - rectScreen.Top); - rect.Y = rectScreen.Y; - } - if (rectScreen.Bottom > rect.Bottom) - rect.Height += (rectScreen.Bottom - rect.Bottom); - } - - return rect; - } } private class DockOutline : DockOutlineBase diff --git a/src/Libraries/DockPanel_Src/WinFormsUI/Docking/DockPanel.FocusManager.cs b/src/Libraries/DockPanel_Src/WinFormsUI/Docking/DockPanel.FocusManager.cs index 5d9835f8d6..9621c02037 100644 --- a/src/Libraries/DockPanel_Src/WinFormsUI/Docking/DockPanel.FocusManager.cs +++ b/src/Libraries/DockPanel_Src/WinFormsUI/Docking/DockPanel.FocusManager.cs @@ -169,7 +169,11 @@ namespace WeifenLuo.WinFormsUI.Docking if (content.IsDisposed) return; + if (content == null) + return; DockContentHandler handler = content.DockHandler; + if (handler.Form.IsDisposed) + return; // Should not reach here, but better than throwing an exception if (ContentContains(content, handler.ActiveWindowHandle)) NativeMethods.SetFocus(handler.ActiveWindowHandle); if (!handler.Form.ContainsFocus) @@ -441,7 +445,7 @@ namespace WeifenLuo.WinFormsUI.Docking if (ActivePane != null && ActivePane.DockState == DockState.Document) value = ActivePane; - if (value == null) + if (value == null && DockPanel.DockWindows != null) { if (ActiveDocumentPane == null) value = DockPanel.DockWindows[DockState.Document].DefaultPane; diff --git a/src/Libraries/DockPanel_Src/WinFormsUI/Docking/DockPanel.Persistor.cs b/src/Libraries/DockPanel_Src/WinFormsUI/Docking/DockPanel.Persistor.cs index 782bae76cd..5ecbc114d7 100644 --- a/src/Libraries/DockPanel_Src/WinFormsUI/Docking/DockPanel.Persistor.cs +++ b/src/Libraries/DockPanel_Src/WinFormsUI/Docking/DockPanel.Persistor.cs @@ -362,7 +362,7 @@ namespace WeifenLuo.WinFormsUI.Docking public static void LoadFromXml(DockPanel dockPanel, string fileName, DeserializeDockContent deserializeContent) { - FileStream fs = new FileStream(fileName, FileMode.Open); + FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.Read); try { LoadFromXml(dockPanel, fs, deserializeContent); diff --git a/src/Libraries/DockPanel_Src/WinFormsUI/Docking/Resources/DockPanel.bmp b/src/Libraries/DockPanel_Src/WinFormsUI/Docking/DockPanel.bmp similarity index 100% rename from src/Libraries/DockPanel_Src/WinFormsUI/Docking/Resources/DockPanel.bmp rename to src/Libraries/DockPanel_Src/WinFormsUI/Docking/DockPanel.bmp diff --git a/src/Libraries/DockPanel_Src/WinFormsUI/Docking/DockPanel.cs b/src/Libraries/DockPanel_Src/WinFormsUI/Docking/DockPanel.cs index b16c986ef7..6827c9d801 100644 --- a/src/Libraries/DockPanel_Src/WinFormsUI/Docking/DockPanel.cs +++ b/src/Libraries/DockPanel_Src/WinFormsUI/Docking/DockPanel.cs @@ -9,13 +9,25 @@ using System.Text; using System.Diagnostics.CodeAnalysis; using System.Collections.Generic; +// To simplify the process of finding the toolbox bitmap resource: +// #1 Create an internal class called "resfinder" outside of the root namespace. +// #2 Use "resfinder" in the toolbox bitmap attribute instead of the control name. +// #3 use the "." string to locate the resource. +// See: http://www.bobpowell.net/toolboxbitmap.htm +internal class resfinder +{ +} + namespace WeifenLuo.WinFormsUI.Docking { [SuppressMessage("Microsoft.Naming", "CA1720:AvoidTypeNamesInParameters", MessageId = "0#")] public delegate IDockContent DeserializeDockContent(string persistString); - [Designer(typeof(System.Windows.Forms.Design.ControlDesigner))] - [ToolboxBitmap(typeof(DockPanel), "Resources.DockPanel.bmp")] + [LocalizedDescription("DockPanel_Description")] + [Designer(typeof(System.Windows.Forms.Design.ControlDesigner))] + [ToolboxBitmap(typeof(resfinder), "WeifenLuo.WinFormsUI.Docking.DockPanel.bmp")] + [DefaultProperty("DocumentStyle")] + [DefaultEvent("ActiveContentChanged")] public partial class DockPanel : Panel { private FocusManagerImpl m_focusManager; @@ -35,10 +47,10 @@ namespace WeifenLuo.WinFormsUI.Docking m_floatWindows = new FloatWindowCollection(); SuspendLayout(); - Font = SystemInformation.MenuFont; m_autoHideWindow = new AutoHideWindowControl(this); m_autoHideWindow.Visible = false; + SetAutoHideWindowParent(); m_dummyControl = new DummyControl(); m_dummyControl.Bounds = new Rectangle(0, 0, 1, 1); @@ -70,6 +82,13 @@ namespace WeifenLuo.WinFormsUI.Docking return m_autoHideStripControl; } } + internal void ResetAutoHideStripControl() + { + if (m_autoHideStripControl != null) + m_autoHideStripControl.Dispose(); + + m_autoHideStripControl = null; + } private void MdiClientHandleAssigned(object sender, EventArgs e) { @@ -497,6 +516,7 @@ namespace WeifenLuo.WinFormsUI.Docking SuspendLayout(true); + SetAutoHideWindowParent(); SetMdiClient(); InvalidateWindowRegion(); @@ -738,12 +758,26 @@ namespace WeifenLuo.WinFormsUI.Docking protected override void OnParentChanged(EventArgs e) { - AutoHideWindow.Parent = this.Parent; - GetMdiClientController().ParentForm = (this.Parent as Form); - AutoHideWindow.BringToFront(); + SetAutoHideWindowParent(); + GetMdiClientController().ParentForm = (this.Parent as Form); base.OnParentChanged (e); } + private void SetAutoHideWindowParent() + { + Control parent; + if (DocumentStyle == DocumentStyle.DockingMdi || + DocumentStyle == DocumentStyle.SystemMdi) + parent = this.Parent; + else + parent = this; + if (AutoHideWindow.Parent != parent) + { + AutoHideWindow.Parent = parent; + AutoHideWindow.BringToFront(); + } + } + protected override void OnVisibleChanged(EventArgs e) { base.OnVisibleChanged (e); @@ -835,7 +869,7 @@ namespace WeifenLuo.WinFormsUI.Docking int count = 0; foreach (DockPane pane in this.Panes) { - if (pane.DockState != DockState.Document) + if (!pane.Visible || pane.DockState != DockState.Document) continue; count ++; @@ -851,7 +885,7 @@ namespace WeifenLuo.WinFormsUI.Docking int i = 0; foreach (DockPane pane in this.Panes) { - if (pane.DockState != DockState.Document) + if (!pane.Visible || pane.DockState != DockState.Document) continue; rects[i] = RectangleToClient(pane.RectangleToScreen(pane.ContentRectangle)); diff --git a/src/Libraries/DockPanel_Src/WinFormsUI/Docking/DockPanelExtender.cs b/src/Libraries/DockPanel_Src/WinFormsUI/Docking/DockPanelExtender.cs index 5e5578e602..e304ea7551 100644 --- a/src/Libraries/DockPanel_Src/WinFormsUI/Docking/DockPanelExtender.cs +++ b/src/Libraries/DockPanel_Src/WinFormsUI/Docking/DockPanelExtender.cs @@ -218,6 +218,7 @@ namespace WeifenLuo.WinFormsUI.Docking return; m_autoHideStripFactory = value; + DockPanel.ResetAutoHideStripControl(); } } } diff --git a/src/Libraries/DockPanel_Src/WinFormsUI/Docking/FloatWindow.cs b/src/Libraries/DockPanel_Src/WinFormsUI/Docking/FloatWindow.cs index a46b633fed..ee17428fe7 100644 --- a/src/Libraries/DockPanel_Src/WinFormsUI/Docking/FloatWindow.cs +++ b/src/Libraries/DockPanel_Src/WinFormsUI/Docking/FloatWindow.cs @@ -144,7 +144,7 @@ namespace WeifenLuo.WinFormsUI.Docking protected override void SetBoundsCore(int x, int y, int width, int height, BoundsSpecified specified) { - Rectangle rectWorkArea = SystemInformation.WorkingArea; + Rectangle rectWorkArea = SystemInformation.VirtualScreen; if (y + height > rectWorkArea.Bottom) y -= (y + height) - rectWorkArea.Bottom; diff --git a/src/Libraries/DockPanel_Src/WinFormsUI/Docking/Resources.Designer.cs b/src/Libraries/DockPanel_Src/WinFormsUI/Docking/Resources.Designer.cs index 246516ced7..076e5ddf6d 100644 --- a/src/Libraries/DockPanel_Src/WinFormsUI/Docking/Resources.Designer.cs +++ b/src/Libraries/DockPanel_Src/WinFormsUI/Docking/Resources.Designer.cs @@ -220,12 +220,5 @@ namespace WeifenLuo.WinFormsUI.Docking { return ((System.Drawing.Bitmap)(obj)); } } - - internal static System.Drawing.Bitmap DockPanel { - get { - object obj = ResourceManager.GetObject("DockPanel", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } } } diff --git a/src/Libraries/DockPanel_Src/WinFormsUI/Docking/Resources.resx b/src/Libraries/DockPanel_Src/WinFormsUI/Docking/Resources.resx index cc85b241b2..0f8b146299 100644 --- a/src/Libraries/DockPanel_Src/WinFormsUI/Docking/Resources.resx +++ b/src/Libraries/DockPanel_Src/WinFormsUI/Docking/Resources.resx @@ -187,7 +187,4 @@ Resources\DockPane_OptionOverflow.bmp;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - Resources\DockPanel.bmp;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - \ No newline at end of file diff --git a/src/Libraries/DockPanel_Src/WinFormsUI/Docking/Resources/Thumbs.db b/src/Libraries/DockPanel_Src/WinFormsUI/Docking/Resources/Thumbs.db new file mode 100644 index 0000000000000000000000000000000000000000..3bf72fa2ef983e30fbe727a51efae5cc351cdf1b GIT binary patch literal 138752 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

alaYAV8S8llZOJ&~{ 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 literal 0 HcmV?d00001 diff --git a/src/Libraries/DockPanel_Src/WinFormsUI/Docking/Strings.Designer.cs b/src/Libraries/DockPanel_Src/WinFormsUI/Docking/Strings.Designer.cs index b26e7e959c..8ca97d176d 100644 --- a/src/Libraries/DockPanel_Src/WinFormsUI/Docking/Strings.Designer.cs +++ b/src/Libraries/DockPanel_Src/WinFormsUI/Docking/Strings.Designer.cs @@ -546,6 +546,15 @@ namespace WeifenLuo.WinFormsUI.Docking { } } + ///

+ /// Looks up a localized string similar to Provides Visual Studio .Net style docking.. + /// + internal static string DockPanel_Description { + get { + return ResourceManager.GetString("DockPanel_Description", resourceCulture); + } + } + /// /// Looks up a localized string similar to Size of the bottom docking window. Value < 1 to specify the size in portion; value > 1 to specify the size in pixels.. /// diff --git a/src/Libraries/DockPanel_Src/WinFormsUI/Docking/Strings.resx b/src/Libraries/DockPanel_Src/WinFormsUI/Docking/Strings.resx index aabc443c51..96621ff8a0 100644 --- a/src/Libraries/DockPanel_Src/WinFormsUI/Docking/Strings.resx +++ b/src/Libraries/DockPanel_Src/WinFormsUI/Docking/Strings.resx @@ -279,6 +279,9 @@ The default size of float window. + + Provides Visual Studio .Net style docking. + Size of the bottom docking window. Value < 1 to specify the size in portion; value > 1 to specify the size in pixels. diff --git a/src/Libraries/DockPanel_Src/WinFormsUI/Docking/VS2005DockPaneCaption.cs b/src/Libraries/DockPanel_Src/WinFormsUI/Docking/VS2005DockPaneCaption.cs index dae2a16ccb..20a0eec787 100644 --- a/src/Libraries/DockPanel_Src/WinFormsUI/Docking/VS2005DockPaneCaption.cs +++ b/src/Libraries/DockPanel_Src/WinFormsUI/Docking/VS2005DockPaneCaption.cs @@ -351,7 +351,7 @@ namespace WeifenLuo.WinFormsUI.Docking private void DrawCaption(Graphics g) { - if (ClientRectangle.IsEmpty) + if (ClientRectangle.Width == 0 || ClientRectangle.Height == 0) return; if (DockPane.IsActivated) diff --git a/src/Libraries/DockPanel_Src/WinFormsUI/Properties/AssemblyInfo.cs b/src/Libraries/DockPanel_Src/WinFormsUI/Properties/AssemblyInfo.cs index 009f88e97f..f0ba20e664 100644 --- a/src/Libraries/DockPanel_Src/WinFormsUI/Properties/AssemblyInfo.cs +++ b/src/Libraries/DockPanel_Src/WinFormsUI/Properties/AssemblyInfo.cs @@ -18,11 +18,11 @@ using System.Diagnostics.CodeAnalysis; [assembly: Guid("9d690ef9-ce19-4c69-874c-e24d8eb36aff")] -[assembly: AssemblyVersion("2.1.0.1")] -[assembly: AssemblyFileVersion("2.1.0.1")] +[assembly: AssemblyVersion("2.2.*")] +[assembly: AssemblyFileVersion("2.2.0.0")] [module: SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", Scope = "namespace", Target = "WeifenLuo.WinFormsUI.Docking", MessageId = "Weifen")] [module: SuppressMessage("Microsoft.Naming", "CA1704:IdentifiersShouldBeSpelledCorrectly", Scope = "namespace", Target = "WeifenLuo.WinFormsUI.Docking", MessageId = "Luo")] [module: SuppressMessage("Microsoft.Naming", "CA1703:ResourceStringsShouldBeSpelledCorrectly", Scope = "resource", Target = "WeifenLuo.WinFormsUI.Docking.Strings.resources", MessageId = "Weifen")] [module: SuppressMessage("Microsoft.Naming", "CA1703:ResourceStringsShouldBeSpelledCorrectly", Scope = "resource", Target = "WeifenLuo.WinFormsUI.Docking.Strings.resources", MessageId = "Luo")] -[module: SuppressMessage("Microsoft.Naming", "CA1703:ResourceStringsShouldBeSpelledCorrectly", Scope = "resource", Target = "WeifenLuo.WinFormsUI.Docking.Strings.resources", MessageId = "Dockable")] \ No newline at end of file +[module: SuppressMessage("Microsoft.Naming", "CA1703:ResourceStringsShouldBeSpelledCorrectly", Scope = "resource", Target = "WeifenLuo.WinFormsUI.Docking.Strings.resources", MessageId = "Dockable")] diff --git a/src/Libraries/DockPanel_Src/WinFormsUI/WinFormsUI.csproj b/src/Libraries/DockPanel_Src/WinFormsUI/WinFormsUI.csproj index 8084a86a73..a4e090e7bc 100644 --- a/src/Libraries/DockPanel_Src/WinFormsUI/WinFormsUI.csproj +++ b/src/Libraries/DockPanel_Src/WinFormsUI/WinFormsUI.csproj @@ -20,7 +20,7 @@ true - Full + full false TRACE;DEBUG prompt @@ -33,16 +33,6 @@ prompt 4 - - False - - - False - Auto - 4194304 - AnyCPU - 4096 - @@ -192,7 +182,6 @@ - @@ -206,6 +195,9 @@ + + + - \ No newline at end of file +