From b2a003afbbb77351e92c1d12a0db4450c70175b5 Mon Sep 17 00:00:00 2001 From: alcexhim Date: Sun, 10 Aug 2014 01:05:56 -0400 Subject: [PATCH] Make DataFormatOptionsDialog engine-agnostic --- .../Dialogs/DataFormatOptionsDialog.cs | 6 ------ .../MainWindow.cs | 5 ++++- .../Pages/EditorPage.cs | 2 +- .../WindowsFormsEngine.cs | 9 +++++++++ .../DataFormatOptionsDialogType.cs | 13 +++++++++++++ .../UniversalEditor.UserInterface/Engine.cs | 2 ++ .../UniversalEditor.UserInterface.csproj | 1 + 7 files changed, 30 insertions(+), 8 deletions(-) create mode 100644 CSharp/Libraries/UniversalEditor.UserInterface/DataFormatOptionsDialogType.cs diff --git a/CSharp/Engines/WindowsForms/Engines/UniversalEditor.UserInterface.WindowsForms.DesktopApplication/Dialogs/DataFormatOptionsDialog.cs b/CSharp/Engines/WindowsForms/Engines/UniversalEditor.UserInterface.WindowsForms.DesktopApplication/Dialogs/DataFormatOptionsDialog.cs index 1d8c6a7b..65fb1768 100644 --- a/CSharp/Engines/WindowsForms/Engines/UniversalEditor.UserInterface.WindowsForms.DesktopApplication/Dialogs/DataFormatOptionsDialog.cs +++ b/CSharp/Engines/WindowsForms/Engines/UniversalEditor.UserInterface.WindowsForms.DesktopApplication/Dialogs/DataFormatOptionsDialog.cs @@ -244,10 +244,4 @@ namespace UniversalEditor.UserInterface.WindowsForms.Dialogs return DialogResult.None; } } - - public enum DataFormatOptionsDialogType - { - Import, - Export - } } diff --git a/CSharp/Engines/WindowsForms/Engines/UniversalEditor.UserInterface.WindowsForms.DesktopApplication/MainWindow.cs b/CSharp/Engines/WindowsForms/Engines/UniversalEditor.UserInterface.WindowsForms.DesktopApplication/MainWindow.cs index b9829284..0d6c7038 100644 --- a/CSharp/Engines/WindowsForms/Engines/UniversalEditor.UserInterface.WindowsForms.DesktopApplication/MainWindow.cs +++ b/CSharp/Engines/WindowsForms/Engines/UniversalEditor.UserInterface.WindowsForms.DesktopApplication/MainWindow.cs @@ -1276,7 +1276,10 @@ namespace UniversalEditor.UserInterface.WindowsForms */ DataFormat df = dfr.Create(); - DataFormatOptionsDialog.ShowDialog(ref df, DataFormatOptionsDialogType.Export); + if (!Engine.CurrentEngine.ShowDataFormatOptionsDialog(ref df, DataFormatOptionsDialogType.Export)) + { + return false; + } #region Save Code NotifySaving(doc); diff --git a/CSharp/Engines/WindowsForms/Engines/UniversalEditor.UserInterface.WindowsForms.DesktopApplication/Pages/EditorPage.cs b/CSharp/Engines/WindowsForms/Engines/UniversalEditor.UserInterface.WindowsForms.DesktopApplication/Pages/EditorPage.cs index 92ce214f..4aecf8f6 100644 --- a/CSharp/Engines/WindowsForms/Engines/UniversalEditor.UserInterface.WindowsForms.DesktopApplication/Pages/EditorPage.cs +++ b/CSharp/Engines/WindowsForms/Engines/UniversalEditor.UserInterface.WindowsForms.DesktopApplication/Pages/EditorPage.cs @@ -364,7 +364,7 @@ namespace UniversalEditor.UserInterface.WindowsForms.Pages } else { - if (Dialogs.DataFormatOptionsDialog.ShowDialog(ref fmt, Dialogs.DataFormatOptionsDialogType.Import) == DialogResult.Cancel) return; + if (!Engine.CurrentEngine.ShowDataFormatOptionsDialog(ref fmt, DataFormatOptionsDialogType.Import)) return; Document document = new UniversalEditor.Document(objm, fmt, new FileAccessor(FileName)); document.InputAccessor.Open(); diff --git a/CSharp/Engines/WindowsForms/Engines/UniversalEditor.UserInterface.WindowsForms.DesktopApplication/WindowsFormsEngine.cs b/CSharp/Engines/WindowsForms/Engines/UniversalEditor.UserInterface.WindowsForms.DesktopApplication/WindowsFormsEngine.cs index a53df4c4..66fb193b 100644 --- a/CSharp/Engines/WindowsForms/Engines/UniversalEditor.UserInterface.WindowsForms.DesktopApplication/WindowsFormsEngine.cs +++ b/CSharp/Engines/WindowsForms/Engines/UniversalEditor.UserInterface.WindowsForms.DesktopApplication/WindowsFormsEngine.cs @@ -401,5 +401,14 @@ namespace UniversalEditor.UserInterface.WindowsForms { Application.Exit(); } + + public override bool ShowDataFormatOptionsDialog(ref DataFormat df, DataFormatOptionsDialogType type) + { + if (DataFormatOptionsDialog.ShowDialog(ref df, type) == DialogResult.OK) + { + return true; + } + return false; + } } } diff --git a/CSharp/Libraries/UniversalEditor.UserInterface/DataFormatOptionsDialogType.cs b/CSharp/Libraries/UniversalEditor.UserInterface/DataFormatOptionsDialogType.cs new file mode 100644 index 00000000..8fe258d0 --- /dev/null +++ b/CSharp/Libraries/UniversalEditor.UserInterface/DataFormatOptionsDialogType.cs @@ -0,0 +1,13 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace UniversalEditor.UserInterface +{ + public enum DataFormatOptionsDialogType + { + Import, + Export + } +} diff --git a/CSharp/Libraries/UniversalEditor.UserInterface/Engine.cs b/CSharp/Libraries/UniversalEditor.UserInterface/Engine.cs index 8bce0361..26cadf79 100644 --- a/CSharp/Libraries/UniversalEditor.UserInterface/Engine.cs +++ b/CSharp/Libraries/UniversalEditor.UserInterface/Engine.cs @@ -988,5 +988,7 @@ namespace UniversalEditor.UserInterface protected virtual void StopApplicationInternal() { } + + public abstract bool ShowDataFormatOptionsDialog(ref DataFormat df, DataFormatOptionsDialogType dataFormatOptionsDialogType); } } diff --git a/CSharp/Libraries/UniversalEditor.UserInterface/UniversalEditor.UserInterface.csproj b/CSharp/Libraries/UniversalEditor.UserInterface/UniversalEditor.UserInterface.csproj index 95f885d6..6c28928f 100644 --- a/CSharp/Libraries/UniversalEditor.UserInterface/UniversalEditor.UserInterface.csproj +++ b/CSharp/Libraries/UniversalEditor.UserInterface/UniversalEditor.UserInterface.csproj @@ -59,6 +59,7 @@ +