Browse Source

Trying to get pads working...

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/branches/3.0wpf@3310 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
Daniel Grunwald 17 years ago
parent
commit
96d4d06249
  1. 2
      src/AddIns/BackendBindings/WixBinding/Project/Src/Gui/SetupDialogListPad.cs
  2. 2
      src/AddIns/DisplayBindings/ClassDiagram/ClassDiagramAddin/Src/ClassDiagramViewContent.cs
  3. 2
      src/AddIns/DisplayBindings/ClassDiagram/ClassDiagramAddin/Src/ClassEditorPad.cs
  4. 2
      src/AddIns/DisplayBindings/XmlEditor/Project/Src/XPathQueryPad.cs
  5. 2
      src/AddIns/Misc/CodeCoverage/Project/Src/CodeCoveragePad.cs
  6. 2
      src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Pads/CallStackPad.cs
  7. 2
      src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Pads/LoadedModulesPad.cs
  8. 2
      src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Pads/LocalVarPad.cs
  9. 2
      src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Pads/RunningThreadsPad.cs
  10. 2
      src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/DynamicHelpPad.cs
  11. 2
      src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/IndexPad.cs
  12. 2
      src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/IndexResultsPad.cs
  13. 2
      src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/SearchPad.cs
  14. 2
      src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/TocPad.cs
  15. 13
      src/AddIns/Misc/ServerTools/ServerBrowserHost.cs
  16. 2
      src/AddIns/Misc/UnitTesting/Src/UnitTestsPad.cs
  17. 1
      src/Main/Base/Project/ICSharpCode.SharpDevelop.csproj
  18. 2
      src/Main/Base/Project/Src/Commands/MenuItemBuilders.cs
  19. 9
      src/Main/Base/Project/Src/Gui/AbstractPadContent.cs
  20. 5
      src/Main/Base/Project/Src/Gui/IPadContent.cs
  21. 2
      src/Main/Base/Project/Src/Gui/Pads/ClassBrowser/ClassBrowser.cs
  22. 8
      src/Main/Base/Project/Src/Gui/Pads/CompilerMessageView/CompilerMessageView.cs
  23. 5
      src/Main/Base/Project/Src/Gui/Pads/DefinitionViewPad.cs
  24. 2
      src/Main/Base/Project/Src/Gui/Pads/ErrorList/ErrorListPad.cs
  25. 2
      src/Main/Base/Project/Src/Gui/Pads/FileScout.cs
  26. 2
      src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/ProjectBrowserPad.cs
  27. 2
      src/Main/Base/Project/Src/Gui/Pads/PropertyPad/PropertyPad.cs
  28. 2
      src/Main/Base/Project/Src/Gui/Pads/SearchResultPad/SearchResultPanel.cs
  29. 2
      src/Main/Base/Project/Src/Gui/Pads/TaskList/TaskListPad.cs
  30. 2
      src/Main/Base/Project/Src/Gui/Pads/ToolsPad.cs
  31. 66
      src/Main/Base/Project/Src/Gui/Workbench/Layouts/AvalonDockLayout.cs
  32. 29
      src/Main/Base/Project/Src/Gui/Workbench/Layouts/AvalonPadContent.cs
  33. 2
      src/Main/Base/Project/Src/Gui/Workbench/Layouts/SdiWorkspaceLayout.cs
  34. 2
      src/Main/Base/Project/Src/Gui/Workbench/Layouts/SimpleWorkbenchLayout.cs
  35. 22
      src/Main/Base/Project/Src/Gui/Workbench/WpfWorkbench.cs
  36. 3
      src/Main/Base/Project/Src/Internal/Doozers/PadDescriptor.cs
  37. 2
      src/Main/Base/Project/Src/TextEditor/Bookmarks/Pad/BookmarkPad.cs
  38. 2
      src/Main/Base/Project/Src/TextEditor/Gui/Editor/TextEditorBasedPad.cs
  39. 17
      src/Main/ICSharpCode.Core.Presentation/PresentationResourceService.cs
  40. 6
      src/Main/ICSharpCode.Core.Presentation/ToolBar/ToolBarButton.cs
  41. 7
      src/Main/ICSharpCode.SharpDevelop.Sda/Src/ExceptionBox.cs
  42. 8
      src/Main/StartUp/Project/app.template.config

2
src/AddIns/BackendBindings/WixBinding/Project/Src/Gui/SetupDialogListPad.cs

@ -45,7 +45,7 @@ namespace ICSharpCode.WixBinding
} }
} }
public override Control Control { public override object Content {
get { get {
return setupDialogListView; return setupDialogListView;
} }

2
src/AddIns/DisplayBindings/ClassDiagram/ClassDiagramAddin/Src/ClassDiagramViewContent.cs

@ -164,7 +164,7 @@ namespace ClassDiagramAddin
PadDescriptor padDesc = WorkbenchSingleton.Workbench.GetPad(typeof(ClassEditorPad)); PadDescriptor padDesc = WorkbenchSingleton.Workbench.GetPad(typeof(ClassEditorPad));
if (padDesc != null) if (padDesc != null)
{ {
((ClassEditor)padDesc.PadContent.Control).SetClass(cci.RepresentedClassType); ((ClassEditor)padDesc.PadContent.Content).SetClass(cci.RepresentedClassType);
} }
} }
} }

2
src/AddIns/DisplayBindings/ClassDiagram/ClassDiagramAddin/Src/ClassEditorPad.cs

@ -157,7 +157,7 @@ namespace ClassDiagramAddin
/// <summary> /// <summary>
/// The <see cref="System.Windows.Forms.Control"/> representing the pad /// The <see cref="System.Windows.Forms.Control"/> representing the pad
/// </summary> /// </summary>
public override Control Control public override object Content
{ {
get { return editor; } get { return editor; }
} }

2
src/AddIns/DisplayBindings/XmlEditor/Project/Src/XPathQueryPad.cs

@ -38,7 +38,7 @@ namespace ICSharpCode.XmlEditor
/// <summary> /// <summary>
/// The <see cref="System.Windows.Forms.Control"/> representing the pad. /// The <see cref="System.Windows.Forms.Control"/> representing the pad.
/// </summary> /// </summary>
public override Control Control { public override object Content {
get { get {
return xPathQueryControl; return xPathQueryControl;
} }

2
src/AddIns/Misc/CodeCoverage/Project/Src/CodeCoveragePad.cs

@ -38,7 +38,7 @@ namespace ICSharpCode.CodeCoverage
} }
} }
public override Control Control { public override object Content {
get { get {
return codeCoverageControl; return codeCoverageControl;
} }

2
src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Pads/CallStackPad.cs

@ -58,7 +58,7 @@ namespace ICSharpCode.SharpDevelop.Gui.Pads
ColumnHeader name = new ColumnHeader(); ColumnHeader name = new ColumnHeader();
ColumnHeader language = new ColumnHeader(); ColumnHeader language = new ColumnHeader();
public override Control Control { public override object Content {
get { get {
return callStackList; return callStackList;
} }

2
src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Pads/LoadedModulesPad.cs

@ -59,7 +59,7 @@ namespace ICSharpCode.SharpDevelop.Gui.Pads
ColumnHeader information = new ColumnHeader(); ColumnHeader information = new ColumnHeader();
public override Control Control { public override object Content {
get { get {
return loadedModulesList; return loadedModulesList;
} }

2
src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Pads/LocalVarPad.cs

@ -61,7 +61,7 @@ namespace ICSharpCode.SharpDevelop.Gui.Pads
/// <remarks> /// <remarks>
/// This is not used anywhere, but it is neccessary to be overridden in children of AbstractPadContent. /// This is not used anywhere, but it is neccessary to be overridden in children of AbstractPadContent.
/// </remarks> /// </remarks>
public override Control Control { public override object Content {
get { get {
return localVarList; return localVarList;
} }

2
src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Pads/RunningThreadsPad.cs

@ -56,7 +56,7 @@ namespace ICSharpCode.SharpDevelop.Gui.Pads
ColumnHeader priority = new ColumnHeader(); ColumnHeader priority = new ColumnHeader();
ColumnHeader breaked = new ColumnHeader(); ColumnHeader breaked = new ColumnHeader();
public override Control Control { public override object Content {
get { get {
return runningThreadsList; return runningThreadsList;
} }

2
src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/DynamicHelpPad.cs

@ -43,7 +43,7 @@ namespace HtmlHelp2
private string debugPreElement = String.Empty; private string debugPreElement = String.Empty;
private bool enableDebugInfo = HtmlHelp2Environment.Config.DynamicHelpDebugInfos; private bool enableDebugInfo = HtmlHelp2Environment.Config.DynamicHelpDebugInfos;
public override Control Control public override object Content
{ {
get { return dynamicHelpBrowser; } get { return dynamicHelpBrowser; }
} }

2
src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/IndexPad.cs

@ -33,7 +33,7 @@ namespace HtmlHelp2
{ {
MSHelp2IndexControl help2IndexControl; MSHelp2IndexControl help2IndexControl;
public override Control Control public override object Content
{ {
get { return help2IndexControl; } get { return help2IndexControl; }
} }

2
src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/IndexResultsPad.cs

@ -32,7 +32,7 @@ namespace HtmlHelp2
ColumnHeader title = new ColumnHeader(); ColumnHeader title = new ColumnHeader();
ColumnHeader location = new ColumnHeader(); ColumnHeader location = new ColumnHeader();
public override Control Control public override object Content
{ {
get { return listView; } get { return listView; }
} }

2
src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/SearchPad.cs

@ -47,7 +47,7 @@ namespace HtmlHelp2
Label label2 = new Label(); Label label2 = new Label();
bool searchIsBusy; bool searchIsBusy;
public override Control Control public override object Content
{ {
get { return mainPanel; } get { return mainPanel; }
} }

2
src/AddIns/Misc/HtmlHelp2/Project/src/BaseControls/TocPad.cs

@ -34,7 +34,7 @@ namespace HtmlHelp2
{ {
MSHelp2TocControl help2TocControl; MSHelp2TocControl help2TocControl;
public override Control Control public override object Content
{ {
get { return help2TocControl; } get { return help2TocControl; }
} }

13
src/AddIns/Misc/ServerTools/ServerBrowserHost.cs

@ -21,8 +21,8 @@ namespace ICSharpCode.ServerTools
/// </summary> /// </summary>
public class ServerBrowserHost : AbstractPadContent public class ServerBrowserHost : AbstractPadContent
{ {
ElementHost ctl; ServerControl serverControl;
/// <summary> /// <summary>
/// ServerBrowserTool hosts one or more TreeViews providing views of types /// ServerBrowserTool hosts one or more TreeViews providing views of types
/// of server. Currently it shows only relational database servers. /// of server. Currently it shows only relational database servers.
@ -30,17 +30,15 @@ namespace ICSharpCode.ServerTools
public ServerBrowserHost() public ServerBrowserHost()
{ {
LoggingService.Debug("Loading ServerBrowserHost"); LoggingService.Debug("Loading ServerBrowserHost");
ctl = new ElementHost(); serverControl = new ServerControl();
ServerControl serverControl = new ServerControl();
ctl.Child = serverControl;
} }
/// <summary> /// <summary>
/// The <see cref="System.Windows.Forms.Control"/> representing the pad /// The <see cref="System.Windows.Forms.Control"/> representing the pad
/// </summary> /// </summary>
public override Control Control { public override object Content {
get { get {
return ctl; return serverControl;
} }
} }
@ -57,7 +55,6 @@ namespace ICSharpCode.ServerTools
/// </summary> /// </summary>
public override void Dispose() public override void Dispose()
{ {
ctl.Dispose();
} }
} }
} }

2
src/AddIns/Misc/UnitTesting/Src/UnitTestsPad.cs

@ -73,7 +73,7 @@ namespace ICSharpCode.UnitTesting
} }
} }
public override Control Control { public override object Content {
get { get {
return panel; return panel;
} }

1
src/Main/Base/Project/ICSharpCode.SharpDevelop.csproj

@ -124,6 +124,7 @@
<Compile Include="Src\Gui\Pads\ToolsPad.cs" /> <Compile Include="Src\Gui\Pads\ToolsPad.cs" />
<None Include="Src\Gui\Workbench\Layouts\SimpleWorkbenchLayout.cs" /> <None Include="Src\Gui\Workbench\Layouts\SimpleWorkbenchLayout.cs" />
<Compile Include="Src\Gui\Workbench\Layouts\AvalonDockLayout.cs" /> <Compile Include="Src\Gui\Workbench\Layouts\AvalonDockLayout.cs" />
<Compile Include="Src\Gui\Workbench\Layouts\AvalonPadContent.cs" />
<Compile Include="Src\Gui\Workbench\Layouts\AvalonWorkbenchWindow.cs" /> <Compile Include="Src\Gui\Workbench\Layouts\AvalonWorkbenchWindow.cs" />
<Compile Include="Src\Gui\Workbench\SingleInstanceHelper.cs" /> <Compile Include="Src\Gui\Workbench\SingleInstanceHelper.cs" />
<Compile Include="Src\Gui\Workbench\WpfWorkbench.cs" /> <Compile Include="Src\Gui\Workbench\WpfWorkbench.cs" />

2
src/Main/Base/Project/Src/Commands/MenuItemBuilders.cs

@ -493,7 +493,7 @@ namespace ICSharpCode.SharpDevelop.Commands
this.padDescriptor = padDescriptor; this.padDescriptor = padDescriptor;
this.Header = ICSharpCode.Core.Presentation.MenuService.ConvertLabel(StringParser.Parse(padDescriptor.Title)); this.Header = ICSharpCode.Core.Presentation.MenuService.ConvertLabel(StringParser.Parse(padDescriptor.Title));
if (!string.IsNullOrEmpty(padDescriptor.Icon)) { if (!string.IsNullOrEmpty(padDescriptor.Icon)) {
this.Icon = PresentationResourceService.GetBitmapSource(padDescriptor.Icon); this.Icon = PresentationResourceService.GetImage(padDescriptor.Icon);
} }
if (padDescriptor.Shortcut != null) { if (padDescriptor.Shortcut != null) {
this.InputGestureText = padDescriptor.Shortcut; this.InputGestureText = padDescriptor.Shortcut;

9
src/Main/Base/Project/Src/Gui/AbstractPadContent.cs

@ -12,7 +12,7 @@ namespace ICSharpCode.SharpDevelop.Gui
{ {
public abstract class AbstractPadContent : IPadContent public abstract class AbstractPadContent : IPadContent
{ {
public abstract Control Control { public abstract object Content {
get; get;
} }
@ -23,12 +23,5 @@ namespace ICSharpCode.SharpDevelop.Gui
public virtual void Dispose() public virtual void Dispose()
{ {
} }
public bool IsVisible {
get {
Control ctl = this.Control;
return ctl.Visible && ctl.Width > 0 && ctl.Height > 0;
}
}
} }
} }

5
src/Main/Base/Project/Src/Gui/IPadContent.cs

@ -17,9 +17,10 @@ namespace ICSharpCode.SharpDevelop.Gui
public interface IPadContent : IDisposable public interface IPadContent : IDisposable
{ {
/// <summary> /// <summary>
/// Returns the Windows.Control for this pad. /// This is the UI element for the view.
/// You can use both Windows.Forms and WPF controls.
/// </summary> /// </summary>
Control Control { object Content {
get; get;
} }

2
src/Main/Base/Project/Src/Gui/Pads/ClassBrowser/ClassBrowser.cs

@ -59,7 +59,7 @@ namespace ICSharpCode.SharpDevelop.Gui.ClassBrowser
} }
} }
public override Control Control { public override object Content {
get { get {
return contentPanel; return contentPanel;
} }

8
src/Main/Base/Project/Src/Gui/Pads/CompilerMessageView/CompilerMessageView.cs

@ -92,7 +92,7 @@ namespace ICSharpCode.SharpDevelop.Gui
} }
} }
public override Control Control { public override object Content {
get { get {
return myPanel; return myPanel;
} }
@ -289,9 +289,9 @@ namespace ICSharpCode.SharpDevelop.Gui
break; break;
} }
} }
if (!this.IsVisible) { //if (!this.IsVisible) {
ActivateThisPad(); // ActivateThisPad();
} //}
} }
void SelectCategory(string categoryName, string text) void SelectCategory(string categoryName, string text)

5
src/Main/Base/Project/Src/Gui/Pads/DefinitionViewPad.cs

@ -25,7 +25,7 @@ namespace ICSharpCode.SharpDevelop.Gui
/// <summary> /// <summary>
/// The <see cref="System.Windows.Forms.Control"/> representing the pad /// The <see cref="System.Windows.Forms.Control"/> representing the pad
/// </summary> /// </summary>
public override Control Control { public override object Content {
get { get {
return ctl; return ctl;
} }
@ -73,7 +73,6 @@ namespace ICSharpCode.SharpDevelop.Gui
void UpdateTick(ParserUpdateStepEventArgs e) void UpdateTick(ParserUpdateStepEventArgs e)
{ {
if (!this.IsVisible) return;
LoggingService.Debug("DefinitionViewPad.Update"); LoggingService.Debug("DefinitionViewPad.Update");
ResolveResult res = ResolveAtCaret(e); ResolveResult res = ResolveAtCaret(e);
@ -112,7 +111,7 @@ namespace ICSharpCode.SharpDevelop.Gui
return ParserService.Resolve(expr, caret.Line + 1, caret.Column + 1, fileName, content); return ParserService.Resolve(expr, caret.Line + 1, caret.Column + 1, fileName, content);
} catch (Exception ex) { } catch (Exception ex) {
disableDefinitionView = true; disableDefinitionView = true;
this.Control.Visible = false; ctl.Visible = false;
MessageService.ShowError(ex, "Error resolving at " + (caret.Line + 1) + "/" + (caret.Column + 1) MessageService.ShowError(ex, "Error resolving at " + (caret.Line + 1) + "/" + (caret.Column + 1)
+ ". DefinitionViewPad is disabled until you restart SharpDevelop."); + ". DefinitionViewPad is disabled until you restart SharpDevelop.");
return null; return null;

2
src/Main/Base/Project/Src/Gui/Pads/ErrorList/ErrorListPad.cs

@ -70,7 +70,7 @@ namespace ICSharpCode.SharpDevelop.Gui
} }
} }
public override Control Control { public override object Content {
get { get {
return contentPanel; return contentPanel;
} }

2
src/Main/Base/Project/Src/Gui/Pads/FileScout.cs

@ -325,7 +325,7 @@ namespace ICSharpCode.SharpDevelop.Gui
public class FileScout : UserControl, IPadContent public class FileScout : UserControl, IPadContent
{ {
public Control Control { public object Content {
get { get {
return this; return this;
} }

2
src/Main/Base/Project/Src/Gui/Pads/ProjectBrowser/ProjectBrowserPad.cs

@ -63,7 +63,7 @@ namespace ICSharpCode.SharpDevelop.Project
} }
} }
public override Control Control { public override object Content {
get { get {
return projectBrowserPanel; return projectBrowserPanel;
} }

2
src/Main/Base/Project/Src/Gui/Pads/PropertyPad/PropertyPad.cs

@ -123,7 +123,7 @@ namespace ICSharpCode.SharpDevelop.Gui
public static event EventHandler SelectedObjectChanged; public static event EventHandler SelectedObjectChanged;
public static event SelectedGridItemChangedEventHandler SelectedGridItemChanged; public static event SelectedGridItemChangedEventHandler SelectedGridItemChanged;
public override Control Control { public override object Content {
get { get {
return panel; return panel;
} }

2
src/Main/Base/Project/Src/Gui/Pads/SearchResultPad/SearchResultPanel.cs

@ -50,7 +50,7 @@ namespace SearchAndReplace
string curPattern = null; string curPattern = null;
IList<SearchResultMatch> curResults = null; IList<SearchResultMatch> curResults = null;
public override Control Control { public override object Content {
get { get {
return myPanel; return myPanel;
} }

2
src/Main/Base/Project/Src/Gui/Pads/TaskList/TaskListPad.cs

@ -46,7 +46,7 @@ namespace ICSharpCode.SharpDevelop.Gui
} }
} }
public override Control Control { public override object Content {
get { get {
return contentPanel; return contentPanel;
} }

2
src/Main/Base/Project/Src/Gui/Pads/ToolsPad.cs

@ -31,7 +31,7 @@ namespace ICSharpCode.SharpDevelop.Gui
Label noToolsAvailable = new Label(); Label noToolsAvailable = new Label();
Control child; Control child;
public override Control Control { public override object Content {
get { get {
return panel; return panel;
} }

66
src/Main/Base/Project/Src/Gui/Workbench/Layouts/AvalonDockLayout.cs

@ -6,10 +6,13 @@
// </file> // </file>
using System; using System;
using System.Collections.Generic;
using System.IO; using System.IO;
using System.Windows; using System.Windows;
using AvalonDock; using System.Windows.Controls;
using System.Windows.Media.Imaging; using System.Windows.Media.Imaging;
using AvalonDock;
using ICSharpCode.Core; using ICSharpCode.Core;
namespace ICSharpCode.SharpDevelop.Gui namespace ICSharpCode.SharpDevelop.Gui
@ -63,17 +66,69 @@ namespace ICSharpCode.SharpDevelop.Gui
public void ShowPad(PadDescriptor content) public void ShowPad(PadDescriptor content)
{ {
throw new NotImplementedException(); AvalonPadContent pad = new AvalonPadContent(content);
GetPane(Dock.Right).Items.Add(pad);
dockingManager.Show(pad, DockableContentState.Docked);
}
DockablePane GetPane(Dock dockPosition)
{
List<DockablePane> allPanes = new List<DockablePane>();
ListAllPanes(allPanes, dockingManager.Content);
// try to find an existing pane
DockablePane pane = allPanes.Find(p => DetectDock(p) == dockPosition);
if (pane == null) {
// none found: create a new pane
pane = new DockablePane();
UIElement content = (UIElement)dockingManager.Content;
ResizingPanel rp = new ResizingPanel();
dockingManager.Content = rp;
if (dockPosition == Dock.Left || dockPosition == Dock.Right) {
rp.Orientation = Orientation.Horizontal;
} else {
rp.Orientation = Orientation.Vertical;
}
if (dockPosition == Dock.Left || dockPosition == Dock.Top) {
rp.Children.Add(pane);
rp.Children.Add(content);
} else {
rp.Children.Add(content);
rp.Children.Add(pane);
}
}
return pane;
}
static Dock? DetectDock(DockablePane pane)
{
ResizingPanel rp = pane.Parent as ResizingPanel;
if (rp != null) {
if (rp.Children[0] == pane) {
return rp.Orientation == Orientation.Vertical ? Dock.Top : Dock.Left;
} else if (rp.Children[rp.Children.Count - 1] == pane) {
return rp.Orientation == Orientation.Vertical ? Dock.Bottom : Dock.Right;
}
}
return null;
}
static void ListAllPanes(List<DockablePane> list, object content)
{
if (content is DockablePane) {
list.Add((DockablePane)content);
} else if (content is ResizingPanel) {
ResizingPanel rp = (ResizingPanel)content;
foreach (object o in rp.Children)
ListAllPanes(list, o);
}
} }
public void ActivatePad(PadDescriptor content) public void ActivatePad(PadDescriptor content)
{ {
throw new NotImplementedException();
} }
public void ActivatePad(string fullyQualifiedTypeName) public void ActivatePad(string fullyQualifiedTypeName)
{ {
throw new NotImplementedException();
} }
public void HidePad(PadDescriptor content) public void HidePad(PadDescriptor content)
@ -88,7 +143,7 @@ namespace ICSharpCode.SharpDevelop.Gui
public bool IsVisible(PadDescriptor padContent) public bool IsVisible(PadDescriptor padContent)
{ {
throw new NotImplementedException(); return false;
} }
public void RedrawAllComponents() public void RedrawAllComponents()
@ -106,6 +161,7 @@ namespace ICSharpCode.SharpDevelop.Gui
public void LoadConfiguration() public void LoadConfiguration()
{ {
return;
try { try {
if (File.Exists(LayoutConfiguration.CurrentLayoutFileName)) { if (File.Exists(LayoutConfiguration.CurrentLayoutFileName)) {
dockingManager.RestoreLayout(LayoutConfiguration.CurrentLayoutFileName); dockingManager.RestoreLayout(LayoutConfiguration.CurrentLayoutFileName);

29
src/Main/Base/Project/Src/Gui/Workbench/Layouts/AvalonPadContent.cs

@ -0,0 +1,29 @@
// <file>
// <copyright see="prj:///doc/copyright.txt"/>
// <license see="prj:///doc/license.txt"/>
// <author name="Daniel Grunwald"/>
// <version>$Revision$</version>
// </file>
using System;
using AvalonDock;
using ICSharpCode.Core;
namespace ICSharpCode.SharpDevelop.Gui
{
/// <summary>
/// .
/// </summary>
sealed class AvalonPadContent : DockableContent
{
PadDescriptor descriptor;
public AvalonPadContent(PadDescriptor descriptor)
{
this.descriptor = descriptor;
this.Title = StringParser.Parse(descriptor.Title);
this.Content = descriptor.Class;
}
}
}

2
src/Main/Base/Project/Src/Gui/Workbench/Layouts/SdiWorkspaceLayout.cs

@ -386,7 +386,7 @@ namespace ICSharpCode.SharpDevelop.Gui
IPadContent content = padDescriptor.PadContent; IPadContent content = padDescriptor.PadContent;
if (content == null) if (content == null)
return; return;
Control control = content.Control; Control control = content.Content;
control.Dock = DockStyle.Fill; control.Dock = DockStyle.Fill;
Controls.Add(control); Controls.Add(control);
} }

2
src/Main/Base/Project/Src/Gui/Workbench/Layouts/SimpleWorkbenchLayout.cs

@ -90,7 +90,7 @@ namespace ICSharpCode.SharpDevelop.Gui
{ {
this.Text = StringParser.Parse(desc.Title); this.Text = StringParser.Parse(desc.Title);
Control ctl = desc.PadContent.Control; Control ctl = desc.PadContent.Content;
ctl.Dock = DockStyle.Fill; ctl.Dock = DockStyle.Fill;
Controls.Add(ctl); Controls.Add(ctl);
} }

22
src/Main/Base/Project/Src/Gui/Workbench/WpfWorkbench.cs

@ -55,6 +55,12 @@ namespace ICSharpCode.SharpDevelop.Gui
public void Initialize() public void Initialize()
{ {
foreach (PadDescriptor content in AddInTree.BuildItems<PadDescriptor>(viewContentPath, this, false)) {
if (content != null) {
ShowPad(content);
}
}
mainMenu.ItemsSource = MenuService.CreateMenuItems(this, mainMenuPath); mainMenu.ItemsSource = MenuService.CreateMenuItems(this, mainMenuPath);
toolBars = ToolBarService.CreateToolBars(this, "/SharpDevelop/Workbench/ToolBar"); toolBars = ToolBarService.CreateToolBars(this, "/SharpDevelop/Workbench/ToolBar");
@ -69,13 +75,13 @@ namespace ICSharpCode.SharpDevelop.Gui
foreach (ToolBar tb in toolBars) { foreach (ToolBar tb in toolBars) {
ToolBarService.UpdateStatus(tb.ItemsSource); ToolBarService.UpdateStatus(tb.ItemsSource);
} }
StatusBarService.RedrawStatusbar();
StatusBarService.SetMessage("${res:MainWindow.StatusBar.ReadyMessage}"); StatusBarService.SetMessage("${res:MainWindow.StatusBar.ReadyMessage}");
} }
public ICollection<IViewContent> ViewContentCollection { public ICollection<IViewContent> ViewContentCollection {
get { get {
return new IViewContent[0]; return viewContentCollection.AsReadOnly();
} }
} }
@ -87,7 +93,7 @@ namespace ICSharpCode.SharpDevelop.Gui
public IList<PadDescriptor> PadContentCollection { public IList<PadDescriptor> PadContentCollection {
get { get {
return new PadDescriptor[0]; return padViewContentCollection.AsReadOnly();
} }
} }
@ -135,6 +141,8 @@ namespace ICSharpCode.SharpDevelop.Gui
public void ShowView(IViewContent content) public void ShowView(IViewContent content)
{ {
if (content == null)
throw new ArgumentNullException("content");
System.Diagnostics.Debug.Assert(WorkbenchLayout != null); System.Diagnostics.Debug.Assert(WorkbenchLayout != null);
viewContentCollection.Add(content); viewContentCollection.Add(content);
@ -145,6 +153,14 @@ namespace ICSharpCode.SharpDevelop.Gui
public void ShowPad(PadDescriptor content) public void ShowPad(PadDescriptor content)
{ {
if (content == null)
throw new ArgumentNullException("content");
padViewContentCollection.Add(content);
if (WorkbenchLayout != null) {
WorkbenchLayout.ShowPad(content);
}
} }
public void UnloadPad(PadDescriptor content) public void UnloadPad(PadDescriptor content)

3
src/Main/Base/Project/Src/Internal/Doozers/PadDescriptor.cs

@ -113,7 +113,8 @@ namespace ICSharpCode.SharpDevelop
public bool HasFocus { public bool HasFocus {
get { get {
return (padContent != null) ? padContent.Control.ContainsFocus : false; return false;
//return (padContent != null) ? padContent.Content.ContainsFocus : false;
} }
} }

2
src/Main/Base/Project/Src/TextEditor/Bookmarks/Pad/BookmarkPad.cs

@ -40,7 +40,7 @@ namespace ICSharpCode.SharpDevelop.Bookmarks
Dictionary<string, BookmarkFolderNode> fileNodes = new Dictionary<string, BookmarkFolderNode>(); Dictionary<string, BookmarkFolderNode> fileNodes = new Dictionary<string, BookmarkFolderNode>();
public override Control Control { public override object Content {
get { get {
return myPanel; return myPanel;
} }

2
src/Main/Base/Project/Src/TextEditor/Gui/Editor/TextEditorBasedPad.cs

@ -23,7 +23,7 @@ namespace ICSharpCode.SharpDevelop.DefaultEditor.Gui.Editor
get; get;
} }
public override System.Windows.Forms.Control Control { public override object Content {
get { return this.TextEditorControl; } get { return this.TextEditorControl; }
} }

17
src/Main/ICSharpCode.Core.Presentation/PresentationResourceService.cs

@ -21,6 +21,23 @@ namespace ICSharpCode.Core.Presentation
{ {
static readonly Dictionary<string, BitmapSource> bitmapCache = new Dictionary<string, BitmapSource>(); static readonly Dictionary<string, BitmapSource> bitmapCache = new Dictionary<string, BitmapSource>();
/// <summary>
/// Creates a new System.Windows.Controls.Image object containing the image with the
/// specified resource name.
/// </summary>
/// <param name="name">
/// The name of the requested bitmap.
/// </param>
/// <exception cref="ResourceNotFoundException">
/// Is thrown when the GlobalResource manager can't find a requested resource.
/// </exception>
public static System.Windows.Controls.Image GetImage(string name)
{
return new System.Windows.Controls.Image {
Source = GetBitmapSource(name)
};
}
/// <summary> /// <summary>
/// Returns a BitmapSource from the resource database, it handles localization /// Returns a BitmapSource from the resource database, it handles localization
/// transparent for the user. /// transparent for the user.

6
src/Main/ICSharpCode.Core.Presentation/ToolBar/ToolBarButton.cs

@ -32,10 +32,8 @@ namespace ICSharpCode.Core.Presentation
} }
if (codon.Properties.Contains("icon")) { if (codon.Properties.Contains("icon")) {
Image image = new Image { Image image = PresentationResourceService.GetImage(StringParser.Parse(codon.Properties["icon"]));
Source = PresentationResourceService.GetBitmapSource(StringParser.Parse(codon.Properties["icon"])), image.Height = 16;
Height = 16
};
image.SetResourceReference(StyleProperty, ToolBarService.ImageStyleKey); image.SetResourceReference(StyleProperty, ToolBarService.ImageStyleKey);
this.Content = image; this.Content = image;
} }

7
src/Main/ICSharpCode.SharpDevelop.Sda/Src/ExceptionBox.cs

@ -40,6 +40,13 @@ namespace ICSharpCode.SharpDevelop.Sda
Application.ThreadException += ShowErrorBox; Application.ThreadException += ShowErrorBox;
AppDomain.CurrentDomain.UnhandledException += ShowErrorBox; AppDomain.CurrentDomain.UnhandledException += ShowErrorBox;
MessageService.CustomErrorReporter = ShowErrorBox; MessageService.CustomErrorReporter = ShowErrorBox;
System.Windows.Threading.Dispatcher.CurrentDispatcher.UnhandledException += Dispatcher_UnhandledException;
}
static void Dispatcher_UnhandledException(object sender, System.Windows.Threading.DispatcherUnhandledExceptionEventArgs e)
{
ShowErrorBox(e.Exception, "Unhandled WPF exception", false);
e.Handled = true;
} }
static void ShowErrorBox(object sender, ThreadExceptionEventArgs e) static void ShowErrorBox(object sender, ThreadExceptionEventArgs e)

8
src/Main/StartUp/Project/app.template.config

@ -17,6 +17,14 @@
<assemblyIdentity name="ICSharpCode.Core" publicKeyToken="f829da5c02be14ee" culture="neutral"/> <assemblyIdentity name="ICSharpCode.Core" publicKeyToken="f829da5c02be14ee" culture="neutral"/>
<bindingRedirect oldVersion="3.0.0.0-$INSERTVERSION$" newVersion="$INSERTVERSION$"/> <bindingRedirect oldVersion="3.0.0.0-$INSERTVERSION$" newVersion="$INSERTVERSION$"/>
</dependentAssembly> </dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="ICSharpCode.Core.WinForms" publicKeyToken="f829da5c02be14ee" culture="neutral"/>
<bindingRedirect oldVersion="3.0.0.0-$INSERTVERSION$" newVersion="$INSERTVERSION$"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="ICSharpCode.Core.Presentation" publicKeyToken="f829da5c02be14ee" culture="neutral"/>
<bindingRedirect oldVersion="3.0.0.0-$INSERTVERSION$" newVersion="$INSERTVERSION$"/>
</dependentAssembly>
<dependentAssembly> <dependentAssembly>
<assemblyIdentity name="ICSharpCode.SharpDevelop" publicKeyToken="f829da5c02be14ee" culture="neutral"/> <assemblyIdentity name="ICSharpCode.SharpDevelop" publicKeyToken="f829da5c02be14ee" culture="neutral"/>
<bindingRedirect oldVersion="3.0.0.0-$INSERTVERSION$" newVersion="$INSERTVERSION$"/> <bindingRedirect oldVersion="3.0.0.0-$INSERTVERSION$" newVersion="$INSERTVERSION$"/>

Loading…
Cancel
Save