From 10b7b29b5bdfca0eb49b260779e9d4041f81eef0 Mon Sep 17 00:00:00 2001 From: alcexhim Date: Wed, 9 Jul 2014 18:18:24 -0400 Subject: [PATCH] Fixed some major Editor issues, hopefully --- .../AssemblyInfo.cs | 27 ++++++ .../Editors/FileSystem/FileSystemEditor.cs | 58 +++++++++++++ ...itor.Engines.GTK.Plugins.FileSystem.csproj | 87 +++++++++++++++++++ ...tor.Editors.FileSystem.FileSystemEditor.cs | 85 ++++++++++++++++++ .../gtk-gui/generated.cs | 81 +++++++++++++++++ .../gtk-gui/gui.stetic | 86 ++++++++++++++++++ ...or.Engines.GTK.Plugins.UnrealEngine.csproj | 1 + ...nrealEngine.Package.UnrealPackageEditor.cs | 68 +++++++++++++++ .../GTK/UniversalEditor.Engines.GTK/Editor.cs | 30 ++++++- .../UniversalEditor.Engines.GTK/MainWindow.cs | 6 +- .../UniversalEditor.Engines.GTK.MainWindow.cs | 18 ++-- .../gtk-gui/gui.stetic | 6 +- CSharp/UniversalEditor.GTK.sln | 15 ++++ 13 files changed, 554 insertions(+), 14 deletions(-) create mode 100644 CSharp/Engines/GTK/Plugins/UniversalEditor.Engines.GTK.Plugins.FileSystem/UniversalEditor.Engines.GTK.Plugins.FileSystem/AssemblyInfo.cs create mode 100644 CSharp/Engines/GTK/Plugins/UniversalEditor.Engines.GTK.Plugins.FileSystem/UniversalEditor.Engines.GTK.Plugins.FileSystem/Editors/FileSystem/FileSystemEditor.cs create mode 100644 CSharp/Engines/GTK/Plugins/UniversalEditor.Engines.GTK.Plugins.FileSystem/UniversalEditor.Engines.GTK.Plugins.FileSystem/UniversalEditor.Engines.GTK.Plugins.FileSystem.csproj create mode 100644 CSharp/Engines/GTK/Plugins/UniversalEditor.Engines.GTK.Plugins.FileSystem/UniversalEditor.Engines.GTK.Plugins.FileSystem/gtk-gui/UniversalEditor.Editors.FileSystem.FileSystemEditor.cs create mode 100644 CSharp/Engines/GTK/Plugins/UniversalEditor.Engines.GTK.Plugins.FileSystem/UniversalEditor.Engines.GTK.Plugins.FileSystem/gtk-gui/generated.cs create mode 100644 CSharp/Engines/GTK/Plugins/UniversalEditor.Engines.GTK.Plugins.FileSystem/UniversalEditor.Engines.GTK.Plugins.FileSystem/gtk-gui/gui.stetic create mode 100644 CSharp/Engines/GTK/Plugins/UniversalEditor.Engines.GTK.Plugins.UnrealEngine/gtk-gui/UniversalEditor.Editors.UnrealEngine.Package.UnrealPackageEditor.cs diff --git a/CSharp/Engines/GTK/Plugins/UniversalEditor.Engines.GTK.Plugins.FileSystem/UniversalEditor.Engines.GTK.Plugins.FileSystem/AssemblyInfo.cs b/CSharp/Engines/GTK/Plugins/UniversalEditor.Engines.GTK.Plugins.FileSystem/UniversalEditor.Engines.GTK.Plugins.FileSystem/AssemblyInfo.cs new file mode 100644 index 00000000..568c2136 --- /dev/null +++ b/CSharp/Engines/GTK/Plugins/UniversalEditor.Engines.GTK.Plugins.FileSystem/UniversalEditor.Engines.GTK.Plugins.FileSystem/AssemblyInfo.cs @@ -0,0 +1,27 @@ +using System.Reflection; +using System.Runtime.CompilerServices; + +// Information about this assembly is defined by the following attributes. +// Change them to the values specific to your project. + +[assembly: AssemblyTitle("UniversalEditor.Engines.GTK.Plugins.FileSystem")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("")] +[assembly: AssemblyCopyright("beckermj")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// The assembly version has the format "{Major}.{Minor}.{Build}.{Revision}". +// The form "{Major}.{Minor}.*" will automatically update the build and revision, +// and "{Major}.{Minor}.{Build}.*" will update just the revision. + +[assembly: AssemblyVersion("1.0.*")] + +// The following attributes are used to specify the signing key for the assembly, +// if desired. See the Mono documentation for more information about signing. + +//[assembly: AssemblyDelaySign(false)] +//[assembly: AssemblyKeyFile("")] + diff --git a/CSharp/Engines/GTK/Plugins/UniversalEditor.Engines.GTK.Plugins.FileSystem/UniversalEditor.Engines.GTK.Plugins.FileSystem/Editors/FileSystem/FileSystemEditor.cs b/CSharp/Engines/GTK/Plugins/UniversalEditor.Engines.GTK.Plugins.FileSystem/UniversalEditor.Engines.GTK.Plugins.FileSystem/Editors/FileSystem/FileSystemEditor.cs new file mode 100644 index 00000000..5ba19c7d --- /dev/null +++ b/CSharp/Engines/GTK/Plugins/UniversalEditor.Engines.GTK.Plugins.FileSystem/UniversalEditor.Engines.GTK.Plugins.FileSystem/Editors/FileSystem/FileSystemEditor.cs @@ -0,0 +1,58 @@ +using System; +using UniversalEditor.Engines.GTK; + +using UniversalEditor; +using UniversalEditor.UserInterface; +using UniversalEditor.ObjectModels.FileSystem; + +namespace UniversalEditor.Editors.FileSystem +{ + [System.ComponentModel.ToolboxItem(true)] + public partial class FileSystemEditor : Editor + { + public FileSystemEditor () + { + this.Build (); + + tvFiles.AppendColumn(new Gtk.TreeViewColumn("Name", new Gtk.CellRendererText(), 1)); + tvFiles.AppendColumn(new Gtk.TreeViewColumn("Size", new Gtk.CellRendererText(), 2)); + tvFiles.AppendColumn(new Gtk.TreeViewColumn("Type", new Gtk.CellRendererText())); + tvFiles.AppendColumn(new Gtk.TreeViewColumn("Date Modified", new Gtk.CellRendererText())); + } + + private Folder mvarCurrentFolder = null; + private void RefreshListView() + { + FileSystemObjectModel fsom = (ObjectModel as FileSystemObjectModel); + if (fsom == null) return; + + File.FileCollection fileColl = null; + if (mvarCurrentFolder == null) + { + fileColl = fsom.Files; + } + else + { + fileColl = mvarCurrentFolder.Files; + } + + Gtk.TreeStore ts = new Gtk.TreeStore(typeof(File), typeof(string), typeof(long)); + foreach (File file in fileColl) + { + ts.AppendValues(file, file.Name, file.Size); + } + tvFiles.Model = ts; + } + + protected override void OnObjectModelChanged (EventArgs e) + { + base.OnObjectModelChanged(e); + + FileSystemObjectModel fsom = (ObjectModel as FileSystemObjectModel); + if (fsom == null) return; + + RefreshListView(); + } + } +} + diff --git a/CSharp/Engines/GTK/Plugins/UniversalEditor.Engines.GTK.Plugins.FileSystem/UniversalEditor.Engines.GTK.Plugins.FileSystem/UniversalEditor.Engines.GTK.Plugins.FileSystem.csproj b/CSharp/Engines/GTK/Plugins/UniversalEditor.Engines.GTK.Plugins.FileSystem/UniversalEditor.Engines.GTK.Plugins.FileSystem/UniversalEditor.Engines.GTK.Plugins.FileSystem.csproj new file mode 100644 index 00000000..1245e17c --- /dev/null +++ b/CSharp/Engines/GTK/Plugins/UniversalEditor.Engines.GTK.Plugins.FileSystem/UniversalEditor.Engines.GTK.Plugins.FileSystem/UniversalEditor.Engines.GTK.Plugins.FileSystem.csproj @@ -0,0 +1,87 @@ + + + + Debug + AnyCPU + 10.0.0 + 2.0 + {895D95A4-E37F-40F7-B606-4B8FA61B0449} + Library + UniversalEditor.Engines.GTK.Plugins.FileSystem + UniversalEditor.Engines.GTK.Plugins.FileSystem + + + true + full + false + bin\Debug + DEBUG; + prompt + 4 + false + + + none + true + bin\Release + prompt + 4 + false + + + + + + gtk-sharp-2.0 + + + gtk-sharp-2.0 + + + glib-sharp-2.0 + + + glade-sharp-2.0 + + + gtk-sharp-2.0 + + + gtk-sharp-2.0 + + + + + gui.stetic + + + + + + + + + + + + + + + + {2D4737E6-6D95-408A-90DB-8DFF38147E85} + UniversalEditor.Core + + + {AF5F8ED3-D534-4609-94ED-B2800455B88F} + UniversalEditor.Engines.GTK + + + {30467E5C-05BC-4856-AADC-13906EF4CADD} + UniversalEditor.Essential + + + {8622EBC4-8E20-476E-B284-33D472081F5C} + UniversalEditor.UserInterface + + + \ No newline at end of file diff --git a/CSharp/Engines/GTK/Plugins/UniversalEditor.Engines.GTK.Plugins.FileSystem/UniversalEditor.Engines.GTK.Plugins.FileSystem/gtk-gui/UniversalEditor.Editors.FileSystem.FileSystemEditor.cs b/CSharp/Engines/GTK/Plugins/UniversalEditor.Engines.GTK.Plugins.FileSystem/UniversalEditor.Engines.GTK.Plugins.FileSystem/gtk-gui/UniversalEditor.Editors.FileSystem.FileSystemEditor.cs new file mode 100644 index 00000000..ae103e15 --- /dev/null +++ b/CSharp/Engines/GTK/Plugins/UniversalEditor.Engines.GTK.Plugins.FileSystem/UniversalEditor.Engines.GTK.Plugins.FileSystem/gtk-gui/UniversalEditor.Editors.FileSystem.FileSystemEditor.cs @@ -0,0 +1,85 @@ + +// This file has been generated by the GUI designer. Do not modify. +namespace UniversalEditor.Editors.FileSystem +{ + public partial class FileSystemEditor + { + private global::Gtk.UIManager UIManager; + private global::Gtk.HBox hbox1; + private global::Gtk.HPaned hpaned1; + private global::Gtk.ScrolledWindow GtkScrolledWindow; + private global::Gtk.TreeView tvFolders; + private global::Gtk.VBox vbox3; + private global::Gtk.Toolbar tbBreadcrumb; + private global::Gtk.ScrolledWindow GtkScrolledWindow1; + private global::Gtk.TreeView tvFiles; + + protected virtual void Build () + { + global::Stetic.Gui.Initialize (this); + // Widget UniversalEditor.Editors.FileSystem.FileSystemEditor + Stetic.BinContainer w1 = global::Stetic.BinContainer.Attach (this); + this.UIManager = new global::Gtk.UIManager (); + global::Gtk.ActionGroup w2 = new global::Gtk.ActionGroup ("Default"); + this.UIManager.InsertActionGroup (w2, 0); + this.Name = "UniversalEditor.Editors.FileSystem.FileSystemEditor"; + // Container child UniversalEditor.Editors.FileSystem.FileSystemEditor.Gtk.Container+ContainerChild + this.hbox1 = new global::Gtk.HBox (); + this.hbox1.Name = "hbox1"; + this.hbox1.Spacing = 6; + // Container child hbox1.Gtk.Box+BoxChild + this.hpaned1 = new global::Gtk.HPaned (); + this.hpaned1.CanFocus = true; + this.hpaned1.Name = "hpaned1"; + this.hpaned1.Position = 203; + // Container child hpaned1.Gtk.Paned+PanedChild + this.GtkScrolledWindow = new global::Gtk.ScrolledWindow (); + this.GtkScrolledWindow.Name = "GtkScrolledWindow"; + this.GtkScrolledWindow.ShadowType = ((global::Gtk.ShadowType)(1)); + // Container child GtkScrolledWindow.Gtk.Container+ContainerChild + this.tvFolders = new global::Gtk.TreeView (); + this.tvFolders.CanFocus = true; + this.tvFolders.Name = "tvFolders"; + this.GtkScrolledWindow.Add (this.tvFolders); + this.hpaned1.Add (this.GtkScrolledWindow); + global::Gtk.Paned.PanedChild w4 = ((global::Gtk.Paned.PanedChild)(this.hpaned1 [this.GtkScrolledWindow])); + w4.Resize = false; + // Container child hpaned1.Gtk.Paned+PanedChild + this.vbox3 = new global::Gtk.VBox (); + this.vbox3.Name = "vbox3"; + this.vbox3.Spacing = 6; + // Container child vbox3.Gtk.Box+BoxChild + this.UIManager.AddUiFromString (""); + this.tbBreadcrumb = ((global::Gtk.Toolbar)(this.UIManager.GetWidget ("/tbBreadcrumb"))); + this.tbBreadcrumb.Name = "tbBreadcrumb"; + this.tbBreadcrumb.ShowArrow = false; + this.vbox3.Add (this.tbBreadcrumb); + global::Gtk.Box.BoxChild w5 = ((global::Gtk.Box.BoxChild)(this.vbox3 [this.tbBreadcrumb])); + w5.Position = 0; + w5.Expand = false; + w5.Fill = false; + // Container child vbox3.Gtk.Box+BoxChild + this.GtkScrolledWindow1 = new global::Gtk.ScrolledWindow (); + this.GtkScrolledWindow1.Name = "GtkScrolledWindow1"; + this.GtkScrolledWindow1.ShadowType = ((global::Gtk.ShadowType)(1)); + // Container child GtkScrolledWindow1.Gtk.Container+ContainerChild + this.tvFiles = new global::Gtk.TreeView (); + this.tvFiles.CanFocus = true; + this.tvFiles.Name = "tvFiles"; + this.GtkScrolledWindow1.Add (this.tvFiles); + this.vbox3.Add (this.GtkScrolledWindow1); + global::Gtk.Box.BoxChild w7 = ((global::Gtk.Box.BoxChild)(this.vbox3 [this.GtkScrolledWindow1])); + w7.Position = 1; + this.hpaned1.Add (this.vbox3); + this.hbox1.Add (this.hpaned1); + global::Gtk.Box.BoxChild w9 = ((global::Gtk.Box.BoxChild)(this.hbox1 [this.hpaned1])); + w9.Position = 0; + this.Add (this.hbox1); + if ((this.Child != null)) { + this.Child.ShowAll (); + } + w1.SetUiManager (UIManager); + this.Hide (); + } + } +} diff --git a/CSharp/Engines/GTK/Plugins/UniversalEditor.Engines.GTK.Plugins.FileSystem/UniversalEditor.Engines.GTK.Plugins.FileSystem/gtk-gui/generated.cs b/CSharp/Engines/GTK/Plugins/UniversalEditor.Engines.GTK.Plugins.FileSystem/UniversalEditor.Engines.GTK.Plugins.FileSystem/gtk-gui/generated.cs new file mode 100644 index 00000000..8d3a3ae5 --- /dev/null +++ b/CSharp/Engines/GTK/Plugins/UniversalEditor.Engines.GTK.Plugins.FileSystem/UniversalEditor.Engines.GTK.Plugins.FileSystem/gtk-gui/generated.cs @@ -0,0 +1,81 @@ + +// This file has been generated by the GUI designer. Do not modify. +namespace Stetic +{ + internal class Gui + { + private static bool initialized; + + internal static void Initialize (Gtk.Widget iconRenderer) + { + if ((Stetic.Gui.initialized == false)) { + Stetic.Gui.initialized = true; + } + } + } + + 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) + { + return Stetic.ActionGroups.GetActionGroup (type.FullName); + } + + public static Gtk.ActionGroup GetActionGroup (string name) + { + return null; + } + } +} diff --git a/CSharp/Engines/GTK/Plugins/UniversalEditor.Engines.GTK.Plugins.FileSystem/UniversalEditor.Engines.GTK.Plugins.FileSystem/gtk-gui/gui.stetic b/CSharp/Engines/GTK/Plugins/UniversalEditor.Engines.GTK.Plugins.FileSystem/UniversalEditor.Engines.GTK.Plugins.FileSystem/gtk-gui/gui.stetic new file mode 100644 index 00000000..baa35f5d --- /dev/null +++ b/CSharp/Engines/GTK/Plugins/UniversalEditor.Engines.GTK.Plugins.FileSystem/UniversalEditor.Engines.GTK.Plugins.FileSystem/gtk-gui/gui.stetic @@ -0,0 +1,86 @@ + + + + ../../UniversalEditor.Engines.GTK.Plugins.FileSystem + 2.12 + + + + + + + + + + False + + + + 6 + + + + True + 203 + + + + In + + + + True + True + + + + + False + + + + + + 6 + + + + False + + + + 0 + True + False + False + + + + + + In + + + + True + True + + + + + 1 + True + + + + + + + 0 + True + + + + + + \ No newline at end of file diff --git a/CSharp/Engines/GTK/Plugins/UniversalEditor.Engines.GTK.Plugins.UnrealEngine/UniversalEditor.Engines.GTK.Plugins.UnrealEngine.csproj b/CSharp/Engines/GTK/Plugins/UniversalEditor.Engines.GTK.Plugins.UnrealEngine/UniversalEditor.Engines.GTK.Plugins.UnrealEngine.csproj index 74d44597..12b085b7 100644 --- a/CSharp/Engines/GTK/Plugins/UniversalEditor.Engines.GTK.Plugins.UnrealEngine/UniversalEditor.Engines.GTK.Plugins.UnrealEngine.csproj +++ b/CSharp/Engines/GTK/Plugins/UniversalEditor.Engines.GTK.Plugins.UnrealEngine/UniversalEditor.Engines.GTK.Plugins.UnrealEngine.csproj @@ -59,6 +59,7 @@ + diff --git a/CSharp/Engines/GTK/Plugins/UniversalEditor.Engines.GTK.Plugins.UnrealEngine/gtk-gui/UniversalEditor.Editors.UnrealEngine.Package.UnrealPackageEditor.cs b/CSharp/Engines/GTK/Plugins/UniversalEditor.Engines.GTK.Plugins.UnrealEngine/gtk-gui/UniversalEditor.Editors.UnrealEngine.Package.UnrealPackageEditor.cs new file mode 100644 index 00000000..b57fa950 --- /dev/null +++ b/CSharp/Engines/GTK/Plugins/UniversalEditor.Engines.GTK.Plugins.UnrealEngine/gtk-gui/UniversalEditor.Editors.UnrealEngine.Package.UnrealPackageEditor.cs @@ -0,0 +1,68 @@ + +// This file has been generated by the GUI designer. Do not modify. +namespace UniversalEditor.Editors.UnrealEngine.Package +{ + public partial class UnrealPackageEditor + { + private global::Gtk.Notebook notebook2; + private global::Gtk.Label label2; + private global::Gtk.Label label3; + private global::Gtk.ScrolledWindow GtkScrolledWindow; + private global::Gtk.TreeView tvExport; + private global::Gtk.Label label4; + + protected virtual void Build () + { + global::Stetic.Gui.Initialize (this); + // Widget UniversalEditor.Editors.UnrealEngine.Package.UnrealPackageEditor + global::Stetic.BinContainer.Attach (this); + this.Name = "UniversalEditor.Editors.UnrealEngine.Package.UnrealPackageEditor"; + // Container child UniversalEditor.Editors.UnrealEngine.Package.UnrealPackageEditor.Gtk.Container+ContainerChild + this.notebook2 = new global::Gtk.Notebook (); + this.notebook2.CanFocus = true; + this.notebook2.Name = "notebook2"; + this.notebook2.CurrentPage = 2; + // Notebook tab + global::Gtk.Label w1 = new global::Gtk.Label (); + w1.Visible = true; + this.notebook2.Add (w1); + this.label2 = new global::Gtk.Label (); + this.label2.Name = "label2"; + this.label2.LabelProp = global::Mono.Unix.Catalog.GetString ("Name Table"); + this.notebook2.SetTabLabel (w1, this.label2); + this.label2.ShowAll (); + // Notebook tab + global::Gtk.Label w2 = new global::Gtk.Label (); + w2.Visible = true; + this.notebook2.Add (w2); + this.label3 = new global::Gtk.Label (); + this.label3.Name = "label3"; + this.label3.LabelProp = global::Mono.Unix.Catalog.GetString ("Import Table"); + this.notebook2.SetTabLabel (w2, this.label3); + this.label3.ShowAll (); + // Container child notebook2.Gtk.Notebook+NotebookChild + this.GtkScrolledWindow = new global::Gtk.ScrolledWindow (); + this.GtkScrolledWindow.Name = "GtkScrolledWindow"; + this.GtkScrolledWindow.ShadowType = ((global::Gtk.ShadowType)(1)); + // Container child GtkScrolledWindow.Gtk.Container+ContainerChild + this.tvExport = new global::Gtk.TreeView (); + this.tvExport.CanFocus = true; + this.tvExport.Name = "tvExport"; + this.GtkScrolledWindow.Add (this.tvExport); + this.notebook2.Add (this.GtkScrolledWindow); + global::Gtk.Notebook.NotebookChild w4 = ((global::Gtk.Notebook.NotebookChild)(this.notebook2 [this.GtkScrolledWindow])); + w4.Position = 2; + // Notebook tab + this.label4 = new global::Gtk.Label (); + this.label4.Name = "label4"; + this.label4.LabelProp = global::Mono.Unix.Catalog.GetString ("Export Table"); + this.notebook2.SetTabLabel (this.GtkScrolledWindow, this.label4); + this.label4.ShowAll (); + this.Add (this.notebook2); + if ((this.Child != null)) { + this.Child.ShowAll (); + } + this.Hide (); + } + } +} diff --git a/CSharp/Engines/GTK/UniversalEditor.Engines.GTK/Editor.cs b/CSharp/Engines/GTK/UniversalEditor.Engines.GTK/Editor.cs index cd98b925..cafd7382 100644 --- a/CSharp/Engines/GTK/UniversalEditor.Engines.GTK/Editor.cs +++ b/CSharp/Engines/GTK/UniversalEditor.Engines.GTK/Editor.cs @@ -1,7 +1,6 @@ using System; using UniversalEditor.UserInterface; - namespace UniversalEditor.Engines.GTK { [System.ComponentModel.ToolboxItem(true)] @@ -37,11 +36,40 @@ namespace UniversalEditor.Engines.GTK { return false; } + + private ObjectModel mvarObjectModel = null; + public ObjectModel ObjectModel + { + get { return mvarObjectModel; } + set + { + if (mvarObjectModel == value) return; + + ObjectModelChangingEventArgs omcea = new ObjectModelChangingEventArgs(mvarObjectModel, value); + OnObjectModelChanging (omcea); + if (omcea.Cancel) return; + + mvarObjectModel = value; + OnObjectModelChanged(EventArgs.Empty); + } + } + public virtual string Title { get { return String.Empty; } } private ObjectModelReference.ObjectModelReferenceCollection mvarSupportedObjectModels = new ObjectModelReference.ObjectModelReferenceCollection(); public ObjectModelReference.ObjectModelReferenceCollection SupportedObjectModels { get { return mvarSupportedObjectModels; } } + + public event ObjectModelChangingEventHandler ObjectModelChanging; + protected virtual void OnObjectModelChanging(ObjectModelChangingEventArgs e) + { + if (ObjectModelChanging != null) ObjectModelChanging(this, e); + } + public event EventHandler ObjectModelChanged; + protected virtual void OnObjectModelChanged(EventArgs e) + { + if (ObjectModelChanged != null) ObjectModelChanged(this, e); + } #endregion } } diff --git a/CSharp/Engines/GTK/UniversalEditor.Engines.GTK/MainWindow.cs b/CSharp/Engines/GTK/UniversalEditor.Engines.GTK/MainWindow.cs index f85c866b..2898f1fa 100644 --- a/CSharp/Engines/GTK/UniversalEditor.Engines.GTK/MainWindow.cs +++ b/CSharp/Engines/GTK/UniversalEditor.Engines.GTK/MainWindow.cs @@ -14,11 +14,15 @@ namespace UniversalEditor.Engines.GTK { Build (); InitializeMenuBar(); + tbsDocumentTabs.RemovePage(0); } public IEditorImplementation GetCurrentEditor() { - return null; + if (tbsDocumentTabs.Page < 0 || tbsDocumentTabs.Page >= tbsDocumentTabs.NPages) return null; + + Gtk.Widget currentEditor = tbsDocumentTabs.GetNthPage(tbsDocumentTabs.Page); + return (currentEditor as IEditorImplementation); } protected override bool OnFocused (DirectionType direction) diff --git a/CSharp/Engines/GTK/UniversalEditor.Engines.GTK/gtk-gui/UniversalEditor.Engines.GTK.MainWindow.cs b/CSharp/Engines/GTK/UniversalEditor.Engines.GTK/gtk-gui/UniversalEditor.Engines.GTK.MainWindow.cs index 2e3ea4aa..933be8e7 100644 --- a/CSharp/Engines/GTK/UniversalEditor.Engines.GTK/gtk-gui/UniversalEditor.Engines.GTK.MainWindow.cs +++ b/CSharp/Engines/GTK/UniversalEditor.Engines.GTK/gtk-gui/UniversalEditor.Engines.GTK.MainWindow.cs @@ -8,7 +8,7 @@ namespace UniversalEditor.Engines.GTK private global::Gtk.VBox vbox2; private global::Gtk.MenuBar menubar1; private global::Gtk.Toolbar toolbar1; - private global::Gtk.Notebook notebook1; + private global::Gtk.Notebook tbsDocumentTabs; private global::Gtk.Label label1; private global::Gtk.Statusbar statusbar1; @@ -47,21 +47,21 @@ namespace UniversalEditor.Engines.GTK w3.Expand = false; w3.Fill = false; // Container child vbox2.Gtk.Box+BoxChild - this.notebook1 = new global::Gtk.Notebook (); - this.notebook1.CanFocus = true; - this.notebook1.Name = "notebook1"; - this.notebook1.CurrentPage = 0; + this.tbsDocumentTabs = new global::Gtk.Notebook (); + this.tbsDocumentTabs.CanFocus = true; + this.tbsDocumentTabs.Name = "tbsDocumentTabs"; + this.tbsDocumentTabs.CurrentPage = 0; // Notebook tab global::Gtk.Label w4 = new global::Gtk.Label (); w4.Visible = true; - this.notebook1.Add (w4); + this.tbsDocumentTabs.Add (w4); this.label1 = new global::Gtk.Label (); this.label1.Name = "label1"; this.label1.LabelProp = global::Mono.Unix.Catalog.GetString ("page1"); - this.notebook1.SetTabLabel (w4, this.label1); + this.tbsDocumentTabs.SetTabLabel (w4, this.label1); this.label1.ShowAll (); - this.vbox2.Add (this.notebook1); - global::Gtk.Box.BoxChild w5 = ((global::Gtk.Box.BoxChild)(this.vbox2 [this.notebook1])); + this.vbox2.Add (this.tbsDocumentTabs); + global::Gtk.Box.BoxChild w5 = ((global::Gtk.Box.BoxChild)(this.vbox2 [this.tbsDocumentTabs])); w5.Position = 2; // Container child vbox2.Gtk.Box+BoxChild this.statusbar1 = new global::Gtk.Statusbar (); diff --git a/CSharp/Engines/GTK/UniversalEditor.Engines.GTK/gtk-gui/gui.stetic b/CSharp/Engines/GTK/UniversalEditor.Engines.GTK/gtk-gui/gui.stetic index f8474872..d06ead05 100644 --- a/CSharp/Engines/GTK/UniversalEditor.Engines.GTK/gtk-gui/gui.stetic +++ b/CSharp/Engines/GTK/UniversalEditor.Engines.GTK/gtk-gui/gui.stetic @@ -27,7 +27,7 @@ - + 0 @@ -40,7 +40,7 @@ False - + 1 @@ -50,7 +50,7 @@ - + True 0 diff --git a/CSharp/UniversalEditor.GTK.sln b/CSharp/UniversalEditor.GTK.sln index 84508912..a59787a7 100644 --- a/CSharp/UniversalEditor.GTK.sln +++ b/CSharp/UniversalEditor.GTK.sln @@ -79,6 +79,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Plugins", "Plugins", "{B2A3 EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniversalEditor.Engines.GTK.Plugins.UnrealEngine", "..\..\..\..\..\..\media\0d14d2b2-1b67-4757-8f87-2520a8715f9f\beckermj\Documents\Projects\UniversalEditor\CSharp\Engines\GTK\Plugins\UniversalEditor.Engines.GTK.Plugins.UnrealEngine\UniversalEditor.Engines.GTK.Plugins.UnrealEngine.csproj", "{78D1381A-AF21-43B2-9DDA-727AF15539AB}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniversalEditor.Engines.GTK.Plugins.FileSystem", "..\..\..\..\..\..\media\0d14d2b2-1b67-4757-8f87-2520a8715f9f\beckermj\Documents\Projects\UniversalEditor\CSharp\Engines\GTK\Plugins\UniversalEditor.Engines.GTK.Plugins.FileSystem\UniversalEditor.Engines.GTK.Plugins.FileSystem\UniversalEditor.Engines.GTK.Plugins.FileSystem.csproj", "{895D95A4-E37F-40F7-B606-4B8FA61B0449}" +EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniversalEditor.Engines.GTK", "Engines\GTK\UniversalEditor.Engines.GTK\UniversalEditor.Engines.GTK.csproj", "{AF5F8ED3-D534-4609-94ED-B2800455B88F}" EndProject Global @@ -283,6 +285,18 @@ Global {8622EBC4-8E20-476E-B284-33D472081F5C}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU {8622EBC4-8E20-476E-B284-33D472081F5C}.Release|Mixed Platforms.Build.0 = Release|Any CPU {8622EBC4-8E20-476E-B284-33D472081F5C}.Release|x86.ActiveCfg = Release|Any CPU + {895D95A4-E37F-40F7-B606-4B8FA61B0449}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {895D95A4-E37F-40F7-B606-4B8FA61B0449}.Debug|Any CPU.Build.0 = Debug|Any CPU + {895D95A4-E37F-40F7-B606-4B8FA61B0449}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {895D95A4-E37F-40F7-B606-4B8FA61B0449}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {895D95A4-E37F-40F7-B606-4B8FA61B0449}.Debug|x86.ActiveCfg = Debug|Any CPU + {895D95A4-E37F-40F7-B606-4B8FA61B0449}.Debug|x86.Build.0 = Debug|Any CPU + {895D95A4-E37F-40F7-B606-4B8FA61B0449}.Release|Any CPU.ActiveCfg = Release|Any CPU + {895D95A4-E37F-40F7-B606-4B8FA61B0449}.Release|Any CPU.Build.0 = Release|Any CPU + {895D95A4-E37F-40F7-B606-4B8FA61B0449}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {895D95A4-E37F-40F7-B606-4B8FA61B0449}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {895D95A4-E37F-40F7-B606-4B8FA61B0449}.Release|x86.ActiveCfg = Release|Any CPU + {895D95A4-E37F-40F7-B606-4B8FA61B0449}.Release|x86.Build.0 = Release|Any CPU {899E3DD6-EA65-4168-AAE3-867A4F9650A6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {899E3DD6-EA65-4168-AAE3-867A4F9650A6}.Debug|Any CPU.Build.0 = Debug|Any CPU {899E3DD6-EA65-4168-AAE3-867A4F9650A6}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU @@ -526,6 +540,7 @@ Global {B2A30AE0-2FDD-40D1-88CF-9E4B95277F95} = {E0422169-2DF9-4B50-A019-84A3251727F9} {AF5F8ED3-D534-4609-94ED-B2800455B88F} = {E0422169-2DF9-4B50-A019-84A3251727F9} {78D1381A-AF21-43B2-9DDA-727AF15539AB} = {B2A30AE0-2FDD-40D1-88CF-9E4B95277F95} + {895D95A4-E37F-40F7-B606-4B8FA61B0449} = {B2A30AE0-2FDD-40D1-88CF-9E4B95277F95} EndGlobalSection GlobalSection(MonoDevelopProperties) = preSolution StartupItem = Applications\UniversalEditor.Bootstrapper\UniversalEditor.Bootstrapper.csproj