From 637a937b473fa5aaa1de8c0bbb4d427e99da49c6 Mon Sep 17 00:00:00 2001 From: alcexhim Date: Mon, 30 Jun 2014 22:35:20 -0400 Subject: [PATCH] Various improvements to GTK engine --- .../UniversalEditor.Environments.GTK.csproj | 2 + .../UniversalEditor.Engines.GTK.Editor.cs | 14 ++++- .../gtk-gui/generated.cs | 52 +++++++++++++++++++ .../gtk-gui/gui.stetic | 7 +++ 4 files changed, 74 insertions(+), 1 deletion(-) diff --git a/CSharp/Environments/GTK/Engines/UniversalEditor.Environments.GTK/UniversalEditor.Environments.GTK.csproj b/CSharp/Environments/GTK/Engines/UniversalEditor.Environments.GTK/UniversalEditor.Environments.GTK.csproj index 743274da..2034c021 100644 --- a/CSharp/Environments/GTK/Engines/UniversalEditor.Environments.GTK/UniversalEditor.Environments.GTK.csproj +++ b/CSharp/Environments/GTK/Engines/UniversalEditor.Environments.GTK/UniversalEditor.Environments.GTK.csproj @@ -62,6 +62,8 @@ + + diff --git a/CSharp/Environments/GTK/Engines/UniversalEditor.Environments.GTK/gtk-gui/UniversalEditor.Engines.GTK.Editor.cs b/CSharp/Environments/GTK/Engines/UniversalEditor.Environments.GTK/gtk-gui/UniversalEditor.Engines.GTK.Editor.cs index 31725a6c..efb32372 100644 --- a/CSharp/Environments/GTK/Engines/UniversalEditor.Environments.GTK/gtk-gui/UniversalEditor.Engines.GTK.Editor.cs +++ b/CSharp/Environments/GTK/Engines/UniversalEditor.Environments.GTK/gtk-gui/UniversalEditor.Engines.GTK.Editor.cs @@ -1,7 +1,19 @@ -namespace UniversalEditor.Environments.GTK +// This file has been generated by the GUI designer. Do not modify. +namespace UniversalEditor.Engines.GTK { public partial class Editor { + protected virtual void Build () + { + global::Stetic.Gui.Initialize (this); + // Widget UniversalEditor.Engines.GTK.Editor + global::Stetic.BinContainer.Attach (this); + this.Name = "UniversalEditor.Engines.GTK.Editor"; + if ((this.Child != null)) { + this.Child.ShowAll (); + } + this.Hide (); + } } } diff --git a/CSharp/Environments/GTK/Engines/UniversalEditor.Environments.GTK/gtk-gui/generated.cs b/CSharp/Environments/GTK/Engines/UniversalEditor.Environments.GTK/gtk-gui/generated.cs index 9636f6fc..8d3a3ae5 100644 --- a/CSharp/Environments/GTK/Engines/UniversalEditor.Environments.GTK/gtk-gui/generated.cs +++ b/CSharp/Environments/GTK/Engines/UniversalEditor.Environments.GTK/gtk-gui/generated.cs @@ -14,6 +14,58 @@ namespace Stetic } } + internal class BinContainer + { + private Gtk.Widget child; + private Gtk.UIManager uimanager; + + public static BinContainer Attach (Gtk.Bin bin) + { + BinContainer bc = new BinContainer (); + bin.SizeRequested += new Gtk.SizeRequestedHandler (bc.OnSizeRequested); + bin.SizeAllocated += new Gtk.SizeAllocatedHandler (bc.OnSizeAllocated); + bin.Added += new Gtk.AddedHandler (bc.OnAdded); + return bc; + } + + private void OnSizeRequested (object sender, Gtk.SizeRequestedArgs args) + { + if ((this.child != null)) { + args.Requisition = this.child.SizeRequest (); + } + } + + private void OnSizeAllocated (object sender, Gtk.SizeAllocatedArgs args) + { + if ((this.child != null)) { + this.child.Allocation = args.Allocation; + } + } + + private void OnAdded (object sender, Gtk.AddedArgs args) + { + this.child = args.Widget; + } + + public void SetUiManager (Gtk.UIManager uim) + { + this.uimanager = uim; + this.child.Realized += new System.EventHandler (this.OnRealized); + } + + private void OnRealized (object sender, System.EventArgs args) + { + if ((this.uimanager != null)) { + Gtk.Widget w; + w = this.child.Toplevel; + if (((w != null) && typeof(Gtk.Window).IsInstanceOfType (w))) { + ((Gtk.Window)(w)).AddAccelGroup (this.uimanager.AccelGroup); + this.uimanager = null; + } + } + } + } + internal class ActionGroups { public static Gtk.ActionGroup GetActionGroup (System.Type type) diff --git a/CSharp/Environments/GTK/Engines/UniversalEditor.Environments.GTK/gtk-gui/gui.stetic b/CSharp/Environments/GTK/Engines/UniversalEditor.Environments.GTK/gtk-gui/gui.stetic index 2f9ef263..8204b560 100644 --- a/CSharp/Environments/GTK/Engines/UniversalEditor.Environments.GTK/gtk-gui/gui.stetic +++ b/CSharp/Environments/GTK/Engines/UniversalEditor.Environments.GTK/gtk-gui/gui.stetic @@ -153,4 +153,11 @@ + + + False + + + + \ No newline at end of file