From b8cebbf45d9afb781c8f509af394af2ae7830b65 Mon Sep 17 00:00:00 2001 From: Siegfried Pammer Date: Wed, 5 Feb 2014 00:04:55 +0100 Subject: [PATCH] fix #338: Pads on Auto-Hide Show Toolbars Either Cut-Off or Squished --- .../Debugger/Debugger.AddIn/Pads/WatchPad.cs | 10 +++++++--- .../Base/Project/Editor/Search/SearchResultsPad.cs | 14 +++++++++----- .../CompilerMessageView/CompilerMessageView.cs | 10 +++++++--- .../Project/Src/Gui/Pads/ErrorList/ErrorListPad.cs | 6 ++++-- .../Project/Src/Gui/Pads/TaskList/TaskListPad.cs | 10 ++++++++-- 5 files changed, 35 insertions(+), 15 deletions(-) diff --git a/src/AddIns/Debugger/Debugger.AddIn/Pads/WatchPad.cs b/src/AddIns/Debugger/Debugger.AddIn/Pads/WatchPad.cs index a72fbf2924..e03e7b60b4 100644 --- a/src/AddIns/Debugger/Debugger.AddIn/Pads/WatchPad.cs +++ b/src/AddIns/Debugger/Debugger.AddIn/Pads/WatchPad.cs @@ -39,7 +39,7 @@ namespace ICSharpCode.SharpDevelop.Gui.Pads { public class WatchPad : AbstractPadContent { - DockPanel panel; + Grid panel; ToolBar toolBar; SharpTreeView tree; @@ -60,10 +60,9 @@ namespace ICSharpCode.SharpDevelop.Gui.Pads var res = new CommonResources(); res.InitializeComponent(); - panel = new DockPanel(); + panel = new Grid(); toolBar = ToolBarService.CreateToolBar(toolBar, this, "/SharpDevelop/Pads/WatchPad/ToolBar"); - toolBar.SetValue(DockPanel.DockProperty, Dock.Top); panel.Children.Add(toolBar); tree = new SharpTreeView(); @@ -78,6 +77,11 @@ namespace ICSharpCode.SharpDevelop.Gui.Pads }; panel.Children.Add(tree); + panel.RowDefinitions.Add(new RowDefinition { Height = GridLength.Auto }); + panel.RowDefinitions.Add(new RowDefinition { Height = new GridLength(1, GridUnitType.Star) }); + + Grid.SetRow(tree, 1); + // ProjectService.SolutionLoaded += delegate { LoadNodes(); }; // SD.ProjectService.CurrentSolution.PreferencesSaving += delegate { SaveNodes(); }; // LoadNodes(); diff --git a/src/Main/Base/Project/Editor/Search/SearchResultsPad.cs b/src/Main/Base/Project/Editor/Search/SearchResultsPad.cs index 8507a9ddbe..b8e724f1b1 100644 --- a/src/Main/Base/Project/Editor/Search/SearchResultsPad.cs +++ b/src/Main/Base/Project/Editor/Search/SearchResultsPad.cs @@ -51,7 +51,7 @@ namespace ICSharpCode.SharpDevelop.Editor.Search } } - DockPanel dockPanel; + Grid contentPanel; ToolBar toolBar; ContentPresenter contentPlaceholder; IList defaultToolbarItems; @@ -63,21 +63,25 @@ namespace ICSharpCode.SharpDevelop.Editor.Search instance = this; toolBar = new ToolBar(); ToolBarTray.SetIsLocked(toolBar, true); - defaultToolbarItems = ToolBarService.CreateToolBarItems(dockPanel, this, "/SharpDevelop/Pads/SearchResultPad/Toolbar"); + defaultToolbarItems = ToolBarService.CreateToolBarItems(contentPanel, this, "/SharpDevelop/Pads/SearchResultPad/Toolbar"); foreach (object toolBarItem in defaultToolbarItems) { toolBar.Items.Add(toolBarItem); } - DockPanel.SetDock(toolBar, Dock.Top); contentPlaceholder = new ContentPresenter(); - dockPanel = new DockPanel { + contentPanel = new Grid { Children = { toolBar, contentPlaceholder } }; + + contentPanel.RowDefinitions.Add(new RowDefinition { Height = GridLength.Auto }); + contentPanel.RowDefinitions.Add(new RowDefinition { Height = new GridLength(1, GridUnitType.Star) }); + + Grid.SetRow(contentPlaceholder, 1); } public override object Control { get { - return dockPanel; + return contentPanel; } } diff --git a/src/Main/Base/Project/Src/Gui/Pads/CompilerMessageView/CompilerMessageView.cs b/src/Main/Base/Project/Src/Gui/Pads/CompilerMessageView/CompilerMessageView.cs index a6aa4ec920..8055317f63 100644 --- a/src/Main/Base/Project/Src/Gui/Pads/CompilerMessageView/CompilerMessageView.cs +++ b/src/Main/Base/Project/Src/Gui/Pads/CompilerMessageView/CompilerMessageView.cs @@ -24,6 +24,7 @@ using System.Linq; using System.Text; using System.Text.RegularExpressions; using System.Threading; +using System.Windows; using System.Windows.Controls; using System.Windows.Input; using System.Windows.Media; @@ -177,7 +178,7 @@ namespace ICSharpCode.SharpDevelop.Gui #endregion TextEditor textEditor = new TextEditor(); - DockPanel panel = new DockPanel(); + Grid panel = new Grid(); ToolBar toolStrip; List messageCategories = new List(); @@ -251,7 +252,6 @@ namespace ICSharpCode.SharpDevelop.Gui AddCategory(TaskService.BuildMessageViewCategory); textEditor.IsReadOnly = true; - textEditor.ContextMenu = MenuService.CreateContextMenu(this, "/SharpDevelop/Pads/CompilerMessageView/ContextMenu"); properties = PropertyService.NestedProperties(OutputWindowOptionsPanel.OutputWindowsProperty); @@ -264,10 +264,14 @@ namespace ICSharpCode.SharpDevelop.Gui textEditor.TextArea.TextView.ElementGenerators.OfType().ForEach(x => x.RequireControlModifierForClick = false); toolStrip = ToolBarService.CreateToolBar(panel, this, "/SharpDevelop/Pads/CompilerMessageView/Toolbar"); - toolStrip.SetValue(DockPanel.DockProperty, Dock.Top); + toolStrip.Items.OfType().ForEach(b => b.MinWidth = 75); + + panel.RowDefinitions.Add(new RowDefinition { Height = GridLength.Auto }); + panel.RowDefinitions.Add(new RowDefinition { Height = new GridLength(1, GridUnitType.Star) }); panel.Children.Add(toolStrip); panel.Children.Add(textEditor); + Grid.SetRow(textEditor, 1); SetWordWrap(); DisplayActiveCategory(); diff --git a/src/Main/Base/Project/Src/Gui/Pads/ErrorList/ErrorListPad.cs b/src/Main/Base/Project/Src/Gui/Pads/ErrorList/ErrorListPad.cs index ccc7c7f07b..3fdd685022 100644 --- a/src/Main/Base/Project/Src/Gui/Pads/ErrorList/ErrorListPad.cs +++ b/src/Main/Base/Project/Src/Gui/Pads/ErrorList/ErrorListPad.cs @@ -41,7 +41,7 @@ namespace ICSharpCode.SharpDevelop.Gui } ToolBar toolBar; - DockPanel contentPanel = new DockPanel(); + Grid contentPanel = new Grid(); ListView errorView = new ListView(); readonly ObservableCollection errors; @@ -112,9 +112,11 @@ namespace ICSharpCode.SharpDevelop.Gui toolBar = ToolBarService.CreateToolBar(contentPanel, this, "/SharpDevelop/Pads/ErrorList/Toolbar"); + contentPanel.RowDefinitions.Add(new RowDefinition { Height = GridLength.Auto }); + contentPanel.RowDefinitions.Add(new RowDefinition { Height = new GridLength(1, GridUnitType.Star) }); contentPanel.Children.Add(toolBar); - toolBar.SetValue(DockPanel.DockProperty, Dock.Top); contentPanel.Children.Add(errorView); + Grid.SetRow(errorView, 1); errorView.ItemsSource = errors; errorView.MouseDoubleClick += ErrorViewMouseDoubleClick; errorView.Style = (Style)new TaskViewResources()["TaskListView"]; diff --git a/src/Main/Base/Project/Src/Gui/Pads/TaskList/TaskListPad.cs b/src/Main/Base/Project/Src/Gui/Pads/TaskList/TaskListPad.cs index 173c56b568..61e816cec3 100644 --- a/src/Main/Base/Project/Src/Gui/Pads/TaskList/TaskListPad.cs +++ b/src/Main/Base/Project/Src/Gui/Pads/TaskList/TaskListPad.cs @@ -49,7 +49,7 @@ namespace ICSharpCode.SharpDevelop.Gui } ToolBar toolBar; - DockPanel contentPanel = new DockPanel(); + Grid contentPanel = new Grid(); ListView taskView = new ListView(); @@ -159,9 +159,15 @@ namespace ICSharpCode.SharpDevelop.Gui items.Add(new TaskListTokensToolbarCheckBox(token)); } + toolBar.Items.OfType().ForEach(b => b.MinWidth = 75); + + contentPanel.RowDefinitions.Add(new RowDefinition { Height = GridLength.Auto }); + contentPanel.RowDefinitions.Add(new RowDefinition { Height = new GridLength(1, GridUnitType.Star) }); + contentPanel.Children.Add(toolBar); - toolBar.SetValue(DockPanel.DockProperty, Dock.Top); contentPanel.Children.Add(taskView); + Grid.SetRow(taskView, 1); + taskView.ItemsSource = tasks; taskView.MouseDoubleClick += TaskViewMouseDoubleClick; taskView.Style = (Style)new TaskViewResources()["TaskListView"];