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 @@ -45,7 +45,7 @@ namespace ICSharpCode.WixBinding
}
}
public override Control Control {
public override object Content {
get {
return setupDialogListView;
}

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

@ -164,7 +164,7 @@ namespace ClassDiagramAddin @@ -164,7 +164,7 @@ namespace ClassDiagramAddin
PadDescriptor padDesc = WorkbenchSingleton.Workbench.GetPad(typeof(ClassEditorPad));
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 @@ -157,7 +157,7 @@ namespace ClassDiagramAddin
/// <summary>
/// The <see cref="System.Windows.Forms.Control"/> representing the pad
/// </summary>
public override Control Control
public override object Content
{
get { return editor; }
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@ -124,6 +124,7 @@ @@ -124,6 +124,7 @@
<Compile Include="Src\Gui\Pads\ToolsPad.cs" />
<None Include="Src\Gui\Workbench\Layouts\SimpleWorkbenchLayout.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\SingleInstanceHelper.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 @@ -493,7 +493,7 @@ namespace ICSharpCode.SharpDevelop.Commands
this.padDescriptor = padDescriptor;
this.Header = ICSharpCode.Core.Presentation.MenuService.ConvertLabel(StringParser.Parse(padDescriptor.Title));
if (!string.IsNullOrEmpty(padDescriptor.Icon)) {
this.Icon = PresentationResourceService.GetBitmapSource(padDescriptor.Icon);
this.Icon = PresentationResourceService.GetImage(padDescriptor.Icon);
}
if (padDescriptor.Shortcut != null) {
this.InputGestureText = padDescriptor.Shortcut;

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

@ -12,7 +12,7 @@ namespace ICSharpCode.SharpDevelop.Gui @@ -12,7 +12,7 @@ namespace ICSharpCode.SharpDevelop.Gui
{
public abstract class AbstractPadContent : IPadContent
{
public abstract Control Control {
public abstract object Content {
get;
}
@ -23,12 +23,5 @@ namespace ICSharpCode.SharpDevelop.Gui @@ -23,12 +23,5 @@ namespace ICSharpCode.SharpDevelop.Gui
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 @@ -17,9 +17,10 @@ namespace ICSharpCode.SharpDevelop.Gui
public interface IPadContent : IDisposable
{
/// <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>
Control Control {
object Content {
get;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@ -6,10 +6,13 @@ @@ -6,10 +6,13 @@
// </file>
using System;
using System.Collections.Generic;
using System.IO;
using System.Windows;
using AvalonDock;
using System.Windows.Controls;
using System.Windows.Media.Imaging;
using AvalonDock;
using ICSharpCode.Core;
namespace ICSharpCode.SharpDevelop.Gui
@ -63,17 +66,69 @@ namespace ICSharpCode.SharpDevelop.Gui @@ -63,17 +66,69 @@ namespace ICSharpCode.SharpDevelop.Gui
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)
{
throw new NotImplementedException();
}
public void ActivatePad(string fullyQualifiedTypeName)
{
throw new NotImplementedException();
}
public void HidePad(PadDescriptor content)
@ -88,7 +143,7 @@ namespace ICSharpCode.SharpDevelop.Gui @@ -88,7 +143,7 @@ namespace ICSharpCode.SharpDevelop.Gui
public bool IsVisible(PadDescriptor padContent)
{
throw new NotImplementedException();
return false;
}
public void RedrawAllComponents()
@ -106,6 +161,7 @@ namespace ICSharpCode.SharpDevelop.Gui @@ -106,6 +161,7 @@ namespace ICSharpCode.SharpDevelop.Gui
public void LoadConfiguration()
{
return;
try {
if (File.Exists(LayoutConfiguration.CurrentLayoutFileName)) {
dockingManager.RestoreLayout(LayoutConfiguration.CurrentLayoutFileName);

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

@ -0,0 +1,29 @@ @@ -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 @@ -386,7 +386,7 @@ namespace ICSharpCode.SharpDevelop.Gui
IPadContent content = padDescriptor.PadContent;
if (content == null)
return;
Control control = content.Control;
Control control = content.Content;
control.Dock = DockStyle.Fill;
Controls.Add(control);
}

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

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

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

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

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

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

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

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

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

@ -21,6 +21,23 @@ namespace ICSharpCode.Core.Presentation @@ -21,6 +21,23 @@ namespace ICSharpCode.Core.Presentation
{
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>
/// Returns a BitmapSource from the resource database, it handles localization
/// transparent for the user.

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

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

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

@ -40,6 +40,13 @@ namespace ICSharpCode.SharpDevelop.Sda @@ -40,6 +40,13 @@ namespace ICSharpCode.SharpDevelop.Sda
Application.ThreadException += ShowErrorBox;
AppDomain.CurrentDomain.UnhandledException += 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)

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

@ -17,6 +17,14 @@ @@ -17,6 +17,14 @@
<assemblyIdentity name="ICSharpCode.Core" publicKeyToken="f829da5c02be14ee" culture="neutral"/>
<bindingRedirect oldVersion="3.0.0.0-$INSERTVERSION$" newVersion="$INSERTVERSION$"/>
</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>
<assemblyIdentity name="ICSharpCode.SharpDevelop" publicKeyToken="f829da5c02be14ee" culture="neutral"/>
<bindingRedirect oldVersion="3.0.0.0-$INSERTVERSION$" newVersion="$INSERTVERSION$"/>

Loading…
Cancel
Save