From 9829a72de2de8896d8dca17aa87e0b6d39214a25 Mon Sep 17 00:00:00 2001 From: Michael Becker Date: Mon, 23 May 2016 12:18:55 -0400 Subject: [PATCH] Separated GTK and WindowsForms solutions and added GTK engine --- .../UniversalEditor.Engines.GTK/GTKEngine.cs | 43 ++ .../GtkApplication.cs | 22 + .../GTK/UniversalEditor.Engines.GTK/GtkBox.cs | 60 +++ .../GtkContainer.cs | 17 + .../UniversalEditor.Engines.GTK/GtkMenu.cs | 20 + .../UniversalEditor.Engines.GTK/GtkMenuBar.cs | 15 + .../GtkMenuItem.cs | 58 +++ .../GtkMenuShell.cs | 16 + .../UniversalEditor.Engines.GTK/GtkWidget.cs | 93 ++++ .../UniversalEditor.Engines.GTK/GtkWindow.cs | 72 +++ .../Internal/GDK/Methods.cs | 18 + .../Internal/GLib/Constants.cs | 13 + .../Internal/GLib/Delegates.cs | 11 + .../Internal/GLib/Methods.cs | 19 + .../Internal/GTK/Constants.cs | 19 + .../Internal/GTK/Methods.cs | 140 +++++ .../UniversalEditor.Engines.GTK/MainWindow.cs | 100 ++++ .../PackDirection.cs | 11 + .../Properties/AssemblyInfo.cs | 22 + .../UniversalEditor.Engines.GTK.csproj | 76 +++ CSharp/UniversalEditor.GTK.sln | 488 ++++++++++++++++++ ...r.sln => UniversalEditor.WindowsForms.sln} | 0 22 files changed, 1333 insertions(+) create mode 100644 CSharp/Engines/GTK/UniversalEditor.Engines.GTK/GTKEngine.cs create mode 100644 CSharp/Engines/GTK/UniversalEditor.Engines.GTK/GtkApplication.cs create mode 100644 CSharp/Engines/GTK/UniversalEditor.Engines.GTK/GtkBox.cs create mode 100644 CSharp/Engines/GTK/UniversalEditor.Engines.GTK/GtkContainer.cs create mode 100644 CSharp/Engines/GTK/UniversalEditor.Engines.GTK/GtkMenu.cs create mode 100644 CSharp/Engines/GTK/UniversalEditor.Engines.GTK/GtkMenuBar.cs create mode 100644 CSharp/Engines/GTK/UniversalEditor.Engines.GTK/GtkMenuItem.cs create mode 100644 CSharp/Engines/GTK/UniversalEditor.Engines.GTK/GtkMenuShell.cs create mode 100644 CSharp/Engines/GTK/UniversalEditor.Engines.GTK/GtkWidget.cs create mode 100644 CSharp/Engines/GTK/UniversalEditor.Engines.GTK/GtkWindow.cs create mode 100644 CSharp/Engines/GTK/UniversalEditor.Engines.GTK/Internal/GDK/Methods.cs create mode 100644 CSharp/Engines/GTK/UniversalEditor.Engines.GTK/Internal/GLib/Constants.cs create mode 100644 CSharp/Engines/GTK/UniversalEditor.Engines.GTK/Internal/GLib/Delegates.cs create mode 100644 CSharp/Engines/GTK/UniversalEditor.Engines.GTK/Internal/GLib/Methods.cs create mode 100644 CSharp/Engines/GTK/UniversalEditor.Engines.GTK/Internal/GTK/Constants.cs create mode 100644 CSharp/Engines/GTK/UniversalEditor.Engines.GTK/Internal/GTK/Methods.cs create mode 100644 CSharp/Engines/GTK/UniversalEditor.Engines.GTK/MainWindow.cs create mode 100644 CSharp/Engines/GTK/UniversalEditor.Engines.GTK/PackDirection.cs create mode 100644 CSharp/Engines/GTK/UniversalEditor.Engines.GTK/Properties/AssemblyInfo.cs create mode 100644 CSharp/Engines/GTK/UniversalEditor.Engines.GTK/UniversalEditor.Engines.GTK.csproj create mode 100644 CSharp/UniversalEditor.GTK.sln rename CSharp/{UniversalEditor.sln => UniversalEditor.WindowsForms.sln} (100%) diff --git a/CSharp/Engines/GTK/UniversalEditor.Engines.GTK/GTKEngine.cs b/CSharp/Engines/GTK/UniversalEditor.Engines.GTK/GTKEngine.cs new file mode 100644 index 00000000..6327ff84 --- /dev/null +++ b/CSharp/Engines/GTK/UniversalEditor.Engines.GTK/GTKEngine.cs @@ -0,0 +1,43 @@ +using System; + +using UniversalEditor; +using UniversalEditor.UserInterface; + +namespace UniversalEditor.Engines.GTK +{ + public class GTKEngine : Engine + { + protected override void InitializeInternal () + { + base.InitializeInternal (); + + int argc = 0; + string[] argv = new string[0]; + bool check = GtkApplication.Initialize (ref argc, ref argv); + } + protected override void MainLoop () + { + GtkApplication.Run (); + } + protected override IHostApplicationWindow OpenWindowInternal (params Document[] documents) + { + MainWindow mw = new MainWindow (); + mw.Show (); + + return mw; + } + protected override void ShowCrashDialog (Exception ex) + { + throw new NotImplementedException (); + } + public override void ShowAboutDialog (DataFormatReference dfr) + { + throw new NotImplementedException (); + } + public override bool ShowCustomOptionDialog (ref CustomOption.CustomOptionCollection customOptions, string title, EventHandler aboutButtonClicked) + { + throw new NotImplementedException (); + } + } +} + diff --git a/CSharp/Engines/GTK/UniversalEditor.Engines.GTK/GtkApplication.cs b/CSharp/Engines/GTK/UniversalEditor.Engines.GTK/GtkApplication.cs new file mode 100644 index 00000000..72354203 --- /dev/null +++ b/CSharp/Engines/GTK/UniversalEditor.Engines.GTK/GtkApplication.cs @@ -0,0 +1,22 @@ +using System; + +namespace UniversalEditor.Engines.GTK +{ + public static class GtkApplication + { + public static bool Initialize(ref int argc, ref string[] argv) + { + bool check = Internal.GTK.Methods.gtk_init_check (ref argc, ref argv); + return check; + } + public static void Run() + { + Internal.GTK.Methods.gtk_main (); + } + public static void Quit() + { + Internal.GTK.Methods.gtk_main_quit (); + } + } +} + diff --git a/CSharp/Engines/GTK/UniversalEditor.Engines.GTK/GtkBox.cs b/CSharp/Engines/GTK/UniversalEditor.Engines.GTK/GtkBox.cs new file mode 100644 index 00000000..424232da --- /dev/null +++ b/CSharp/Engines/GTK/UniversalEditor.Engines.GTK/GtkBox.cs @@ -0,0 +1,60 @@ +using System; + +namespace UniversalEditor.Engines.GTK +{ + public enum GtkBoxOrientation + { + Horizontal, + Vertical + } + public class GtkBox : GtkContainer + { + private int mvarItemCount = 0; + + private GtkBoxOrientation mvarOrientation = GtkBoxOrientation.Vertical; + + public GtkBox(GtkBoxOrientation orientation, int itemCount) + { + mvarOrientation = orientation; + mvarItemCount = itemCount; + } + + protected override IntPtr CreateInternal () + { + Internal.GTK.Constants.GtkBoxOrientation orientation = Internal.GTK.Constants.GtkBoxOrientation.Vertical; + switch (mvarOrientation) + { + case GtkBoxOrientation.Horizontal: + { + orientation = Internal.GTK.Constants.GtkBoxOrientation.Horizontal; + break; + } + case GtkBoxOrientation.Vertical: + { + orientation = Internal.GTK.Constants.GtkBoxOrientation.Vertical; + break; + } + } + IntPtr handle = Internal.GTK.Methods.gtk_box_new (orientation, mvarItemCount); + return handle; + } + + public void Pack(PackDirection direction, GtkWidget child, bool expand, bool fill, int padding) + { + switch (direction) + { + case PackDirection.Start: + { + Internal.GTK.Methods.gtk_box_pack_start (this.Handle, child.Handle, expand, fill, padding); + break; + } + case PackDirection.End: + { + Internal.GTK.Methods.gtk_box_pack_end (this.Handle, child.Handle, expand, fill, padding); + break; + } + } + } + } +} + diff --git a/CSharp/Engines/GTK/UniversalEditor.Engines.GTK/GtkContainer.cs b/CSharp/Engines/GTK/UniversalEditor.Engines.GTK/GtkContainer.cs new file mode 100644 index 00000000..12dc7f85 --- /dev/null +++ b/CSharp/Engines/GTK/UniversalEditor.Engines.GTK/GtkContainer.cs @@ -0,0 +1,17 @@ +using System; + +namespace UniversalEditor.Engines.GTK +{ + public abstract class GtkContainer : GtkWidget + { + private GtkWidget.GtkWidgetCollection mvarControls = null; + public GtkWidget.GtkWidgetCollection Controls { get { return mvarControls; } } + + protected override void BeforeCreateInternal () + { + mvarControls = new GtkWidget.GtkWidgetCollection (this); + base.BeforeCreateInternal (); + } + } +} + diff --git a/CSharp/Engines/GTK/UniversalEditor.Engines.GTK/GtkMenu.cs b/CSharp/Engines/GTK/UniversalEditor.Engines.GTK/GtkMenu.cs new file mode 100644 index 00000000..20dcd80b --- /dev/null +++ b/CSharp/Engines/GTK/UniversalEditor.Engines.GTK/GtkMenu.cs @@ -0,0 +1,20 @@ +using System; + +namespace UniversalEditor.Engines.GTK +{ + public class GtkMenu : GtkMenuShell + { + protected override IntPtr CreateInternal () + { + IntPtr handle = Internal.GTK.Methods.gtk_menu_new (); + return handle; + } + + public string Text + { + get { return Internal.GTK.Methods.gtk_menu_get_title(this.Handle); } + set { Internal.GTK.Methods.gtk_menu_set_title (this.Handle, value); } + } + } +} + diff --git a/CSharp/Engines/GTK/UniversalEditor.Engines.GTK/GtkMenuBar.cs b/CSharp/Engines/GTK/UniversalEditor.Engines.GTK/GtkMenuBar.cs new file mode 100644 index 00000000..99dc1f89 --- /dev/null +++ b/CSharp/Engines/GTK/UniversalEditor.Engines.GTK/GtkMenuBar.cs @@ -0,0 +1,15 @@ +using System; + +namespace UniversalEditor.Engines.GTK +{ + public class GtkMenuBar : GtkMenuShell + { + protected override IntPtr CreateInternal () + { + IntPtr handle = Internal.GTK.Methods.gtk_menu_bar_new (); + return handle; + } + + } +} + diff --git a/CSharp/Engines/GTK/UniversalEditor.Engines.GTK/GtkMenuItem.cs b/CSharp/Engines/GTK/UniversalEditor.Engines.GTK/GtkMenuItem.cs new file mode 100644 index 00000000..776ae8b2 --- /dev/null +++ b/CSharp/Engines/GTK/UniversalEditor.Engines.GTK/GtkMenuItem.cs @@ -0,0 +1,58 @@ +using System; + +namespace UniversalEditor.Engines.GTK +{ + public class GtkMenuItem : GtkWidget + { + public class GtkMenuItemCollection + : System.Collections.ObjectModel.Collection + { + private GtkMenuShell _parent = null; + internal GtkMenuItemCollection(GtkMenuShell parent) + { + _parent = parent; + } + + protected override void InsertItem (int index, GtkMenuItem item) + { + base.InsertItem (index, item); + Internal.GTK.Methods.gtk_menu_shell_insert (_parent.Handle, item.Handle, index); + } + } + + protected override IntPtr CreateInternal () + { + IntPtr handle = Internal.GTK.Methods.gtk_menu_item_new (); + return handle; + } + protected override void AfterCreateInternal () + { + this.UseMnemonic = true; + base.AfterCreateInternal (); + } + + private GtkMenu mvarMenu = null; + public GtkMenu Menu + { + get { return mvarMenu; } + set + { + Internal.GTK.Methods.gtk_menu_item_set_submenu (this.Handle, value.Handle); + IntPtr checkHandle = Internal.GTK.Methods.gtk_menu_item_get_submenu (this.Handle); + if (checkHandle == value.Handle) mvarMenu = value; + } + } + + public string Text + { + get { return Internal.GTK.Methods.gtk_menu_item_get_label (this.Handle); } + set { Internal.GTK.Methods.gtk_menu_item_set_label (this.Handle, value); } + } + public bool UseMnemonic + { + get { return Internal.GTK.Methods.gtk_menu_item_get_use_underline (this.Handle); } + set { Internal.GTK.Methods.gtk_menu_item_set_use_underline (this.Handle, value); } + } + } +} + diff --git a/CSharp/Engines/GTK/UniversalEditor.Engines.GTK/GtkMenuShell.cs b/CSharp/Engines/GTK/UniversalEditor.Engines.GTK/GtkMenuShell.cs new file mode 100644 index 00000000..61c9f01c --- /dev/null +++ b/CSharp/Engines/GTK/UniversalEditor.Engines.GTK/GtkMenuShell.cs @@ -0,0 +1,16 @@ +using System; + +namespace UniversalEditor.Engines.GTK +{ + public abstract class GtkMenuShell : GtkWidget + { + private GtkMenuItem.GtkMenuItemCollection mvarItems = null; + public GtkMenuItem.GtkMenuItemCollection Items { get { return mvarItems; } } + + public GtkMenuShell() + { + mvarItems = new GtkMenuItem.GtkMenuItemCollection (this); + } + } +} + diff --git a/CSharp/Engines/GTK/UniversalEditor.Engines.GTK/GtkWidget.cs b/CSharp/Engines/GTK/UniversalEditor.Engines.GTK/GtkWidget.cs new file mode 100644 index 00000000..1bb6526e --- /dev/null +++ b/CSharp/Engines/GTK/UniversalEditor.Engines.GTK/GtkWidget.cs @@ -0,0 +1,93 @@ +using System; + +namespace UniversalEditor.Engines.GTK +{ + public abstract class GtkWidget + { + public class GtkWidgetCollection + : System.Collections.ObjectModel.Collection + { + private GtkContainer _parent = null; + public GtkWidgetCollection(GtkContainer parent) + { + _parent = parent; + } + + protected override void InsertItem (int index, GtkWidget item) + { + base.InsertItem (index, item); + Internal.GTK.Methods.gtk_container_add (_parent.Handle, item.Handle); + } + } + + private IntPtr mvarHandle = IntPtr.Zero; + public IntPtr Handle { get { return mvarHandle; } } + + public bool IsCreated { + get { return mvarHandle != IntPtr.Zero; } + } + + protected abstract IntPtr CreateInternal (); + + protected virtual void BeforeCreateInternal() + { + } + protected virtual void AfterCreateInternal() + { + } + + public GtkWidget() + { + Create(); + } + + public bool Create() + { + if (IsCreated) + return false; + + BeforeCreateInternal (); + + IntPtr handle = CreateInternal (); + if (handle == IntPtr.Zero) + return false; + + mvarHandle = handle; + + AfterCreateInternal (); + return true; + } + + private GtkWidget mvarParent = null; + public GtkWidget Parent { + get { + if (mvarParent != null) + return mvarParent; + + IntPtr handle = Internal.GTK.Methods.gtk_widget_get_parent (mvarHandle); + if (handle != IntPtr.Zero) + return null; + return null; + } + set { + Internal.GTK.Methods.gtk_widget_set_parent (mvarHandle, value.Handle); + IntPtr handleCheck = Internal.GTK.Methods.gtk_widget_get_parent (mvarHandle); + if (handleCheck == value.Handle) + mvarParent = value; + } + } + + public bool Visible + { + get + { + return Internal.GTK.Methods.gtk_widget_get_visible (mvarHandle); + } + set + { + Internal.GTK.Methods.gtk_widget_set_visible (mvarHandle, value); + } + } + } +} + diff --git a/CSharp/Engines/GTK/UniversalEditor.Engines.GTK/GtkWindow.cs b/CSharp/Engines/GTK/UniversalEditor.Engines.GTK/GtkWindow.cs new file mode 100644 index 00000000..eb80469d --- /dev/null +++ b/CSharp/Engines/GTK/UniversalEditor.Engines.GTK/GtkWindow.cs @@ -0,0 +1,72 @@ +using System; + +namespace UniversalEditor.Engines.GTK +{ + public class GtkWindow : GtkContainer + { + protected override IntPtr CreateInternal () + { + IntPtr handle = Internal.GTK.Methods.gtk_window_new (Internal.GTK.Constants.GtkWindowType.TopLevel); + return handle; + } + + private Internal.GLib.Delegates.GCallback _this_quit = null; + private void _this_quit_impl() + { + OnClosed (EventArgs.Empty); + } + + public event EventHandler Closed; + protected virtual void OnClosed (EventArgs e) + { + if (Closed != null) + Closed (this, e); + } + + protected override void AfterCreateInternal () + { + base.AfterCreateInternal (); + + this.Visible = true; + Internal.GTK.Methods.gtk_widget_set_size_request (this.Handle, 600, 400); + + GtkMenuBar mbMenuBar = new GtkMenuBar (); + + GtkMenuItem miFile = new GtkMenuItem (); + miFile.Text = "_File"; + + GtkMenu miFile_Menu = new GtkMenu (); + miFile.Menu = miFile_Menu; + + GtkMenuItem miFileExit = new GtkMenuItem (); + miFileExit.Text = "E_xit"; + miFile_Menu.Items.Add (miFileExit); + + mbMenuBar.Items.Add (miFile); + + + GtkBox box = new GtkBox (GtkBoxOrientation.Vertical, 5); + box.Pack (PackDirection.Start, mbMenuBar, false, false, 3); + this.Controls.Add (box); + + _this_quit = new Internal.GLib.Delegates.GCallback (_this_quit_impl); + Internal.GLib.Methods.g_signal_connect (this.Handle, "destroy", _this_quit, IntPtr.Zero); + + + Internal.GTK.Methods.gtk_widget_show_all (this.Handle); + } + + public string Text + { + get { return Internal.GTK.Methods.gtk_window_get_title (this.Handle); } + set { Internal.GTK.Methods.gtk_window_set_title (this.Handle, value); } + } + + + public void Show() + { + this.Visible = true; + } + } +} + diff --git a/CSharp/Engines/GTK/UniversalEditor.Engines.GTK/Internal/GDK/Methods.cs b/CSharp/Engines/GTK/UniversalEditor.Engines.GTK/Internal/GDK/Methods.cs new file mode 100644 index 00000000..4cd3495a --- /dev/null +++ b/CSharp/Engines/GTK/UniversalEditor.Engines.GTK/Internal/GDK/Methods.cs @@ -0,0 +1,18 @@ +using System; +using System.Runtime.InteropServices; + +namespace UniversalEditor.Engines.GTK.Internal.GDK +{ + internal static class Methods + { + public const string LIBRARY_FILENAME = "gdk-3"; + + [DllImport(LIBRARY_FILENAME)] + public static extern IntPtr gdk_screen_get_default(); + + [DllImport(LIBRARY_FILENAME)] + public static extern double gdk_screen_get_resolution(IntPtr screen); + + } +} + diff --git a/CSharp/Engines/GTK/UniversalEditor.Engines.GTK/Internal/GLib/Constants.cs b/CSharp/Engines/GTK/UniversalEditor.Engines.GTK/Internal/GLib/Constants.cs new file mode 100644 index 00000000..934817f1 --- /dev/null +++ b/CSharp/Engines/GTK/UniversalEditor.Engines.GTK/Internal/GLib/Constants.cs @@ -0,0 +1,13 @@ +using System; + +namespace UniversalEditor.Engines.GTK.Internal.GLib +{ + internal static class Constants + { + public enum GConnectFlags + { + None = 0 + } + } +} + diff --git a/CSharp/Engines/GTK/UniversalEditor.Engines.GTK/Internal/GLib/Delegates.cs b/CSharp/Engines/GTK/UniversalEditor.Engines.GTK/Internal/GLib/Delegates.cs new file mode 100644 index 00000000..5244f5fd --- /dev/null +++ b/CSharp/Engines/GTK/UniversalEditor.Engines.GTK/Internal/GLib/Delegates.cs @@ -0,0 +1,11 @@ +using System; + +namespace UniversalEditor.Engines.GTK.Internal.GLib +{ + internal static class Delegates + { + public delegate void GCallback(); + public delegate void GClosureNotify(IntPtr data, IntPtr closure); + } +} + diff --git a/CSharp/Engines/GTK/UniversalEditor.Engines.GTK/Internal/GLib/Methods.cs b/CSharp/Engines/GTK/UniversalEditor.Engines.GTK/Internal/GLib/Methods.cs new file mode 100644 index 00000000..8b7c8db3 --- /dev/null +++ b/CSharp/Engines/GTK/UniversalEditor.Engines.GTK/Internal/GLib/Methods.cs @@ -0,0 +1,19 @@ +using System; +using System.Runtime.InteropServices; + +namespace UniversalEditor.Engines.GTK.Internal.GLib +{ + internal static class Methods + { + public const string LIBRARY_FILENAME = "gobject-2.0"; + + public static void g_signal_connect(IntPtr instance, string detailed_signal, Delegates.GCallback c_handler, IntPtr data) + { + g_signal_connect_data (instance, detailed_signal, c_handler, data, null, Constants.GConnectFlags.None); + } + + [DllImport(LIBRARY_FILENAME)] + public static extern uint g_signal_connect_data(IntPtr instance, string detailed_signal, Delegates.GCallback c_handler, IntPtr data, Delegates.GClosureNotify destroy_data, Constants.GConnectFlags connect_flags); + } +} + diff --git a/CSharp/Engines/GTK/UniversalEditor.Engines.GTK/Internal/GTK/Constants.cs b/CSharp/Engines/GTK/UniversalEditor.Engines.GTK/Internal/GTK/Constants.cs new file mode 100644 index 00000000..47d2d7ff --- /dev/null +++ b/CSharp/Engines/GTK/UniversalEditor.Engines.GTK/Internal/GTK/Constants.cs @@ -0,0 +1,19 @@ +using System; + +namespace UniversalEditor.Engines.GTK.Internal.GTK +{ + internal static class Constants + { + public enum GtkWindowType + { + TopLevel = 0, + Popup = 1 + } + public enum GtkBoxOrientation + { + Horizontal = 0, + Vertical = 1 + } + } +} + diff --git a/CSharp/Engines/GTK/UniversalEditor.Engines.GTK/Internal/GTK/Methods.cs b/CSharp/Engines/GTK/UniversalEditor.Engines.GTK/Internal/GTK/Methods.cs new file mode 100644 index 00000000..6e8c3fac --- /dev/null +++ b/CSharp/Engines/GTK/UniversalEditor.Engines.GTK/Internal/GTK/Methods.cs @@ -0,0 +1,140 @@ +using System; +using System.Runtime.InteropServices; + +namespace UniversalEditor.Engines.GTK.Internal.GTK +{ + internal static class Methods + { + public const string LIBRARY_FILENAME_V2 = "gtk-x11-2.0"; + public const string LIBRARY_FILENAME_V3 = "gtk-3"; + + public const string LIBRARY_FILENAME = LIBRARY_FILENAME_V3; + + [DllImport(LIBRARY_FILENAME)] + public static extern void gtk_main(); + + [DllImport(LIBRARY_FILENAME)] + public static extern void gtk_main_quit(); + + [DllImport(LIBRARY_FILENAME)] + public static extern void gtk_init (ref int argc, ref string[] argv); + [DllImport(LIBRARY_FILENAME)] + public static extern bool gtk_init_check (ref int argc, ref string[] argv); + + [DllImport(LIBRARY_FILENAME)] + public static extern IntPtr gtk_window_new(Constants.GtkWindowType windowType); + [DllImport(LIBRARY_FILENAME)] + public static extern IntPtr gtk_window_set_screen (IntPtr window, IntPtr screen); + + [DllImport(LIBRARY_FILENAME)] + public static extern string gtk_window_get_title(IntPtr window); + [DllImport(LIBRARY_FILENAME)] + public static extern void gtk_window_set_title(IntPtr window, string title); + + #region Widget + [DllImport(LIBRARY_FILENAME)] + public static extern void gtk_widget_set_size_request(IntPtr widget, uint width, uint height); + + [DllImport(LIBRARY_FILENAME)] + public static extern bool gtk_widget_get_visible(IntPtr widget); + [DllImport(LIBRARY_FILENAME)] + public static extern void gtk_widget_set_visible(IntPtr widget, bool visible); + + [DllImport(LIBRARY_FILENAME)] + public static extern IntPtr gtk_widget_get_parent(IntPtr widget); + [DllImport(LIBRARY_FILENAME)] + public static extern void gtk_widget_set_parent(IntPtr widget, IntPtr parent); + + [DllImport(LIBRARY_FILENAME)] + public static extern void gtk_widget_show(IntPtr widget); + [DllImport(LIBRARY_FILENAME)] + public static extern void gtk_widget_show_all(IntPtr widget); + #endregion + + #region Container + [DllImport(LIBRARY_FILENAME)] + public static extern void gtk_container_add(IntPtr container, IntPtr widget); + #endregion + + #region Box + [DllImport(LIBRARY_FILENAME_V2)] + private static extern IntPtr gtk_hbox_new (bool homogenous, int spacing); + [DllImport(LIBRARY_FILENAME_V2)] + private static extern IntPtr gtk_vbox_new (bool homogenous, int spacing); + + [DllImport(LIBRARY_FILENAME_V3, EntryPoint="gtk_box_new")] + private static extern IntPtr gtk_box_new_v3 (Constants.GtkBoxOrientation orientation, int spacing); + + public static IntPtr gtk_box_new(Constants.GtkBoxOrientation orientation, int spacing = 0) + { + return gtk_box_new (orientation, true, spacing); + } + public static IntPtr gtk_box_new(Constants.GtkBoxOrientation orientation, bool homogenous = true, int spacing = 0) + { + if (LIBRARY_FILENAME == LIBRARY_FILENAME_V2) { + switch (orientation) + { + case Constants.GtkBoxOrientation.Horizontal: + { + return gtk_hbox_new (homogenous, spacing); + } + case Constants.GtkBoxOrientation.Vertical: + { + return gtk_vbox_new (homogenous, spacing); + } + } + } else if (LIBRARY_FILENAME == LIBRARY_FILENAME_V3) { + return gtk_box_new_v3 (orientation, spacing); + } + return IntPtr.Zero; + } + + [DllImport(LIBRARY_FILENAME)] + public static extern IntPtr gtk_box_pack_start (IntPtr box, IntPtr child, bool expand, bool fill, int padding); + [DllImport(LIBRARY_FILENAME)] + public static extern IntPtr gtk_box_pack_end (IntPtr box, IntPtr child, bool expand, bool fill, int padding); + #endregion + + #region Menu Shell + [DllImport(LIBRARY_FILENAME)] + public static extern IntPtr gtk_menu_shell_append(IntPtr shell, IntPtr child); + [DllImport(LIBRARY_FILENAME)] + public static extern IntPtr gtk_menu_shell_insert(IntPtr shell, IntPtr child, int position); + #endregion + + #region Menu Bar + [DllImport(LIBRARY_FILENAME)] + public static extern IntPtr gtk_menu_bar_new(); + #endregion + + #region Menu + [DllImport(LIBRARY_FILENAME)] + public static extern IntPtr gtk_menu_new(); + [DllImport(LIBRARY_FILENAME)] + public static extern string gtk_menu_get_title(IntPtr handle); + [DllImport(LIBRARY_FILENAME)] + public static extern void gtk_menu_set_title(IntPtr handle, string title); + #endregion + + #region Menu Item + [DllImport(LIBRARY_FILENAME)] + public static extern IntPtr gtk_menu_item_new(); + + [DllImport(LIBRARY_FILENAME)] + public static extern bool gtk_menu_item_get_use_underline(IntPtr handle); + [DllImport(LIBRARY_FILENAME)] + public static extern void gtk_menu_item_set_use_underline(IntPtr handle, bool value); + + [DllImport(LIBRARY_FILENAME)] + public static extern string gtk_menu_item_get_label(IntPtr handle); + [DllImport(LIBRARY_FILENAME)] + public static extern void gtk_menu_item_set_label(IntPtr handle, string text); + + [DllImport(LIBRARY_FILENAME)] + public static extern IntPtr gtk_menu_item_get_submenu(IntPtr handle); + [DllImport(LIBRARY_FILENAME)] + public static extern void gtk_menu_item_set_submenu(IntPtr handle, IntPtr submenu); + #endregion + } +} + diff --git a/CSharp/Engines/GTK/UniversalEditor.Engines.GTK/MainWindow.cs b/CSharp/Engines/GTK/UniversalEditor.Engines.GTK/MainWindow.cs new file mode 100644 index 00000000..6b1691dd --- /dev/null +++ b/CSharp/Engines/GTK/UniversalEditor.Engines.GTK/MainWindow.cs @@ -0,0 +1,100 @@ +using System; + +using UniversalEditor.UserInterface; + +namespace UniversalEditor.Engines.GTK +{ + public class MainWindow : GtkWindow, IHostApplicationWindow + { + public MainWindow () + { + this.Text = "Universal Editor"; + + + } + + protected override void OnClosed (EventArgs e) + { + base.OnClosed (e); + + GtkApplication.Quit (); + } + + public event EventHandler WindowClosed; + protected virtual void OnWindowClosed(EventArgs e) + { + if (WindowClosed != null) + WindowClosed (this, e); + } + + public void NewFile() + { + } + public void NewProject(bool combineObjects = false) + { + } + + public void OpenFile() { } + public void OpenFile(params string[] fileNames) { } + public void OpenFile(params Document[] documents) { } + public void OpenProject(bool combineObjects = false) { } + public void OpenProject(string FileName, bool combineObjects = false) { } + + public void SaveFile() { } + public void SaveFileAs() { } + public void SaveFileAs(string FileName, DataFormat df) { } + + public void SaveProject() { } + public void SaveProjectAs() { } + public void SaveProjectAs(string FileName, DataFormat df) { } + + public void SaveAll() { } + + /// + /// Switches the current window's perspective. + /// + /// The index of the perspective to switch to. + public void SwitchPerspective(int index) { } + + public void CloseFile() { } + public void CloseProject() { } + public void CloseWindow() { } + + public IEditorImplementation GetCurrentEditor() + { + return null; + } + + public bool FullScreen { get; set; } + + /// + /// Displays the "Options" dialog (on Windows, under the "Tools" menu; on Linux, under the "Edit" + /// menu, labeled as "Preferences"). + /// + /// True if the user accepted the dialog; false otherwise. + public bool ShowOptionsDialog() { return false; } + + public void ToggleMenuItemEnabled(string menuItemName, bool enabled) { } + public void RefreshCommand(object nativeCommandObject) { } + + public void UpdateStatus(string statusText) { } + + public void UpdateProgress(bool visible) { } + public void UpdateProgress(int minimum, int maximium, int value) { } + + public void ActivateWindow() + { + + } + + public void ShowStartPage() { } + + /// + /// Shows or hides the window list based on the given options. + /// + /// True if the window list should be shown; false if the window list should be hidden. + /// True if the window list should be presented as a modal dialog; false if it should be presented as a popup (for example, during a window switch action). + public void SetWindowListVisible(bool visible, bool modal) { } + } +} + diff --git a/CSharp/Engines/GTK/UniversalEditor.Engines.GTK/PackDirection.cs b/CSharp/Engines/GTK/UniversalEditor.Engines.GTK/PackDirection.cs new file mode 100644 index 00000000..efdbe8f9 --- /dev/null +++ b/CSharp/Engines/GTK/UniversalEditor.Engines.GTK/PackDirection.cs @@ -0,0 +1,11 @@ +using System; + +namespace UniversalEditor.Engines.GTK +{ + public enum PackDirection + { + Start, + End + } +} + diff --git a/CSharp/Engines/GTK/UniversalEditor.Engines.GTK/Properties/AssemblyInfo.cs b/CSharp/Engines/GTK/UniversalEditor.Engines.GTK/Properties/AssemblyInfo.cs new file mode 100644 index 00000000..4e2e86d4 --- /dev/null +++ b/CSharp/Engines/GTK/UniversalEditor.Engines.GTK/Properties/AssemblyInfo.cs @@ -0,0 +1,22 @@ +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")] +[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/UniversalEditor.Engines.GTK/UniversalEditor.Engines.GTK.csproj b/CSharp/Engines/GTK/UniversalEditor.Engines.GTK/UniversalEditor.Engines.GTK.csproj new file mode 100644 index 00000000..c1bc13c7 --- /dev/null +++ b/CSharp/Engines/GTK/UniversalEditor.Engines.GTK/UniversalEditor.Engines.GTK.csproj @@ -0,0 +1,76 @@ + + + + Debug + AnyCPU + 12.0.0 + 2.0 + {F1393A83-C180-417F-B5EE-C6EA3A3691E7} + Library + UniversalEditor.Engines.GTK + UniversalEditor.Engines.GTK + + + true + full + false + ..\..\..\Output\Debug + DEBUG; + prompt + 4 + false + + + full + true + ..\..\..\Output\Release + prompt + 4 + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {2D4737E6-6D95-408A-90DB-8DFF38147E85} + UniversalEditor.Core + + + {8622EBC4-8E20-476E-B284-33D472081F5C} + UniversalEditor.UserInterface + + + {30467E5C-05BC-4856-AADC-13906EF4CADD} + UniversalEditor.Essential + + + \ No newline at end of file diff --git a/CSharp/UniversalEditor.GTK.sln b/CSharp/UniversalEditor.GTK.sln new file mode 100644 index 00000000..4849860a --- /dev/null +++ b/CSharp/UniversalEditor.GTK.sln @@ -0,0 +1,488 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 2012 +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Applications", "Applications", "{05D15661-E684-4EC9-8FBD-C014BA433CC5}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniversalEditor.Bootstrapper", "Applications\UniversalEditor.Bootstrapper\UniversalEditor.Bootstrapper.csproj", "{6F0AB1AF-E1A1-4D19-B19C-05BBB15C94B2}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniversalEditor.ConsoleBootstrapper", "Applications\UniversalEditor.ConsoleBootstrapper\UniversalEditor.ConsoleBootstrapper.csproj", "{62CFC025-B8CF-42AA-880A-92F27377FCAF}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Libraries", "Libraries", "{0399182F-AF56-4E86-B229-EAB38C2EE6AF}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniversalEditor.Compression", "Libraries\UniversalEditor.Compression\UniversalEditor.Compression.csproj", "{3F664673-7E22-4486-9AD0-FC81861D0B78}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniversalEditor.Core", "Libraries\UniversalEditor.Core\UniversalEditor.Core.csproj", "{2D4737E6-6D95-408A-90DB-8DFF38147E85}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniversalEditor.UserInterface", "Libraries\UniversalEditor.UserInterface\UniversalEditor.UserInterface.csproj", "{8622EBC4-8E20-476E-B284-33D472081F5C}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniversalEditor.Essential", "Libraries\UniversalEditor.Essential\UniversalEditor.Essential.csproj", "{30467E5C-05BC-4856-AADC-13906EF4CADD}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Engines", "Engines", "{B55B87C2-12E7-4622-A9CB-10A56666C8C6}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "GTK", "GTK", "{3BEAD9B7-C2C3-48FA-BF20-9AFF31FC3DE1}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Engines", "Engines", "{EB8C50C4-8C47-4644-94C6-3D2DC9A69D36}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniversalEditor.Engines.GTK", "Engines\GTK\UniversalEditor.Engines.GTK\UniversalEditor.Engines.GTK.csproj", "{F1393A83-C180-417F-B5EE-C6EA3A3691E7}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Plugins", "Plugins", "{2ED32D16-6C06-4450-909A-40D32DA67FB4}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniversalEditor.Plugins.Web", "Plugins\UniversalEditor.Plugins.Web\UniversalEditor.Plugins.Web.csproj", "{64089452-6A08-47A5-A857-BF418F80D4A3}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniversalEditor.Plugins.Multimedia", "Plugins\UniversalEditor.Plugins.Multimedia\UniversalEditor.Plugins.Multimedia.csproj", "{BE4D0BA3-0888-42A5-9C09-FC308A4509D2}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniversalEditor.Plugins.Abomination", "Plugins\UniversalEditor.Plugins.Abomination\UniversalEditor.Plugins.Abomination.csproj", "{D4D9C9A6-04A4-46AD-8238-2493A455723F}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniversalEditor.Plugins.AddressBook", "Plugins\UniversalEditor.Plugins.AddressBook\UniversalEditor.Plugins.AddressBook.csproj", "{AC2E7D52-E3C0-4C5A-A13E-B77F6D41C46E}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniversalEditor.Plugins.AniMiku", "Plugins\UniversalEditor.Plugins.AniMiku\UniversalEditor.Plugins.AniMiku.csproj", "{FEC4EAD0-8A6E-4029-A537-EBD9F420B227}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniversalEditor.Plugins.ArkAngles", "Plugins\UniversalEditor.Plugins.ArkAngles\UniversalEditor.Plugins.ArkAngles.csproj", "{21D14362-103A-4B38-8FB8-EEA6C7C89E09}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniversalEditor.Plugins.Avalanche", "Plugins\UniversalEditor.Plugins.Avalanche\UniversalEditor.Plugins.Avalanche.csproj", "{828C6BB6-3543-4EAF-B0F9-F11410AE8836}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniversalEditor.Plugins.ChaosWorks", "Plugins\UniversalEditor.Plugins.ChaosWorks\UniversalEditor.Plugins.ChaosWorks.csproj", "{30A2F772-8EC1-425A-8D5D-36A0BE4D6B66}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniversalEditor.Plugins.Concertroid", "Plugins\UniversalEditor.Plugins.Concertroid\UniversalEditor.Plugins.Concertroid.csproj", "{D3BBDA07-5088-454E-A16D-DA24D8D88037}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniversalEditor.Plugins.Cyberlore", "Plugins\UniversalEditor.Plugins.Cyberlore\UniversalEditor.Plugins.Cyberlore.csproj", "{41DBA506-177E-4B2D-8E6D-738E371326A1}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniversalEditor.Plugins.Descent", "Plugins\UniversalEditor.Plugins.Descent\UniversalEditor.Plugins.Descent.csproj", "{3DC2C1F6-F332-4E55-BF6A-AED78A7C3FD2}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniversalEditor.Plugins.Designer", "Plugins\UniversalEditor.Plugins.Designer\UniversalEditor.Plugins.Designer.csproj", "{899E3DD6-EA65-4168-AAE3-867A4F9650A6}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniversalEditor.Plugins.Executable", "Plugins\UniversalEditor.Plugins.Executable\UniversalEditor.Plugins.Executable.csproj", "{791A36F8-5D96-452B-89D2-78BA74596A1E}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniversalEditor.Plugins.FileSystem", "Plugins\UniversalEditor.Plugins.FileSystem\UniversalEditor.Plugins.FileSystem.csproj", "{76FD1306-9CA4-428F-993B-B7E4EEEACBF3}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniversalEditor.Plugins.Gainax", "Plugins\UniversalEditor.Plugins.Gainax\UniversalEditor.Plugins.Gainax.csproj", "{7BB04C9F-DC3F-448A-8FD3-9A6BB52BC886}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniversalEditor.Plugins.Icarus", "Plugins\UniversalEditor.Plugins.Icarus\UniversalEditor.Plugins.Icarus.csproj", "{B2DFA94A-A468-48A1-AB31-04EE432E7B2B}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniversalEditor.Plugins.Illusion", "Plugins\UniversalEditor.Plugins.Illusion\UniversalEditor.Plugins.Illusion.csproj", "{A968C097-44CE-42BA-B66C-CB3A871EE117}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniversalEditor.Plugins.InstallShield", "Plugins\UniversalEditor.Plugins.InstallShield\UniversalEditor.Plugins.InstallShield.csproj", "{04674541-23C2-4308-A9DF-DBC43AE99814}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniversalEditor.Plugins.KnowledgeAdventure", "Plugins\UniversalEditor.Plugins.KnowledgeAdventure\UniversalEditor.Plugins.KnowledgeAdventure.csproj", "{991F734F-D659-4252-8D2D-E6F828474861}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniversalEditor.Plugins.Kronosaur", "Plugins\UniversalEditor.Plugins.Kronosaur\UniversalEditor.Plugins.Kronosaur.csproj", "{47197929-1C1D-4F47-A08A-77FECD8879D6}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniversalEditor.Plugins.Lighting", "Plugins\UniversalEditor.Plugins.Lighting\UniversalEditor.Plugins.Lighting.csproj", "{1C24F4F8-9D94-4783-B5C0-11564D70B76A}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniversalEditor.Plugins.Michelangelo", "Plugins\UniversalEditor.Plugins.Michelangelo\UniversalEditor.Plugins.Michelangelo.csproj", "{D623EC26-1A04-4BFE-84EE-E738281499C0}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniversalEditor.Plugins.Microsoft", "Plugins\UniversalEditor.Plugins.Microsoft\UniversalEditor.Plugins.Microsoft.csproj", "{4698BC3F-EC29-42EB-9AED-3D8F9983A108}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniversalEditor.Plugins.Microsoft.Merlin", "Plugins\UniversalEditor.Plugins.Microsoft.Merlin\UniversalEditor.Plugins.Microsoft.Merlin.csproj", "{9F1FDC26-5F1C-4C2A-BBBF-3A597A72802D}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniversalEditor.Plugins.Microsoft.Setup", "Plugins\UniversalEditor.Plugins.Microsoft.Setup\UniversalEditor.Plugins.Microsoft.Setup.csproj", "{05127997-B7F3-4802-8021-06C048C8FE63}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniversalEditor.Plugins.Microsoft.VisualStudio", "Plugins\UniversalEditor.Plugins.Microsoft.VisualStudio\UniversalEditor.Plugins.Microsoft.VisualStudio.csproj", "{E6C9A73D-4556-4220-9BC7-302A7EE64C1A}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniversalEditor.Plugins.Monolith", "Plugins\UniversalEditor.Plugins.Monolith\UniversalEditor.Plugins.Monolith.csproj", "{988052D4-92F5-4A6F-BE1D-33852D1E5D1E}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniversalEditor.Plugins.Moosta", "Plugins\UniversalEditor.Plugins.Moosta\UniversalEditor.Plugins.Moosta.csproj", "{10B9B771-9939-4D0B-8D47-501B6F60209F}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniversalEditor.Plugins.Multimedia3D", "Plugins\UniversalEditor.Plugins.Multimedia3D\UniversalEditor.Plugins.Multimedia3D.csproj", "{4FD9DB1D-76AA-48D1-8446-95376C4A2BC2}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniversalEditor.Plugins.NamcoTales", "Plugins\UniversalEditor.Plugins.NamcoTales\UniversalEditor.Plugins.NamcoTales.csproj", "{19AEFD28-37E8-4FFD-B879-FEE57824689D}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniversalEditor.Plugins.NewWorldComputing", "Plugins\UniversalEditor.Plugins.NewWorldComputing\UniversalEditor.Plugins.NewWorldComputing.csproj", "{26095090-3F7D-4DB5-A9BF-4C687230FC0F}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniversalEditor.Plugins.Nintendo", "Plugins\UniversalEditor.Plugins.Nintendo\UniversalEditor.Plugins.Nintendo.csproj", "{E0B0223C-3E44-4D2A-9FED-F1A319D84D39}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniversalEditor.Plugins.OSLib", "Plugins\UniversalEditor.Plugins.OSLib\UniversalEditor.Plugins.OSLib.csproj", "{7CA0A889-C1A1-4CEB-AA54-43A640B41C6C}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniversalEditor.Plugins.RebelSoftware", "Plugins\UniversalEditor.Plugins.RebelSoftware\UniversalEditor.Plugins.RebelSoftware.csproj", "{311885BE-3FAF-430B-91B2-6EC135D3A8AB}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniversalEditor.Plugins.ReflexiveEntertainment", "Plugins\UniversalEditor.Plugins.ReflexiveEntertainment\UniversalEditor.Plugins.ReflexiveEntertainment.csproj", "{BED1EEAF-9ADD-46F6-92D0-53957858E25B}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniversalEditor.Plugins.SoftwareDevelopment", "Plugins\UniversalEditor.Plugins.SoftwareDevelopment\UniversalEditor.Plugins.SoftwareDevelopment.csproj", "{CC5C9010-83EF-491D-9262-2CED509D895D}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniversalEditor.Plugins.StoryWriter", "Plugins\UniversalEditor.Plugins.StoryWriter\UniversalEditor.Plugins.StoryWriter.csproj", "{7C861D40-8214-4DC5-89D1-129F267C1D1B}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniversalEditor.Plugins.UnrealEngine", "Plugins\UniversalEditor.Plugins.UnrealEngine\UniversalEditor.Plugins.UnrealEngine.csproj", "{DF96F24E-FED9-4BAC-8389-63590125DC61}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniversalEditor.Plugins.Valve", "Plugins\UniversalEditor.Plugins.Valve\UniversalEditor.Plugins.Valve.csproj", "{FD6B879E-46B0-47BE-860E-BF0C11135590}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniversalEditor.Plugins.VersatileContainer", "Plugins\UniversalEditor.Plugins.VersatileContainer\UniversalEditor.Plugins.VersatileContainer.csproj", "{FFC91B24-39AF-49AC-9A3A-900FBE1012ED}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniversalEditor.Plugins.Auraluminous", "..\..\Auraluminous\UniversalEditor.Plugins.Auraluminous\UniversalEditor.Plugins.Auraluminous.csproj", "{EF886E1A-D553-43DA-857C-29DA0D6E0DAE}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Content", "Content", "{4BC75679-085E-45DA-B00A-D9BA89D8748A}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniversalEditor.Content.PlatformIndependent", "Content\UniversalEditor.Content.PlatformIndependent\UniversalEditor.Content.PlatformIndependent.csproj", "{A5A14A71-5DB3-4495-92F6-8D27C98FF0F4}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Debug|x86 = Debug|x86 + Release|Any CPU = Release|Any CPU + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {04674541-23C2-4308-A9DF-DBC43AE99814}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {04674541-23C2-4308-A9DF-DBC43AE99814}.Debug|Any CPU.Build.0 = Debug|Any CPU + {04674541-23C2-4308-A9DF-DBC43AE99814}.Debug|x86.ActiveCfg = Debug|Any CPU + {04674541-23C2-4308-A9DF-DBC43AE99814}.Release|Any CPU.ActiveCfg = Release|Any CPU + {04674541-23C2-4308-A9DF-DBC43AE99814}.Release|Any CPU.Build.0 = Release|Any CPU + {04674541-23C2-4308-A9DF-DBC43AE99814}.Release|x86.ActiveCfg = Release|Any CPU + {05127997-B7F3-4802-8021-06C048C8FE63}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {05127997-B7F3-4802-8021-06C048C8FE63}.Debug|Any CPU.Build.0 = Debug|Any CPU + {05127997-B7F3-4802-8021-06C048C8FE63}.Debug|x86.ActiveCfg = Debug|Any CPU + {05127997-B7F3-4802-8021-06C048C8FE63}.Release|Any CPU.ActiveCfg = Release|Any CPU + {05127997-B7F3-4802-8021-06C048C8FE63}.Release|Any CPU.Build.0 = Release|Any CPU + {05127997-B7F3-4802-8021-06C048C8FE63}.Release|x86.ActiveCfg = Release|Any CPU + {10B9B771-9939-4D0B-8D47-501B6F60209F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {10B9B771-9939-4D0B-8D47-501B6F60209F}.Debug|Any CPU.Build.0 = Debug|Any CPU + {10B9B771-9939-4D0B-8D47-501B6F60209F}.Debug|x86.ActiveCfg = Debug|Any CPU + {10B9B771-9939-4D0B-8D47-501B6F60209F}.Release|Any CPU.ActiveCfg = Release|Any CPU + {10B9B771-9939-4D0B-8D47-501B6F60209F}.Release|Any CPU.Build.0 = Release|Any CPU + {10B9B771-9939-4D0B-8D47-501B6F60209F}.Release|x86.ActiveCfg = Release|Any CPU + {19AEFD28-37E8-4FFD-B879-FEE57824689D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {19AEFD28-37E8-4FFD-B879-FEE57824689D}.Debug|Any CPU.Build.0 = Debug|Any CPU + {19AEFD28-37E8-4FFD-B879-FEE57824689D}.Debug|x86.ActiveCfg = Debug|Any CPU + {19AEFD28-37E8-4FFD-B879-FEE57824689D}.Release|Any CPU.ActiveCfg = Release|Any CPU + {19AEFD28-37E8-4FFD-B879-FEE57824689D}.Release|Any CPU.Build.0 = Release|Any CPU + {19AEFD28-37E8-4FFD-B879-FEE57824689D}.Release|x86.ActiveCfg = Release|Any CPU + {1C24F4F8-9D94-4783-B5C0-11564D70B76A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {1C24F4F8-9D94-4783-B5C0-11564D70B76A}.Debug|Any CPU.Build.0 = Debug|Any CPU + {1C24F4F8-9D94-4783-B5C0-11564D70B76A}.Debug|x86.ActiveCfg = Debug|Any CPU + {1C24F4F8-9D94-4783-B5C0-11564D70B76A}.Release|Any CPU.ActiveCfg = Release|Any CPU + {1C24F4F8-9D94-4783-B5C0-11564D70B76A}.Release|Any CPU.Build.0 = Release|Any CPU + {1C24F4F8-9D94-4783-B5C0-11564D70B76A}.Release|x86.ActiveCfg = Release|Any CPU + {21D14362-103A-4B38-8FB8-EEA6C7C89E09}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {21D14362-103A-4B38-8FB8-EEA6C7C89E09}.Debug|Any CPU.Build.0 = Debug|Any CPU + {21D14362-103A-4B38-8FB8-EEA6C7C89E09}.Debug|x86.ActiveCfg = Debug|Any CPU + {21D14362-103A-4B38-8FB8-EEA6C7C89E09}.Release|Any CPU.ActiveCfg = Release|Any CPU + {21D14362-103A-4B38-8FB8-EEA6C7C89E09}.Release|Any CPU.Build.0 = Release|Any CPU + {21D14362-103A-4B38-8FB8-EEA6C7C89E09}.Release|x86.ActiveCfg = Release|Any CPU + {26095090-3F7D-4DB5-A9BF-4C687230FC0F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {26095090-3F7D-4DB5-A9BF-4C687230FC0F}.Debug|Any CPU.Build.0 = Debug|Any CPU + {26095090-3F7D-4DB5-A9BF-4C687230FC0F}.Debug|x86.ActiveCfg = Debug|Any CPU + {26095090-3F7D-4DB5-A9BF-4C687230FC0F}.Release|Any CPU.ActiveCfg = Release|Any CPU + {26095090-3F7D-4DB5-A9BF-4C687230FC0F}.Release|Any CPU.Build.0 = Release|Any CPU + {26095090-3F7D-4DB5-A9BF-4C687230FC0F}.Release|x86.ActiveCfg = Release|Any CPU + {2D4737E6-6D95-408A-90DB-8DFF38147E85}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {2D4737E6-6D95-408A-90DB-8DFF38147E85}.Debug|Any CPU.Build.0 = Debug|Any CPU + {2D4737E6-6D95-408A-90DB-8DFF38147E85}.Debug|x86.ActiveCfg = Debug|Any CPU + {2D4737E6-6D95-408A-90DB-8DFF38147E85}.Release|Any CPU.ActiveCfg = Release|Any CPU + {2D4737E6-6D95-408A-90DB-8DFF38147E85}.Release|Any CPU.Build.0 = Release|Any CPU + {2D4737E6-6D95-408A-90DB-8DFF38147E85}.Release|x86.ActiveCfg = Release|Any CPU + {30467E5C-05BC-4856-AADC-13906EF4CADD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {30467E5C-05BC-4856-AADC-13906EF4CADD}.Debug|Any CPU.Build.0 = Debug|Any CPU + {30467E5C-05BC-4856-AADC-13906EF4CADD}.Debug|x86.ActiveCfg = Debug|Any CPU + {30467E5C-05BC-4856-AADC-13906EF4CADD}.Release|Any CPU.ActiveCfg = Release|Any CPU + {30467E5C-05BC-4856-AADC-13906EF4CADD}.Release|Any CPU.Build.0 = Release|Any CPU + {30467E5C-05BC-4856-AADC-13906EF4CADD}.Release|x86.ActiveCfg = Release|Any CPU + {30A2F772-8EC1-425A-8D5D-36A0BE4D6B66}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {30A2F772-8EC1-425A-8D5D-36A0BE4D6B66}.Debug|Any CPU.Build.0 = Debug|Any CPU + {30A2F772-8EC1-425A-8D5D-36A0BE4D6B66}.Debug|x86.ActiveCfg = Debug|Any CPU + {30A2F772-8EC1-425A-8D5D-36A0BE4D6B66}.Release|Any CPU.ActiveCfg = Release|Any CPU + {30A2F772-8EC1-425A-8D5D-36A0BE4D6B66}.Release|Any CPU.Build.0 = Release|Any CPU + {30A2F772-8EC1-425A-8D5D-36A0BE4D6B66}.Release|x86.ActiveCfg = Release|Any CPU + {311885BE-3FAF-430B-91B2-6EC135D3A8AB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {311885BE-3FAF-430B-91B2-6EC135D3A8AB}.Debug|Any CPU.Build.0 = Debug|Any CPU + {311885BE-3FAF-430B-91B2-6EC135D3A8AB}.Debug|x86.ActiveCfg = Debug|Any CPU + {311885BE-3FAF-430B-91B2-6EC135D3A8AB}.Release|Any CPU.ActiveCfg = Release|Any CPU + {311885BE-3FAF-430B-91B2-6EC135D3A8AB}.Release|Any CPU.Build.0 = Release|Any CPU + {311885BE-3FAF-430B-91B2-6EC135D3A8AB}.Release|x86.ActiveCfg = Release|Any CPU + {3DC2C1F6-F332-4E55-BF6A-AED78A7C3FD2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {3DC2C1F6-F332-4E55-BF6A-AED78A7C3FD2}.Debug|Any CPU.Build.0 = Debug|Any CPU + {3DC2C1F6-F332-4E55-BF6A-AED78A7C3FD2}.Debug|x86.ActiveCfg = Debug|Any CPU + {3DC2C1F6-F332-4E55-BF6A-AED78A7C3FD2}.Release|Any CPU.ActiveCfg = Release|Any CPU + {3DC2C1F6-F332-4E55-BF6A-AED78A7C3FD2}.Release|Any CPU.Build.0 = Release|Any CPU + {3DC2C1F6-F332-4E55-BF6A-AED78A7C3FD2}.Release|x86.ActiveCfg = Release|Any CPU + {3F664673-7E22-4486-9AD0-FC81861D0B78}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {3F664673-7E22-4486-9AD0-FC81861D0B78}.Debug|Any CPU.Build.0 = Debug|Any CPU + {3F664673-7E22-4486-9AD0-FC81861D0B78}.Debug|x86.ActiveCfg = Debug|Any CPU + {3F664673-7E22-4486-9AD0-FC81861D0B78}.Release|Any CPU.ActiveCfg = Release|Any CPU + {3F664673-7E22-4486-9AD0-FC81861D0B78}.Release|Any CPU.Build.0 = Release|Any CPU + {3F664673-7E22-4486-9AD0-FC81861D0B78}.Release|x86.ActiveCfg = Release|Any CPU + {41DBA506-177E-4B2D-8E6D-738E371326A1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {41DBA506-177E-4B2D-8E6D-738E371326A1}.Debug|Any CPU.Build.0 = Debug|Any CPU + {41DBA506-177E-4B2D-8E6D-738E371326A1}.Debug|x86.ActiveCfg = Debug|Any CPU + {41DBA506-177E-4B2D-8E6D-738E371326A1}.Release|Any CPU.ActiveCfg = Release|Any CPU + {41DBA506-177E-4B2D-8E6D-738E371326A1}.Release|Any CPU.Build.0 = Release|Any CPU + {41DBA506-177E-4B2D-8E6D-738E371326A1}.Release|x86.ActiveCfg = Release|Any CPU + {4698BC3F-EC29-42EB-9AED-3D8F9983A108}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {4698BC3F-EC29-42EB-9AED-3D8F9983A108}.Debug|Any CPU.Build.0 = Debug|Any CPU + {4698BC3F-EC29-42EB-9AED-3D8F9983A108}.Debug|x86.ActiveCfg = Debug|Any CPU + {4698BC3F-EC29-42EB-9AED-3D8F9983A108}.Release|Any CPU.ActiveCfg = Release|Any CPU + {4698BC3F-EC29-42EB-9AED-3D8F9983A108}.Release|Any CPU.Build.0 = Release|Any CPU + {4698BC3F-EC29-42EB-9AED-3D8F9983A108}.Release|x86.ActiveCfg = Release|Any CPU + {47197929-1C1D-4F47-A08A-77FECD8879D6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {47197929-1C1D-4F47-A08A-77FECD8879D6}.Debug|Any CPU.Build.0 = Debug|Any CPU + {47197929-1C1D-4F47-A08A-77FECD8879D6}.Debug|x86.ActiveCfg = Debug|Any CPU + {47197929-1C1D-4F47-A08A-77FECD8879D6}.Release|Any CPU.ActiveCfg = Release|Any CPU + {47197929-1C1D-4F47-A08A-77FECD8879D6}.Release|Any CPU.Build.0 = Release|Any CPU + {47197929-1C1D-4F47-A08A-77FECD8879D6}.Release|x86.ActiveCfg = Release|Any CPU + {4FD9DB1D-76AA-48D1-8446-95376C4A2BC2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {4FD9DB1D-76AA-48D1-8446-95376C4A2BC2}.Debug|Any CPU.Build.0 = Debug|Any CPU + {4FD9DB1D-76AA-48D1-8446-95376C4A2BC2}.Debug|x86.ActiveCfg = Debug|Any CPU + {4FD9DB1D-76AA-48D1-8446-95376C4A2BC2}.Release|Any CPU.ActiveCfg = Release|Any CPU + {4FD9DB1D-76AA-48D1-8446-95376C4A2BC2}.Release|Any CPU.Build.0 = Release|Any CPU + {4FD9DB1D-76AA-48D1-8446-95376C4A2BC2}.Release|x86.ActiveCfg = Release|Any CPU + {62CFC025-B8CF-42AA-880A-92F27377FCAF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {62CFC025-B8CF-42AA-880A-92F27377FCAF}.Debug|Any CPU.Build.0 = Debug|Any CPU + {62CFC025-B8CF-42AA-880A-92F27377FCAF}.Debug|x86.ActiveCfg = Debug|Any CPU + {62CFC025-B8CF-42AA-880A-92F27377FCAF}.Release|Any CPU.ActiveCfg = Release|Any CPU + {62CFC025-B8CF-42AA-880A-92F27377FCAF}.Release|Any CPU.Build.0 = Release|Any CPU + {62CFC025-B8CF-42AA-880A-92F27377FCAF}.Release|x86.ActiveCfg = Release|Any CPU + {64089452-6A08-47A5-A857-BF418F80D4A3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {64089452-6A08-47A5-A857-BF418F80D4A3}.Debug|Any CPU.Build.0 = Debug|Any CPU + {64089452-6A08-47A5-A857-BF418F80D4A3}.Debug|x86.ActiveCfg = Debug|Any CPU + {64089452-6A08-47A5-A857-BF418F80D4A3}.Release|Any CPU.ActiveCfg = Release|Any CPU + {64089452-6A08-47A5-A857-BF418F80D4A3}.Release|Any CPU.Build.0 = Release|Any CPU + {64089452-6A08-47A5-A857-BF418F80D4A3}.Release|x86.ActiveCfg = Release|Any CPU + {6F0AB1AF-E1A1-4D19-B19C-05BBB15C94B2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {6F0AB1AF-E1A1-4D19-B19C-05BBB15C94B2}.Debug|Any CPU.Build.0 = Debug|Any CPU + {6F0AB1AF-E1A1-4D19-B19C-05BBB15C94B2}.Debug|x86.ActiveCfg = Debug|Any CPU + {6F0AB1AF-E1A1-4D19-B19C-05BBB15C94B2}.Release|Any CPU.ActiveCfg = Release|Any CPU + {6F0AB1AF-E1A1-4D19-B19C-05BBB15C94B2}.Release|Any CPU.Build.0 = Release|Any CPU + {6F0AB1AF-E1A1-4D19-B19C-05BBB15C94B2}.Release|x86.ActiveCfg = Release|Any CPU + {76FD1306-9CA4-428F-993B-B7E4EEEACBF3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {76FD1306-9CA4-428F-993B-B7E4EEEACBF3}.Debug|Any CPU.Build.0 = Debug|Any CPU + {76FD1306-9CA4-428F-993B-B7E4EEEACBF3}.Debug|x86.ActiveCfg = Debug|Any CPU + {76FD1306-9CA4-428F-993B-B7E4EEEACBF3}.Release|Any CPU.ActiveCfg = Release|Any CPU + {76FD1306-9CA4-428F-993B-B7E4EEEACBF3}.Release|Any CPU.Build.0 = Release|Any CPU + {76FD1306-9CA4-428F-993B-B7E4EEEACBF3}.Release|x86.ActiveCfg = Release|Any CPU + {791A36F8-5D96-452B-89D2-78BA74596A1E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {791A36F8-5D96-452B-89D2-78BA74596A1E}.Debug|Any CPU.Build.0 = Debug|Any CPU + {791A36F8-5D96-452B-89D2-78BA74596A1E}.Debug|x86.ActiveCfg = Debug|Any CPU + {791A36F8-5D96-452B-89D2-78BA74596A1E}.Release|Any CPU.ActiveCfg = Release|Any CPU + {791A36F8-5D96-452B-89D2-78BA74596A1E}.Release|Any CPU.Build.0 = Release|Any CPU + {791A36F8-5D96-452B-89D2-78BA74596A1E}.Release|x86.ActiveCfg = Release|Any CPU + {7BB04C9F-DC3F-448A-8FD3-9A6BB52BC886}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {7BB04C9F-DC3F-448A-8FD3-9A6BB52BC886}.Debug|Any CPU.Build.0 = Debug|Any CPU + {7BB04C9F-DC3F-448A-8FD3-9A6BB52BC886}.Debug|x86.ActiveCfg = Debug|Any CPU + {7BB04C9F-DC3F-448A-8FD3-9A6BB52BC886}.Release|Any CPU.ActiveCfg = Release|Any CPU + {7BB04C9F-DC3F-448A-8FD3-9A6BB52BC886}.Release|Any CPU.Build.0 = Release|Any CPU + {7BB04C9F-DC3F-448A-8FD3-9A6BB52BC886}.Release|x86.ActiveCfg = Release|Any CPU + {7C861D40-8214-4DC5-89D1-129F267C1D1B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {7C861D40-8214-4DC5-89D1-129F267C1D1B}.Debug|Any CPU.Build.0 = Debug|Any CPU + {7C861D40-8214-4DC5-89D1-129F267C1D1B}.Debug|x86.ActiveCfg = Debug|Any CPU + {7C861D40-8214-4DC5-89D1-129F267C1D1B}.Release|Any CPU.ActiveCfg = Release|Any CPU + {7C861D40-8214-4DC5-89D1-129F267C1D1B}.Release|Any CPU.Build.0 = Release|Any CPU + {7C861D40-8214-4DC5-89D1-129F267C1D1B}.Release|x86.ActiveCfg = Release|Any CPU + {7CA0A889-C1A1-4CEB-AA54-43A640B41C6C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {7CA0A889-C1A1-4CEB-AA54-43A640B41C6C}.Debug|Any CPU.Build.0 = Debug|Any CPU + {7CA0A889-C1A1-4CEB-AA54-43A640B41C6C}.Debug|x86.ActiveCfg = Debug|Any CPU + {7CA0A889-C1A1-4CEB-AA54-43A640B41C6C}.Release|Any CPU.ActiveCfg = Release|Any CPU + {7CA0A889-C1A1-4CEB-AA54-43A640B41C6C}.Release|Any CPU.Build.0 = Release|Any CPU + {7CA0A889-C1A1-4CEB-AA54-43A640B41C6C}.Release|x86.ActiveCfg = Release|Any CPU + {828C6BB6-3543-4EAF-B0F9-F11410AE8836}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {828C6BB6-3543-4EAF-B0F9-F11410AE8836}.Debug|Any CPU.Build.0 = Debug|Any CPU + {828C6BB6-3543-4EAF-B0F9-F11410AE8836}.Debug|x86.ActiveCfg = Debug|Any CPU + {828C6BB6-3543-4EAF-B0F9-F11410AE8836}.Release|Any CPU.ActiveCfg = Release|Any CPU + {828C6BB6-3543-4EAF-B0F9-F11410AE8836}.Release|Any CPU.Build.0 = Release|Any CPU + {828C6BB6-3543-4EAF-B0F9-F11410AE8836}.Release|x86.ActiveCfg = Release|Any CPU + {8622EBC4-8E20-476E-B284-33D472081F5C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {8622EBC4-8E20-476E-B284-33D472081F5C}.Debug|Any CPU.Build.0 = Debug|Any CPU + {8622EBC4-8E20-476E-B284-33D472081F5C}.Debug|x86.ActiveCfg = Debug|Any CPU + {8622EBC4-8E20-476E-B284-33D472081F5C}.Release|Any CPU.ActiveCfg = Release|Any CPU + {8622EBC4-8E20-476E-B284-33D472081F5C}.Release|Any CPU.Build.0 = Release|Any CPU + {8622EBC4-8E20-476E-B284-33D472081F5C}.Release|x86.ActiveCfg = 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|x86.ActiveCfg = Debug|Any CPU + {899E3DD6-EA65-4168-AAE3-867A4F9650A6}.Release|Any CPU.ActiveCfg = Release|Any CPU + {899E3DD6-EA65-4168-AAE3-867A4F9650A6}.Release|Any CPU.Build.0 = Release|Any CPU + {899E3DD6-EA65-4168-AAE3-867A4F9650A6}.Release|x86.ActiveCfg = Release|Any CPU + {988052D4-92F5-4A6F-BE1D-33852D1E5D1E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {988052D4-92F5-4A6F-BE1D-33852D1E5D1E}.Debug|Any CPU.Build.0 = Debug|Any CPU + {988052D4-92F5-4A6F-BE1D-33852D1E5D1E}.Debug|x86.ActiveCfg = Debug|Any CPU + {988052D4-92F5-4A6F-BE1D-33852D1E5D1E}.Release|Any CPU.ActiveCfg = Release|Any CPU + {988052D4-92F5-4A6F-BE1D-33852D1E5D1E}.Release|Any CPU.Build.0 = Release|Any CPU + {988052D4-92F5-4A6F-BE1D-33852D1E5D1E}.Release|x86.ActiveCfg = Release|Any CPU + {991F734F-D659-4252-8D2D-E6F828474861}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {991F734F-D659-4252-8D2D-E6F828474861}.Debug|Any CPU.Build.0 = Debug|Any CPU + {991F734F-D659-4252-8D2D-E6F828474861}.Debug|x86.ActiveCfg = Debug|Any CPU + {991F734F-D659-4252-8D2D-E6F828474861}.Release|Any CPU.ActiveCfg = Release|Any CPU + {991F734F-D659-4252-8D2D-E6F828474861}.Release|Any CPU.Build.0 = Release|Any CPU + {991F734F-D659-4252-8D2D-E6F828474861}.Release|x86.ActiveCfg = Release|Any CPU + {9F1FDC26-5F1C-4C2A-BBBF-3A597A72802D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {9F1FDC26-5F1C-4C2A-BBBF-3A597A72802D}.Debug|Any CPU.Build.0 = Debug|Any CPU + {9F1FDC26-5F1C-4C2A-BBBF-3A597A72802D}.Debug|x86.ActiveCfg = Debug|Any CPU + {9F1FDC26-5F1C-4C2A-BBBF-3A597A72802D}.Release|Any CPU.ActiveCfg = Release|Any CPU + {9F1FDC26-5F1C-4C2A-BBBF-3A597A72802D}.Release|Any CPU.Build.0 = Release|Any CPU + {9F1FDC26-5F1C-4C2A-BBBF-3A597A72802D}.Release|x86.ActiveCfg = Release|Any CPU + {A5A14A71-5DB3-4495-92F6-8D27C98FF0F4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {A5A14A71-5DB3-4495-92F6-8D27C98FF0F4}.Debug|Any CPU.Build.0 = Debug|Any CPU + {A5A14A71-5DB3-4495-92F6-8D27C98FF0F4}.Debug|x86.ActiveCfg = Debug|Any CPU + {A5A14A71-5DB3-4495-92F6-8D27C98FF0F4}.Release|Any CPU.ActiveCfg = Release|Any CPU + {A5A14A71-5DB3-4495-92F6-8D27C98FF0F4}.Release|Any CPU.Build.0 = Release|Any CPU + {A5A14A71-5DB3-4495-92F6-8D27C98FF0F4}.Release|x86.ActiveCfg = Release|Any CPU + {A968C097-44CE-42BA-B66C-CB3A871EE117}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {A968C097-44CE-42BA-B66C-CB3A871EE117}.Debug|Any CPU.Build.0 = Debug|Any CPU + {A968C097-44CE-42BA-B66C-CB3A871EE117}.Debug|x86.ActiveCfg = Debug|Any CPU + {A968C097-44CE-42BA-B66C-CB3A871EE117}.Release|Any CPU.ActiveCfg = Release|Any CPU + {A968C097-44CE-42BA-B66C-CB3A871EE117}.Release|Any CPU.Build.0 = Release|Any CPU + {A968C097-44CE-42BA-B66C-CB3A871EE117}.Release|x86.ActiveCfg = Release|Any CPU + {AC2E7D52-E3C0-4C5A-A13E-B77F6D41C46E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {AC2E7D52-E3C0-4C5A-A13E-B77F6D41C46E}.Debug|Any CPU.Build.0 = Debug|Any CPU + {AC2E7D52-E3C0-4C5A-A13E-B77F6D41C46E}.Debug|x86.ActiveCfg = Debug|Any CPU + {AC2E7D52-E3C0-4C5A-A13E-B77F6D41C46E}.Release|Any CPU.ActiveCfg = Release|Any CPU + {AC2E7D52-E3C0-4C5A-A13E-B77F6D41C46E}.Release|Any CPU.Build.0 = Release|Any CPU + {AC2E7D52-E3C0-4C5A-A13E-B77F6D41C46E}.Release|x86.ActiveCfg = Release|Any CPU + {B2DFA94A-A468-48A1-AB31-04EE432E7B2B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {B2DFA94A-A468-48A1-AB31-04EE432E7B2B}.Debug|Any CPU.Build.0 = Debug|Any CPU + {B2DFA94A-A468-48A1-AB31-04EE432E7B2B}.Debug|x86.ActiveCfg = Debug|Any CPU + {B2DFA94A-A468-48A1-AB31-04EE432E7B2B}.Release|Any CPU.ActiveCfg = Release|Any CPU + {B2DFA94A-A468-48A1-AB31-04EE432E7B2B}.Release|Any CPU.Build.0 = Release|Any CPU + {B2DFA94A-A468-48A1-AB31-04EE432E7B2B}.Release|x86.ActiveCfg = Release|Any CPU + {BE4D0BA3-0888-42A5-9C09-FC308A4509D2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {BE4D0BA3-0888-42A5-9C09-FC308A4509D2}.Debug|Any CPU.Build.0 = Debug|Any CPU + {BE4D0BA3-0888-42A5-9C09-FC308A4509D2}.Debug|x86.ActiveCfg = Debug|Any CPU + {BE4D0BA3-0888-42A5-9C09-FC308A4509D2}.Release|Any CPU.ActiveCfg = Release|Any CPU + {BE4D0BA3-0888-42A5-9C09-FC308A4509D2}.Release|Any CPU.Build.0 = Release|Any CPU + {BE4D0BA3-0888-42A5-9C09-FC308A4509D2}.Release|x86.ActiveCfg = Release|Any CPU + {BED1EEAF-9ADD-46F6-92D0-53957858E25B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {BED1EEAF-9ADD-46F6-92D0-53957858E25B}.Debug|Any CPU.Build.0 = Debug|Any CPU + {BED1EEAF-9ADD-46F6-92D0-53957858E25B}.Debug|x86.ActiveCfg = Debug|Any CPU + {BED1EEAF-9ADD-46F6-92D0-53957858E25B}.Release|Any CPU.ActiveCfg = Release|Any CPU + {BED1EEAF-9ADD-46F6-92D0-53957858E25B}.Release|Any CPU.Build.0 = Release|Any CPU + {BED1EEAF-9ADD-46F6-92D0-53957858E25B}.Release|x86.ActiveCfg = Release|Any CPU + {CC5C9010-83EF-491D-9262-2CED509D895D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {CC5C9010-83EF-491D-9262-2CED509D895D}.Debug|Any CPU.Build.0 = Debug|Any CPU + {CC5C9010-83EF-491D-9262-2CED509D895D}.Debug|x86.ActiveCfg = Debug|Any CPU + {CC5C9010-83EF-491D-9262-2CED509D895D}.Release|Any CPU.ActiveCfg = Release|Any CPU + {CC5C9010-83EF-491D-9262-2CED509D895D}.Release|Any CPU.Build.0 = Release|Any CPU + {CC5C9010-83EF-491D-9262-2CED509D895D}.Release|x86.ActiveCfg = Release|Any CPU + {D3BBDA07-5088-454E-A16D-DA24D8D88037}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {D3BBDA07-5088-454E-A16D-DA24D8D88037}.Debug|Any CPU.Build.0 = Debug|Any CPU + {D3BBDA07-5088-454E-A16D-DA24D8D88037}.Debug|x86.ActiveCfg = Debug|Any CPU + {D3BBDA07-5088-454E-A16D-DA24D8D88037}.Release|Any CPU.ActiveCfg = Release|Any CPU + {D3BBDA07-5088-454E-A16D-DA24D8D88037}.Release|Any CPU.Build.0 = Release|Any CPU + {D3BBDA07-5088-454E-A16D-DA24D8D88037}.Release|x86.ActiveCfg = Release|Any CPU + {D4D9C9A6-04A4-46AD-8238-2493A455723F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {D4D9C9A6-04A4-46AD-8238-2493A455723F}.Debug|Any CPU.Build.0 = Debug|Any CPU + {D4D9C9A6-04A4-46AD-8238-2493A455723F}.Debug|x86.ActiveCfg = Debug|Any CPU + {D4D9C9A6-04A4-46AD-8238-2493A455723F}.Release|Any CPU.ActiveCfg = Release|Any CPU + {D4D9C9A6-04A4-46AD-8238-2493A455723F}.Release|Any CPU.Build.0 = Release|Any CPU + {D4D9C9A6-04A4-46AD-8238-2493A455723F}.Release|x86.ActiveCfg = Release|Any CPU + {D623EC26-1A04-4BFE-84EE-E738281499C0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {D623EC26-1A04-4BFE-84EE-E738281499C0}.Debug|Any CPU.Build.0 = Debug|Any CPU + {D623EC26-1A04-4BFE-84EE-E738281499C0}.Debug|x86.ActiveCfg = Debug|Any CPU + {D623EC26-1A04-4BFE-84EE-E738281499C0}.Release|Any CPU.ActiveCfg = Release|Any CPU + {D623EC26-1A04-4BFE-84EE-E738281499C0}.Release|Any CPU.Build.0 = Release|Any CPU + {D623EC26-1A04-4BFE-84EE-E738281499C0}.Release|x86.ActiveCfg = Release|Any CPU + {DF96F24E-FED9-4BAC-8389-63590125DC61}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {DF96F24E-FED9-4BAC-8389-63590125DC61}.Debug|Any CPU.Build.0 = Debug|Any CPU + {DF96F24E-FED9-4BAC-8389-63590125DC61}.Debug|x86.ActiveCfg = Debug|Any CPU + {DF96F24E-FED9-4BAC-8389-63590125DC61}.Release|Any CPU.ActiveCfg = Release|Any CPU + {DF96F24E-FED9-4BAC-8389-63590125DC61}.Release|Any CPU.Build.0 = Release|Any CPU + {DF96F24E-FED9-4BAC-8389-63590125DC61}.Release|x86.ActiveCfg = Release|Any CPU + {E0B0223C-3E44-4D2A-9FED-F1A319D84D39}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {E0B0223C-3E44-4D2A-9FED-F1A319D84D39}.Debug|Any CPU.Build.0 = Debug|Any CPU + {E0B0223C-3E44-4D2A-9FED-F1A319D84D39}.Debug|x86.ActiveCfg = Debug|Any CPU + {E0B0223C-3E44-4D2A-9FED-F1A319D84D39}.Release|Any CPU.ActiveCfg = Release|Any CPU + {E0B0223C-3E44-4D2A-9FED-F1A319D84D39}.Release|Any CPU.Build.0 = Release|Any CPU + {E0B0223C-3E44-4D2A-9FED-F1A319D84D39}.Release|x86.ActiveCfg = Release|Any CPU + {E6C9A73D-4556-4220-9BC7-302A7EE64C1A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {E6C9A73D-4556-4220-9BC7-302A7EE64C1A}.Debug|Any CPU.Build.0 = Debug|Any CPU + {E6C9A73D-4556-4220-9BC7-302A7EE64C1A}.Debug|x86.ActiveCfg = Debug|Any CPU + {E6C9A73D-4556-4220-9BC7-302A7EE64C1A}.Release|Any CPU.ActiveCfg = Release|Any CPU + {E6C9A73D-4556-4220-9BC7-302A7EE64C1A}.Release|Any CPU.Build.0 = Release|Any CPU + {E6C9A73D-4556-4220-9BC7-302A7EE64C1A}.Release|x86.ActiveCfg = Release|Any CPU + {EF886E1A-D553-43DA-857C-29DA0D6E0DAE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {EF886E1A-D553-43DA-857C-29DA0D6E0DAE}.Debug|Any CPU.Build.0 = Debug|Any CPU + {EF886E1A-D553-43DA-857C-29DA0D6E0DAE}.Debug|x86.ActiveCfg = Debug|Any CPU + {EF886E1A-D553-43DA-857C-29DA0D6E0DAE}.Debug|x86.Build.0 = Debug|Any CPU + {EF886E1A-D553-43DA-857C-29DA0D6E0DAE}.Release|Any CPU.ActiveCfg = Release|Any CPU + {EF886E1A-D553-43DA-857C-29DA0D6E0DAE}.Release|Any CPU.Build.0 = Release|Any CPU + {EF886E1A-D553-43DA-857C-29DA0D6E0DAE}.Release|x86.ActiveCfg = Release|Any CPU + {EF886E1A-D553-43DA-857C-29DA0D6E0DAE}.Release|x86.Build.0 = Release|Any CPU + {F1393A83-C180-417F-B5EE-C6EA3A3691E7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {F1393A83-C180-417F-B5EE-C6EA3A3691E7}.Debug|Any CPU.Build.0 = Debug|Any CPU + {F1393A83-C180-417F-B5EE-C6EA3A3691E7}.Debug|x86.ActiveCfg = Debug|Any CPU + {F1393A83-C180-417F-B5EE-C6EA3A3691E7}.Debug|x86.Build.0 = Debug|Any CPU + {F1393A83-C180-417F-B5EE-C6EA3A3691E7}.Release|Any CPU.ActiveCfg = Release|Any CPU + {F1393A83-C180-417F-B5EE-C6EA3A3691E7}.Release|Any CPU.Build.0 = Release|Any CPU + {F1393A83-C180-417F-B5EE-C6EA3A3691E7}.Release|x86.ActiveCfg = Release|Any CPU + {F1393A83-C180-417F-B5EE-C6EA3A3691E7}.Release|x86.Build.0 = Release|Any CPU + {FD6B879E-46B0-47BE-860E-BF0C11135590}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {FD6B879E-46B0-47BE-860E-BF0C11135590}.Debug|Any CPU.Build.0 = Debug|Any CPU + {FD6B879E-46B0-47BE-860E-BF0C11135590}.Debug|x86.ActiveCfg = Debug|Any CPU + {FD6B879E-46B0-47BE-860E-BF0C11135590}.Release|Any CPU.ActiveCfg = Release|Any CPU + {FD6B879E-46B0-47BE-860E-BF0C11135590}.Release|Any CPU.Build.0 = Release|Any CPU + {FD6B879E-46B0-47BE-860E-BF0C11135590}.Release|x86.ActiveCfg = Release|Any CPU + {FEC4EAD0-8A6E-4029-A537-EBD9F420B227}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {FEC4EAD0-8A6E-4029-A537-EBD9F420B227}.Debug|Any CPU.Build.0 = Debug|Any CPU + {FEC4EAD0-8A6E-4029-A537-EBD9F420B227}.Debug|x86.ActiveCfg = Debug|Any CPU + {FEC4EAD0-8A6E-4029-A537-EBD9F420B227}.Release|Any CPU.ActiveCfg = Release|Any CPU + {FEC4EAD0-8A6E-4029-A537-EBD9F420B227}.Release|Any CPU.Build.0 = Release|Any CPU + {FEC4EAD0-8A6E-4029-A537-EBD9F420B227}.Release|x86.ActiveCfg = Release|Any CPU + {FFC91B24-39AF-49AC-9A3A-900FBE1012ED}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {FFC91B24-39AF-49AC-9A3A-900FBE1012ED}.Debug|Any CPU.Build.0 = Debug|Any CPU + {FFC91B24-39AF-49AC-9A3A-900FBE1012ED}.Debug|x86.ActiveCfg = Debug|Any CPU + {FFC91B24-39AF-49AC-9A3A-900FBE1012ED}.Release|Any CPU.ActiveCfg = Release|Any CPU + {FFC91B24-39AF-49AC-9A3A-900FBE1012ED}.Release|Any CPU.Build.0 = Release|Any CPU + {FFC91B24-39AF-49AC-9A3A-900FBE1012ED}.Release|x86.ActiveCfg = Release|Any CPU + {118E40C4-323E-4B4B-8EF4-38EED6CC5E83}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {118E40C4-323E-4B4B-8EF4-38EED6CC5E83}.Debug|Any CPU.Build.0 = Debug|Any CPU + {118E40C4-323E-4B4B-8EF4-38EED6CC5E83}.Debug|x86.ActiveCfg = Debug|Any CPU + {118E40C4-323E-4B4B-8EF4-38EED6CC5E83}.Release|Any CPU.ActiveCfg = Release|Any CPU + {118E40C4-323E-4B4B-8EF4-38EED6CC5E83}.Release|Any CPU.Build.0 = Release|Any CPU + {118E40C4-323E-4B4B-8EF4-38EED6CC5E83}.Release|x86.ActiveCfg = Release|Any CPU + EndGlobalSection + GlobalSection(NestedProjects) = preSolution + {6F0AB1AF-E1A1-4D19-B19C-05BBB15C94B2} = {05D15661-E684-4EC9-8FBD-C014BA433CC5} + {62CFC025-B8CF-42AA-880A-92F27377FCAF} = {05D15661-E684-4EC9-8FBD-C014BA433CC5} + {3F664673-7E22-4486-9AD0-FC81861D0B78} = {0399182F-AF56-4E86-B229-EAB38C2EE6AF} + {2D4737E6-6D95-408A-90DB-8DFF38147E85} = {0399182F-AF56-4E86-B229-EAB38C2EE6AF} + {8622EBC4-8E20-476E-B284-33D472081F5C} = {0399182F-AF56-4E86-B229-EAB38C2EE6AF} + {30467E5C-05BC-4856-AADC-13906EF4CADD} = {0399182F-AF56-4E86-B229-EAB38C2EE6AF} + {3BEAD9B7-C2C3-48FA-BF20-9AFF31FC3DE1} = {B55B87C2-12E7-4622-A9CB-10A56666C8C6} + {EB8C50C4-8C47-4644-94C6-3D2DC9A69D36} = {3BEAD9B7-C2C3-48FA-BF20-9AFF31FC3DE1} + {F1393A83-C180-417F-B5EE-C6EA3A3691E7} = {EB8C50C4-8C47-4644-94C6-3D2DC9A69D36} + {64089452-6A08-47A5-A857-BF418F80D4A3} = {2ED32D16-6C06-4450-909A-40D32DA67FB4} + {BE4D0BA3-0888-42A5-9C09-FC308A4509D2} = {2ED32D16-6C06-4450-909A-40D32DA67FB4} + {D4D9C9A6-04A4-46AD-8238-2493A455723F} = {2ED32D16-6C06-4450-909A-40D32DA67FB4} + {AC2E7D52-E3C0-4C5A-A13E-B77F6D41C46E} = {2ED32D16-6C06-4450-909A-40D32DA67FB4} + {FEC4EAD0-8A6E-4029-A537-EBD9F420B227} = {2ED32D16-6C06-4450-909A-40D32DA67FB4} + {21D14362-103A-4B38-8FB8-EEA6C7C89E09} = {2ED32D16-6C06-4450-909A-40D32DA67FB4} + {828C6BB6-3543-4EAF-B0F9-F11410AE8836} = {2ED32D16-6C06-4450-909A-40D32DA67FB4} + {30A2F772-8EC1-425A-8D5D-36A0BE4D6B66} = {2ED32D16-6C06-4450-909A-40D32DA67FB4} + {D3BBDA07-5088-454E-A16D-DA24D8D88037} = {2ED32D16-6C06-4450-909A-40D32DA67FB4} + {41DBA506-177E-4B2D-8E6D-738E371326A1} = {2ED32D16-6C06-4450-909A-40D32DA67FB4} + {3DC2C1F6-F332-4E55-BF6A-AED78A7C3FD2} = {2ED32D16-6C06-4450-909A-40D32DA67FB4} + {899E3DD6-EA65-4168-AAE3-867A4F9650A6} = {2ED32D16-6C06-4450-909A-40D32DA67FB4} + {791A36F8-5D96-452B-89D2-78BA74596A1E} = {2ED32D16-6C06-4450-909A-40D32DA67FB4} + {76FD1306-9CA4-428F-993B-B7E4EEEACBF3} = {2ED32D16-6C06-4450-909A-40D32DA67FB4} + {7BB04C9F-DC3F-448A-8FD3-9A6BB52BC886} = {2ED32D16-6C06-4450-909A-40D32DA67FB4} + {B2DFA94A-A468-48A1-AB31-04EE432E7B2B} = {2ED32D16-6C06-4450-909A-40D32DA67FB4} + {A968C097-44CE-42BA-B66C-CB3A871EE117} = {2ED32D16-6C06-4450-909A-40D32DA67FB4} + {04674541-23C2-4308-A9DF-DBC43AE99814} = {2ED32D16-6C06-4450-909A-40D32DA67FB4} + {991F734F-D659-4252-8D2D-E6F828474861} = {2ED32D16-6C06-4450-909A-40D32DA67FB4} + {47197929-1C1D-4F47-A08A-77FECD8879D6} = {2ED32D16-6C06-4450-909A-40D32DA67FB4} + {1C24F4F8-9D94-4783-B5C0-11564D70B76A} = {2ED32D16-6C06-4450-909A-40D32DA67FB4} + {D623EC26-1A04-4BFE-84EE-E738281499C0} = {2ED32D16-6C06-4450-909A-40D32DA67FB4} + {4698BC3F-EC29-42EB-9AED-3D8F9983A108} = {2ED32D16-6C06-4450-909A-40D32DA67FB4} + {9F1FDC26-5F1C-4C2A-BBBF-3A597A72802D} = {2ED32D16-6C06-4450-909A-40D32DA67FB4} + {05127997-B7F3-4802-8021-06C048C8FE63} = {2ED32D16-6C06-4450-909A-40D32DA67FB4} + {E6C9A73D-4556-4220-9BC7-302A7EE64C1A} = {2ED32D16-6C06-4450-909A-40D32DA67FB4} + {988052D4-92F5-4A6F-BE1D-33852D1E5D1E} = {2ED32D16-6C06-4450-909A-40D32DA67FB4} + {10B9B771-9939-4D0B-8D47-501B6F60209F} = {2ED32D16-6C06-4450-909A-40D32DA67FB4} + {4FD9DB1D-76AA-48D1-8446-95376C4A2BC2} = {2ED32D16-6C06-4450-909A-40D32DA67FB4} + {19AEFD28-37E8-4FFD-B879-FEE57824689D} = {2ED32D16-6C06-4450-909A-40D32DA67FB4} + {26095090-3F7D-4DB5-A9BF-4C687230FC0F} = {2ED32D16-6C06-4450-909A-40D32DA67FB4} + {E0B0223C-3E44-4D2A-9FED-F1A319D84D39} = {2ED32D16-6C06-4450-909A-40D32DA67FB4} + {7CA0A889-C1A1-4CEB-AA54-43A640B41C6C} = {2ED32D16-6C06-4450-909A-40D32DA67FB4} + {311885BE-3FAF-430B-91B2-6EC135D3A8AB} = {2ED32D16-6C06-4450-909A-40D32DA67FB4} + {BED1EEAF-9ADD-46F6-92D0-53957858E25B} = {2ED32D16-6C06-4450-909A-40D32DA67FB4} + {CC5C9010-83EF-491D-9262-2CED509D895D} = {2ED32D16-6C06-4450-909A-40D32DA67FB4} + {7C861D40-8214-4DC5-89D1-129F267C1D1B} = {2ED32D16-6C06-4450-909A-40D32DA67FB4} + {DF96F24E-FED9-4BAC-8389-63590125DC61} = {2ED32D16-6C06-4450-909A-40D32DA67FB4} + {FD6B879E-46B0-47BE-860E-BF0C11135590} = {2ED32D16-6C06-4450-909A-40D32DA67FB4} + {FFC91B24-39AF-49AC-9A3A-900FBE1012ED} = {2ED32D16-6C06-4450-909A-40D32DA67FB4} + {EF886E1A-D553-43DA-857C-29DA0D6E0DAE} = {2ED32D16-6C06-4450-909A-40D32DA67FB4} + {A5A14A71-5DB3-4495-92F6-8D27C98FF0F4} = {4BC75679-085E-45DA-B00A-D9BA89D8748A} + EndGlobalSection + GlobalSection(MonoDevelopProperties) = preSolution + StartupItem = Applications\UniversalEditor.Bootstrapper\UniversalEditor.Bootstrapper.csproj + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/CSharp/UniversalEditor.sln b/CSharp/UniversalEditor.WindowsForms.sln similarity index 100% rename from CSharp/UniversalEditor.sln rename to CSharp/UniversalEditor.WindowsForms.sln