diff options
author | Marius Ungureanu <marius.ungureanu@xamarin.com> | 2015-11-25 20:48:48 +0300 |
---|---|---|
committer | Marius Ungureanu <marius.ungureanu@xamarin.com> | 2015-11-25 20:48:48 +0300 |
commit | 0af4abe88e300e1d06ef232ab0a239307ea4eadf (patch) | |
tree | e5cd9f6b52b9b0ff8d4d82328510641a527f2ec5 | |
parent | cd3bfe9a9461afe45ebea8fcc1a58b2d45445494 (diff) |
[Ide] Make Control with widget constructor private.
10 files changed, 79 insertions, 23 deletions
diff --git a/main/src/addins/CSharpBinding/gtk-gui/generated.cs b/main/src/addins/CSharpBinding/gtk-gui/generated.cs index 3285e87c05..aec72da2fc 100644 --- a/main/src/addins/CSharpBinding/gtk-gui/generated.cs +++ b/main/src/addins/CSharpBinding/gtk-gui/generated.cs @@ -6,9 +6,10 @@ namespace Stetic { private static bool initialized; - internal static void Initialize (Gtk.Widget iconRenderer) + internal static void Initialize(Gtk.Widget iconRenderer) { - if ((Stetic.Gui.initialized == false)) { + if ((Stetic.Gui.initialized == false)) + { Stetic.Gui.initialized = true; } } diff --git a/main/src/addins/MonoDevelop.GtkCore/MonoDevelop.GtkCore.GuiBuilder/CombinedDesignView.cs b/main/src/addins/MonoDevelop.GtkCore/MonoDevelop.GtkCore.GuiBuilder/CombinedDesignView.cs index ad1b5a8310..2961eb94ca 100644 --- a/main/src/addins/MonoDevelop.GtkCore/MonoDevelop.GtkCore.GuiBuilder/CombinedDesignView.cs +++ b/main/src/addins/MonoDevelop.GtkCore/MonoDevelop.GtkCore.GuiBuilder/CombinedDesignView.cs @@ -60,7 +60,7 @@ namespace MonoDevelop.GtkCore.GuiBuilder content.DirtyChanged += new EventHandler (OnTextDirtyChanged); CommandRouterContainer crc = new CommandRouterContainer (content.Control, content, true); - crc.GetNativeWidget<Gtk.Widget> ().Show (); + crc.Show (); control = crc; IdeApp.Workbench.ActiveDocumentChanged += new EventHandler (OnActiveDocumentChanged); diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Components.Chart/BasicChart.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Components.Chart/BasicChart.cs index 4594137292..50e8c52f2f 100644 --- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Components.Chart/BasicChart.cs +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Components.Chart/BasicChart.cs @@ -35,10 +35,15 @@ namespace MonoDevelop.Components.Chart { public class BasicChart: Control { - readonly ChartWidget widget; - public BasicChart () : base (new ChartWidget ()) + ChartWidget widget; + public BasicChart () { - widget = GetNativeWidget<ChartWidget> (); + } + + protected override object CreateNativeWidget () + { + widget = new ChartWidget (); + return widget; } protected internal virtual void OnSelectionChanged () diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Components.Docking/DockItemToolbar.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Components.Docking/DockItemToolbar.cs index de7a5a1f0b..c3a32abc44 100644 --- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Components.Docking/DockItemToolbar.cs +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Components.Docking/DockItemToolbar.cs @@ -200,14 +200,19 @@ namespace MonoDevelop.Components.Docking { } - public DockToolButton (string stockId, string label) : base (new Gtk.Button ()) + public DockToolButton (string stockId, string label) { - button = GetNativeWidget<Gtk.Button> (); + button = new Button (); Label = label; Image = new Gtk.Image (stockId, IconSize.Menu); button.Image.Show (); } + protected override object CreateNativeWidget () + { + return button; + } + public event EventHandler Clicked { add { button.Clicked += value; @@ -219,8 +224,15 @@ namespace MonoDevelop.Components.Docking public class DockToolButtonImage : Control { - internal DockToolButtonImage (Gtk.Image image) : base (image) + Gtk.Image image; + internal DockToolButtonImage (Gtk.Image image) + { + this.image = image; + } + + protected override object CreateNativeWidget () { + return image; } public static implicit operator Gtk.Widget (DockToolButtonImage d) diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Components/Control.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Components/Control.cs index 7616c5a919..a7743598f6 100644 --- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Components/Control.cs +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Components/Control.cs @@ -43,7 +43,7 @@ namespace MonoDevelop.Components { } - public Control (object widget) + Control (object widget) { if (widget == null) throw new ArgumentNullException (nameof (widget)); @@ -128,7 +128,7 @@ namespace MonoDevelop.Components return GetImplicit<Control, Gtk.Widget>(d) ?? new Control (d); } - internal static T GetImplicit<T, U> (U native) where T : Control where U : class + static T GetImplicit<T, U> (U native) where T : Control where U : class { WeakReference<Control> cached; Control target; diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Components/Dialog.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Components/Dialog.cs index 55d8504912..71b79db465 100644 --- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Components/Dialog.cs +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Components/Dialog.cs @@ -29,7 +29,7 @@ namespace MonoDevelop.Components { public class Dialog : Window { - public Dialog (object widget) : base (widget) + public Dialog (object widget) : base(widget) { } @@ -42,8 +42,8 @@ namespace MonoDevelop.Components { if (d == null) return null; - - return GetImplicit<Dialog, Gtk.Dialog> (d) ?? new Dialog (d); + + return (Dialog)(Control)d; } } } diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Components/Menu.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Components/Menu.cs index 620ac4ffde..dbce67970a 100644 --- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Components/Menu.cs +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Components/Menu.cs @@ -54,8 +54,21 @@ namespace MonoDevelop.Components { public class Menu : Control { - public Menu (object widget) : base (widget) + object widget; + public Menu (object widget) { + this.widget = widget; + } + + protected override object CreateNativeWidget () + { + return widget; + } + + protected override void Dispose (bool disposing) + { + widget = null; + base.Dispose (disposing); } public static implicit operator Gtk.Menu (Menu d) @@ -68,7 +81,7 @@ namespace MonoDevelop.Components if (d == null) return null; - return GetImplicit<Menu, Gtk.Menu> (d) ?? new Menu (d); + return (Menu)(Control)d; } } } diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Components/Window.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Components/Window.cs index 02df7ce9a1..09e20a507d 100644 --- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Components/Window.cs +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Components/Window.cs @@ -29,8 +29,21 @@ namespace MonoDevelop.Components { public class Window : Control { - public Window (object widget) : base (widget) + object widget; + public Window (object widget) { + this.widget = widget; + } + + protected override object CreateNativeWidget () + { + return widget; + } + + protected override void Dispose (bool disposing) + { + base.Dispose (disposing); + widget = null; } public static implicit operator Gtk.Window (Window d) @@ -42,8 +55,8 @@ namespace MonoDevelop.Components { if (d == null) return null; - - return GetImplicit<Window, Gtk.Window> (d) ?? new Window(d); + + return (Window)(Control)d; } } } diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui/DocumentToolbar.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui/DocumentToolbar.cs index 650e218181..d4304a7bbb 100644 --- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui/DocumentToolbar.cs +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui/DocumentToolbar.cs @@ -202,14 +202,19 @@ namespace MonoDevelop.Ide.Gui { } - public DocumentToolButton (string stockId, string label) : base (new Gtk.Button ()) + public DocumentToolButton (string stockId, string label) { - button = GetNativeWidget<Gtk.Button> (); + button = new Button (); Label = label; Image = new Gtk.Image (stockId, IconSize.Menu); button.Image.Show (); } + protected override object CreateNativeWidget () + { + return button; + } + public event EventHandler Clicked { add { button.Clicked += value; @@ -221,8 +226,15 @@ namespace MonoDevelop.Ide.Gui public class DocumentToolButtonImage : Control { - internal DocumentToolButtonImage (Gtk.Image image) : base (image) + Gtk.Image image; + internal DocumentToolButtonImage (Gtk.Image image) + { + this.image = image; + } + + protected override object CreateNativeWidget () { + return image; } public static implicit operator Gtk.Widget (DocumentToolButtonImage d) diff --git a/main/tests/UnitTests/MonoDevelop.Ide.Templates/TestableWizardPage.cs b/main/tests/UnitTests/MonoDevelop.Ide.Templates/TestableWizardPage.cs index ee368d6dbe..76ed0b3155 100644 --- a/main/tests/UnitTests/MonoDevelop.Ide.Templates/TestableWizardPage.cs +++ b/main/tests/UnitTests/MonoDevelop.Ide.Templates/TestableWizardPage.cs @@ -32,7 +32,7 @@ namespace MonoDevelop.Ide.Templates {
protected override object CreateNativeWidget ()
{
- return new Control (new Gtk.EventBox ());
+ return new Gtk.EventBox ();
}
public int PageNumber;
|