From 7e7bacccb3f7dee23b505559d57c013edc0898e4 Mon Sep 17 00:00:00 2001 From: jkuehner Date: Sat, 27 Jul 2013 12:49:50 +0200 Subject: [PATCH] Thumbnail View in WPF Designer Addin --- .../WpfDesign.AddIn/Src/ThumbnailViewPad.cs | 57 ++++ .../WpfDesign.AddIn/WpfDesign.AddIn.csproj | 315 +++++++++--------- .../WpfDesign/WpfDesign.AddIn/WpfDesign.addin | 8 + 3 files changed, 221 insertions(+), 159 deletions(-) create mode 100644 src/AddIns/DisplayBindings/WpfDesign/WpfDesign.AddIn/Src/ThumbnailViewPad.cs diff --git a/src/AddIns/DisplayBindings/WpfDesign/WpfDesign.AddIn/Src/ThumbnailViewPad.cs b/src/AddIns/DisplayBindings/WpfDesign/WpfDesign.AddIn/Src/ThumbnailViewPad.cs new file mode 100644 index 0000000000..5587cfac10 --- /dev/null +++ b/src/AddIns/DisplayBindings/WpfDesign/WpfDesign.AddIn/Src/ThumbnailViewPad.cs @@ -0,0 +1,57 @@ +// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt) +// This code is distributed under the GNU LGPL (for details please see \doc\license.txt) + +using System; +using System.Windows; +using System.Windows.Controls; + +using ICSharpCode.Core; +using ICSharpCode.SharpDevelop; +using ICSharpCode.SharpDevelop.Gui; +using ICSharpCode.WpfDesign.Designer.ThumbnailView; + +namespace ICSharpCode.WpfDesign.AddIn +{ + + public class ThumbnailViewPad : AbstractPadContent + { + ContentPresenter contentControl = new ContentPresenter(); + + ThumbnailView thumbnailView = new ThumbnailView(); + + TextBlock notAvailableTextBlock = new TextBlock { + Text = StringParser.Parse("${res:ICSharpCode.SharpDevelop.Gui.OutlinePad.NotAvailable}"), + TextWrapping = TextWrapping.Wrap + }; + + public ThumbnailViewPad() + { + WorkbenchSingleton.Workbench.ActiveViewContentChanged += WorkbenchActiveViewContentChanged; + WorkbenchActiveViewContentChanged(null, null); + } + + void WorkbenchActiveViewContentChanged(object sender, EventArgs e) + { + WpfViewContent wpfView = WorkbenchSingleton.Workbench.ActiveViewContent as WpfViewContent; + if (wpfView != null) + { + thumbnailView.DesignSurface = wpfView.DesignSurface; + contentControl.SetContent(thumbnailView); + } + else + { + + contentControl.SetContent(notAvailableTextBlock); + } + } + + /// + /// The representing the pad + /// + public override object Control { + get { + return contentControl; + } + } + } +} diff --git a/src/AddIns/DisplayBindings/WpfDesign/WpfDesign.AddIn/WpfDesign.AddIn.csproj b/src/AddIns/DisplayBindings/WpfDesign/WpfDesign.AddIn/WpfDesign.AddIn.csproj index ecaabadaa3..8b759a826d 100644 --- a/src/AddIns/DisplayBindings/WpfDesign/WpfDesign.AddIn/WpfDesign.AddIn.csproj +++ b/src/AddIns/DisplayBindings/WpfDesign/WpfDesign.AddIn/WpfDesign.AddIn.csproj @@ -1,160 +1,157 @@ - - - - {9A9D6FD4-6A2E-455D-ACC3-DDA775FE9865} - Debug - AnyCPU - Library - ICSharpCode.WpfDesign.AddIn - ICSharpCode.WpfDesign.AddIn - ..\..\..\..\..\AddIns\DisplayBindings\WpfDesign\ - False - False - 4 - false - v4.0 - - - - - true - Full - True - DEBUG;TRACE - False - - - False - None - False - TRACE - - - False - Auto - 4194304 - AnyCPU - 4096 - - - - - - - - 3.5 - - - - - - 4.0 - - - - - - - - Always - - - Configuration\GlobalAssemblyInfo.cs - - - - - - - - - - - - - ChooseImageDialog.xaml - Code - - - ImageSourceEditor.xaml - Code - - - - ObjectEditor.xaml - - - - - - - - WpfDocumentError.xaml - Code - - - - - - - - - {2748AD25-9C63-4E12-877B-4DCE96FBED54} - ICSharpCode.SharpDevelop - False - - - {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} - ICSharpCode.Core - False - - - {7E4A7172-7FF5-48D0-B719-7CD959DD1AC9} - ICSharpCode.Core.Presentation - False - - - {857CA1A3-FC88-4BE0-AB6A-D1EE772AB288} - ICSharpCode.Core.WinForms - False - - - {924EE450-603D-49C1-A8E5-4AFAA31CE6F3} - ICSharpCode.SharpDevelop.Dom - False - - - {8035765F-D51F-4A0C-A746-2FD100E19419} - ICSharpCode.SharpDevelop.Widgets - False - - - {7D7E92DF-ACEB-4B69-92C8-8AC7A703CD57} - FormsDesigner - False - - - {78CC29AC-CC79-4355-B1F2-97936DF198AC} - WpfDesign.Designer - False - - - {88DA149F-21B2-48AB-82C4-28FB6BDFD783} - WpfDesign.XamlDom - False - - - {66A378A1-E9F4-4AD5-8946-D0EC06C2902F} - WpfDesign - False - - - - - - - - - - + + + + {9A9D6FD4-6A2E-455D-ACC3-DDA775FE9865} + Debug + AnyCPU + Library + ICSharpCode.WpfDesign.AddIn + ICSharpCode.WpfDesign.AddIn + ..\..\..\..\..\AddIns\DisplayBindings\WpfDesign\ + False + False + 4 + false + v4.0 + + + + + true + Full + True + DEBUG;TRACE + False + + + False + None + False + TRACE + + + False + Auto + 4194304 + AnyCPU + 4096 + + + + + + + + 3.5 + + + + + + 4.0 + + + + + + + + Always + + + Configuration\GlobalAssemblyInfo.cs + + + + + + + + + + + + + + ChooseImageDialog.xaml + Code + + + ImageSourceEditor.xaml + Code + + + + ObjectEditor.xaml + + + + + + + + WpfDocumentError.xaml + Code + + + + + + + + + {2748AD25-9C63-4E12-877B-4DCE96FBED54} + ICSharpCode.SharpDevelop + False + + + {35CEF10F-2D4C-45F2-9DD1-161E0FEC583C} + ICSharpCode.Core + False + + + {7E4A7172-7FF5-48D0-B719-7CD959DD1AC9} + ICSharpCode.Core.Presentation + False + + + {857CA1A3-FC88-4BE0-AB6A-D1EE772AB288} + ICSharpCode.Core.WinForms + False + + + {924EE450-603D-49C1-A8E5-4AFAA31CE6F3} + ICSharpCode.SharpDevelop.Dom + False + + + {8035765F-D51F-4A0C-A746-2FD100E19419} + ICSharpCode.SharpDevelop.Widgets + False + + + {7D7E92DF-ACEB-4B69-92C8-8AC7A703CD57} + FormsDesigner + False + + + {78CC29AC-CC79-4355-B1F2-97936DF198AC} + WpfDesign.Designer + False + + + {88DA149F-21B2-48AB-82C4-28FB6BDFD783} + WpfDesign.XamlDom + False + + + {66A378A1-E9F4-4AD5-8946-D0EC06C2902F} + WpfDesign + False + + + + + + \ No newline at end of file diff --git a/src/AddIns/DisplayBindings/WpfDesign/WpfDesign.AddIn/WpfDesign.addin b/src/AddIns/DisplayBindings/WpfDesign/WpfDesign.AddIn/WpfDesign.addin index 84bef95e78..896ae6cb0d 100644 --- a/src/AddIns/DisplayBindings/WpfDesign/WpfDesign.AddIn/WpfDesign.addin +++ b/src/AddIns/DisplayBindings/WpfDesign/WpfDesign.AddIn/WpfDesign.addin @@ -23,6 +23,14 @@ title = "WPF designer"/>--> + + +