diff options
author | Michael Hutchinson <mhutchinson@novell.com> | 2009-09-24 01:58:53 +0400 |
---|---|---|
committer | Michael Hutchinson <mhutchinson@novell.com> | 2009-09-24 01:58:53 +0400 |
commit | 2612674bf1ffe84a7225d07094058898a718c010 (patch) | |
tree | 182f0258a55e86a47e25f8b5e4cd583f1ee72a15 /main | |
parent | 06d0989170e050463ad454fd04f57e0863dbe7fb (diff) |
* src/core/MonoDevelop.Ide/Makefile.am:
* src/core/MonoDevelop.Components/Makefile.am:
* src/core/MonoDevelop.Ide/MonoDevelop.Ide.csproj:
* src/addins/MonoDevelop.DesignerSupport/Makefile.am:
* src/core/MonoDevelop.Components/MonoDevelop.Components.csproj:
* src/addins/MonoDevelop.DesignerSupport/MonoDevelop.DesignerSupport.csproj:
* src/core/MonoDevelop.Ide/MonoDevelop.Ide.CodeTemplates/EditTemplateDialog.cs:
* src/core/MonoDevelop.Components/MonoDevelop.Components.PropertyGrid/PropertyGrid.cs:
* src/core/MonoDevelop.Components/MonoDevelop.Components.PropertyGrid/PropertyGridTree.cs:
* src/core/MonoDevelop.Components/MonoDevelop.Components.PropertyGrid/EventPropertyTab.cs:
* src/core/MonoDevelop.Components/MonoDevelop.Components.PropertyGrid/DefaultPropertyTab.cs:
Eliminate the property grid's System.Windows.Forms dependency,
because it hurts Mac cold startup time.
svn path=/trunk/monodevelop/; revision=142520
Diffstat (limited to 'main')
14 files changed, 79 insertions, 23 deletions
diff --git a/main/src/addins/MonoDevelop.DesignerSupport/ChangeLog b/main/src/addins/MonoDevelop.DesignerSupport/ChangeLog index 04b33aec39..77c55b7fa4 100644 --- a/main/src/addins/MonoDevelop.DesignerSupport/ChangeLog +++ b/main/src/addins/MonoDevelop.DesignerSupport/ChangeLog @@ -1,3 +1,10 @@ +2009-09-23 Michael Hutchinson <mhutchinson@novell.com> + + * Makefile.am: + * MonoDevelop.DesignerSupport.csproj: Eliminate the property + grid's System.Windows.Forms dependency, because it hurts Mac + cold startup time. + 2009-09-23 Lluis Sanchez Gual <lluis@novell.com> * MonoDevelop.DesignerSupport.Toolbox/ToolboxItemToolboxLoader.cs: diff --git a/main/src/addins/MonoDevelop.DesignerSupport/Makefile.am b/main/src/addins/MonoDevelop.DesignerSupport/Makefile.am index 1400735b6b..eab27d4fc3 100644 --- a/main/src/addins/MonoDevelop.DesignerSupport/Makefile.am +++ b/main/src/addins/MonoDevelop.DesignerSupport/Makefile.am @@ -22,7 +22,6 @@ REFS = \ -r:System.Drawing \ -r:System.Drawing.Design \ -r:System.Web \ - -r:System.Windows.Forms \ -r:System.Xml FILES = \ diff --git a/main/src/addins/MonoDevelop.DesignerSupport/MonoDevelop.DesignerSupport.csproj b/main/src/addins/MonoDevelop.DesignerSupport/MonoDevelop.DesignerSupport.csproj index 2a2b61d6d0..5fdf356e0d 100644 --- a/main/src/addins/MonoDevelop.DesignerSupport/MonoDevelop.DesignerSupport.csproj +++ b/main/src/addins/MonoDevelop.DesignerSupport/MonoDevelop.DesignerSupport.csproj @@ -9,6 +9,7 @@ <OutputType>Library</OutputType> <AssemblyName>MonoDevelop.DesignerSupport</AssemblyName> <TargetFrameworkVersion>v3.5</TargetFrameworkVersion> + <RootNamespace>MonoDevelop.DesignerSupport</RootNamespace> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> <DebugSymbols>true</DebugSymbols> @@ -37,7 +38,6 @@ <Reference Include="System.Drawing.Design" /> <Reference Include="System.Design" /> <Reference Include="System.Xml" /> - <Reference Include="System.Windows.Forms" /> <Reference Include="System.Web" /> <Reference Include="System.Drawing" /> <Reference Include="Mono.Posix" /> @@ -156,7 +156,9 @@ <Compile Include="MonoDevelop.DesignerSupport\CodeBehindWriter.cs" /> </ItemGroup> <ItemGroup> - <EmbeddedResource Include="MonoDevelop.DesignerSupport.addin.xml" /> + <EmbeddedResource Include="MonoDevelop.DesignerSupport.addin.xml"> + <LogicalName>MonoDevelop.DesignerSupport.addin.xml</LogicalName> + </EmbeddedResource> <EmbeddedResource Include="icons\group-by-category.png"> <LogicalName>group-by-category.png</LogicalName> </EmbeddedResource> diff --git a/main/src/core/MonoDevelop.Components/ChangeLog b/main/src/core/MonoDevelop.Components/ChangeLog index 580be7ec95..09b2d2c0e5 100644 --- a/main/src/core/MonoDevelop.Components/ChangeLog +++ b/main/src/core/MonoDevelop.Components/ChangeLog @@ -1,3 +1,14 @@ +2009-09-23 Michael Hutchinson <mhutchinson@novell.com> + + * Makefile.am: + * MonoDevelop.Components.csproj: + * MonoDevelop.Components.PropertyGrid/PropertyGrid.cs: + * MonoDevelop.Components.PropertyGrid/EventPropertyTab.cs: + * MonoDevelop.Components.PropertyGrid/PropertyGridTree.cs: + * MonoDevelop.Components.PropertyGrid/DefaultPropertyTab.cs: + Eliminate the property grid's System.Windows.Forms + dependency, because it hurts Mac cold startup time. + 2009-09-23 Lluis Sanchez Gual <lluis@novell.com> * MonoDevelop.Components.Commands/CommandRouterContainer.cs: diff --git a/main/src/core/MonoDevelop.Components/Makefile.am b/main/src/core/MonoDevelop.Components/Makefile.am index 05900351b5..8bb48c74c4 100644 --- a/main/src/core/MonoDevelop.Components/Makefile.am +++ b/main/src/core/MonoDevelop.Components/Makefile.am @@ -12,7 +12,6 @@ REFS = \ -r:System \ -r:System.Core \ -r:System.Drawing \ - -r:System.Windows.Forms \ -r:System.Xml FILES = \ diff --git a/main/src/core/MonoDevelop.Components/MonoDevelop.Components.PropertyGrid/DefaultPropertyTab.cs b/main/src/core/MonoDevelop.Components/MonoDevelop.Components.PropertyGrid/DefaultPropertyTab.cs index d08ff80d3d..7b6c9831ff 100644 --- a/main/src/core/MonoDevelop.Components/MonoDevelop.Components.PropertyGrid/DefaultPropertyTab.cs +++ b/main/src/core/MonoDevelop.Components/MonoDevelop.Components.PropertyGrid/DefaultPropertyTab.cs @@ -34,7 +34,6 @@ using Gtk; using System; using System.ComponentModel; -using System.Windows.Forms.Design; using MonoDevelop.Core; namespace MonoDevelop.Components.PropertyGrid
@@ -69,4 +68,25 @@ namespace MonoDevelop.Components.PropertyGrid return TypeDescriptor.GetProperties (component); } } + + public abstract class PropertyTab + { + public abstract string TabName { get; } + public abstract bool CanExtend (object extendee); + public abstract PropertyDescriptor GetDefaultProperty (object component); + public abstract PropertyDescriptorCollection GetProperties (object component, Attribute[] attributes); + + public PropertyDescriptorCollection GetProperties (object component) + { + return GetProperties (null); + } + + public Gdk.Pixbuf GetIcon () + { + using (var stream = GetType ().Assembly.GetManifestResourceStream (GetType ().FullName + ".bmp")) + if (stream != null) + return new Gdk.Pixbuf (stream); + return null; + } + } }
\ No newline at end of file diff --git a/main/src/core/MonoDevelop.Components/MonoDevelop.Components.PropertyGrid/EventPropertyTab.cs b/main/src/core/MonoDevelop.Components/MonoDevelop.Components.PropertyGrid/EventPropertyTab.cs index 2a497fc9c0..32d03e4e03 100644 --- a/main/src/core/MonoDevelop.Components/MonoDevelop.Components.PropertyGrid/EventPropertyTab.cs +++ b/main/src/core/MonoDevelop.Components/MonoDevelop.Components.PropertyGrid/EventPropertyTab.cs @@ -34,7 +34,6 @@ using System; using System.ComponentModel; using System.ComponentModel.Design; -using System.Windows.Forms.Design; using MonoDevelop.Core; namespace MonoDevelop.Components.PropertyGrid
diff --git a/main/src/core/MonoDevelop.Components/MonoDevelop.Components.PropertyGrid/PropertyGrid.cs b/main/src/core/MonoDevelop.Components/MonoDevelop.Components.PropertyGrid/PropertyGrid.cs index e4404b16a8..5b8039d05e 100644 --- a/main/src/core/MonoDevelop.Components/MonoDevelop.Components.PropertyGrid/PropertyGrid.cs +++ b/main/src/core/MonoDevelop.Components/MonoDevelop.Components.PropertyGrid/PropertyGrid.cs @@ -37,7 +37,6 @@ using System; using System.IO; using System.Collections; using System.ComponentModel; -using System.Windows.Forms.Design; using Gtk; using Gdk; @@ -69,7 +68,7 @@ namespace MonoDevelop.Components.PropertyGrid EditorManager editorManager;
- System.Windows.Forms.PropertySort propertySort = System.Windows.Forms.PropertySort.Categorized;
+ PropertySort propertySort = PropertySort.Categorized;
const string PROP_HELP_KEY = "MonoDevelop.PropertyPad.ShowHelp";
@@ -156,9 +155,9 @@ namespace MonoDevelop.Components.PropertyGrid void toolbarClick (object sender, EventArgs e)
{
if (sender == alphButton)
- PropertySort = System.Windows.Forms.PropertySort.Alphabetical;
+ PropertySort = PropertySort.Alphabetical;
else if (sender == catButton)
- PropertySort = System.Windows.Forms.PropertySort.Categorized; + PropertySort = PropertySort.Categorized; else { TabRadioToolButton button = (TabRadioToolButton) sender; if (selectedTab == button.Tab) return; @@ -167,7 +166,7 @@ namespace MonoDevelop.Components.PropertyGrid }
} - public System.Windows.Forms.PropertySort PropertySort {
+ public PropertySort PropertySort {
get { return propertySort; }
set {
if (value != propertySort) {
@@ -197,9 +196,10 @@ namespace MonoDevelop.Components.PropertyGrid rtb = new TabRadioToolButton (
(RadioToolButton) toolbar.GetNthItem (propertyTabs.Count + FirstTabIndex - 1)); - //load image from PropertyTab's bitmap - if (tab.Bitmap != null) - rtb.IconWidget = new Gtk.Image (ImageToPixbuf (tab.Bitmap)); + //load image from PropertyTab's bitmap
+ var icon = tab.GetIcon (); + if (icon != null) + rtb.IconWidget = new Gtk.Image (icon); else rtb.IconWidget = new Gtk.Image (Stock.MissingImage, IconSize.SmallToolbar); @@ -399,5 +399,13 @@ namespace MonoDevelop.Components.PropertyGrid } public PropertyTab Tab; + }
+
+ public enum PropertySort
+ {
+ NoSort = 0,
+ Alphabetical,
+ Categorized,
+ CategorizedAlphabetical
} } diff --git a/main/src/core/MonoDevelop.Components/MonoDevelop.Components.PropertyGrid/PropertyGridTree.cs b/main/src/core/MonoDevelop.Components/MonoDevelop.Components.PropertyGrid/PropertyGridTree.cs index 62ba19c5fa..b0b0e70654 100644 --- a/main/src/core/MonoDevelop.Components/MonoDevelop.Components.PropertyGrid/PropertyGridTree.cs +++ b/main/src/core/MonoDevelop.Components/MonoDevelop.Components.PropertyGrid/PropertyGridTree.cs @@ -49,7 +49,7 @@ namespace MonoDevelop.Components.PropertyGrid public event EventHandler Changed; - private System.Windows.Forms.PropertySort propertySort = System.Windows.Forms.PropertySort.Categorized; + private PropertySort propertySort = PropertySort.Categorized; public PropertyGridTree (EditorManager editorManager, PropertyGrid parentGrid) @@ -155,14 +155,14 @@ namespace MonoDevelop.Components.PropertyGrid QueueDraw (); } - public System.Windows.Forms.PropertySort PropertySort {
+ public PropertySort PropertySort {
get { return propertySort; }
set { propertySort = value; }
} internal void Populate (PropertyDescriptorCollection properties, object instance) { - bool categorised = PropertySort == System.Windows.Forms.PropertySort.Categorized; + bool categorised = PropertySort == PropertySort.Categorized; //transcribe browsable properties
ArrayList sorted = new ArrayList();
diff --git a/main/src/core/MonoDevelop.Components/MonoDevelop.Components.csproj b/main/src/core/MonoDevelop.Components/MonoDevelop.Components.csproj index dcebdfbfa3..33123607c9 100644 --- a/main/src/core/MonoDevelop.Components/MonoDevelop.Components.csproj +++ b/main/src/core/MonoDevelop.Components/MonoDevelop.Components.csproj @@ -9,6 +9,7 @@ <OutputType>Library</OutputType> <AssemblyName>MonoDevelop.Components</AssemblyName> <TargetFrameworkVersion>v3.5</TargetFrameworkVersion> + <RootNamespace>MonoDevelop.Components</RootNamespace> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> <DebugSymbols>true</DebugSymbols> @@ -62,7 +63,6 @@ <Reference Include="System.Core"> <RequiredTargetFramework>3.5</RequiredTargetFramework> </Reference> - <Reference Include="System.Windows.Forms" /> <Reference Include="Mono.Cairo" /> </ItemGroup> <ItemGroup> @@ -79,7 +79,9 @@ <EmbeddedResource Include="gtk-gui\gui.stetic"> <LogicalName>gui.stetic</LogicalName> </EmbeddedResource> - <EmbeddedResource Include="MonoDevelop.Components.addin.xml" /> + <EmbeddedResource Include="MonoDevelop.Components.addin.xml"> + <LogicalName>MonoDevelop.Components.addin.xml</LogicalName> + </EmbeddedResource> <EmbeddedResource Include="icons\MonoDevelop.Components.PropertyGrid.DefaultPropertyTab.bmp"> <LogicalName>MonoDevelop.Components.PropertyGrid.DefaultPropertyTab.bmp</LogicalName> </EmbeddedResource> diff --git a/main/src/core/MonoDevelop.Ide/ChangeLog b/main/src/core/MonoDevelop.Ide/ChangeLog index 6b9945124c..0496773d19 100644 --- a/main/src/core/MonoDevelop.Ide/ChangeLog +++ b/main/src/core/MonoDevelop.Ide/ChangeLog @@ -1,5 +1,13 @@ 2009-09-23 Michael Hutchinson <mhutchinson@novell.com> + * Makefile.am: + * MonoDevelop.Ide.csproj: + * MonoDevelop.Ide.CodeTemplates/EditTemplateDialog.cs: + Eliminate the property grid's System.Windows.Forms + dependency, because it hurts Mac cold startup time. + +2009-09-23 Michael Hutchinson <mhutchinson@novell.com> + * MonoDevelop.Ide.CodeTemplates/CodeTemplatePanel.cs: Disable edit/remove buttons when there is not a selected template. Fixes some NREs. diff --git a/main/src/core/MonoDevelop.Ide/Makefile.am b/main/src/core/MonoDevelop.Ide/Makefile.am index d83784c274..bcb7927924 100644 --- a/main/src/core/MonoDevelop.Ide/Makefile.am +++ b/main/src/core/MonoDevelop.Ide/Makefile.am @@ -26,7 +26,6 @@ REFS = \ -r:System.Drawing \ -r:System.Runtime.Remoting \ -r:System.Web.Services \ - -r:System.Windows.Forms \ -r:System.Xml FILES = \ diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CodeTemplates/EditTemplateDialog.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CodeTemplates/EditTemplateDialog.cs index e90651805e..c9c9bc7e4c 100644 --- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CodeTemplates/EditTemplateDialog.cs +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.CodeTemplates/EditTemplateDialog.cs @@ -111,7 +111,7 @@ namespace MonoDevelop.Ide.CodeTemplates }); grid = new MonoDevelop.Components.PropertyGrid.PropertyGrid (); - grid.PropertySort = System.Windows.Forms.PropertySort.Alphabetical; + grid.PropertySort = MonoDevelop.Components.PropertyGrid.PropertySort.Alphabetical; grid.ShowHelp = true; grid.ShowAll (); grid.ShowToolbar = false; diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.csproj b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.csproj index 53fe6e65a5..3fef28bf68 100644 --- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.csproj +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.csproj @@ -9,6 +9,7 @@ <OutputType>Library</OutputType> <AssemblyName>MonoDevelop.Ide</AssemblyName> <TargetFrameworkVersion>v3.5</TargetFrameworkVersion> + <RootNamespace>MonoDevelop.Ide</RootNamespace> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> <DebugSymbols>true</DebugSymbols> @@ -72,7 +73,6 @@ </Reference> <Reference Include="ICSharpCode.SharpZipLib" /> <Reference Include="Mono.Cairo" /> - <Reference Include="System.Windows.Forms" /> </ItemGroup> <ItemGroup> <ProjectReference Include="..\MonoDevelop.Dock\MonoDevelop.Dock.csproj"> @@ -149,7 +149,9 @@ <EmbeddedResource Include="icons\SplashScreen.png"> <LogicalName>SplashScreen.png</LogicalName> </EmbeddedResource> - <EmbeddedResource Include="MonoDevelop.Ide.addin.xml" /> + <EmbeddedResource Include="MonoDevelop.Ide.addin.xml"> + <LogicalName>MonoDevelop.Ide.addin.xml</LogicalName> + </EmbeddedResource> <EmbeddedResource Include="icons\Icons.16x16.LinkOverlay.png"> <LogicalName>Icons.16x16.LinkOverlay.png</LogicalName> </EmbeddedResource> |