miniSql

创建
zgc123@gmail.com authored at 11/19/2023 1:40:15 AM
6136600
Tree
0 Parent(s)
Summary: 1 changed files with 53 additions and 0 deletions.
Added +53 -0
Added +53 -0
diff --git a/minisqlquery-master/src/MiniSqlQuery/PlugIns/DatabaseInspector/DatabaseInspectorLoader.cs b/minisqlquery-master/src/MiniSqlQuery/PlugIns/DatabaseInspector/DatabaseInspectorLoader.cs
new file mode 100644
index 0000000..e3c5b0c
--- /dev/null
+++ b/minisqlquery-master/src/MiniSqlQuery/PlugIns/DatabaseInspector/DatabaseInspectorLoader.cs
@@ -0,0 +1,53 @@
+#region License
+
+// Copyright 2005-2019 Paul Kohler (https://github.com/paulkohler/minisqlquery). All rights reserved.
+// This source code is made available under the terms of the GNU Lesser General Public License v3.0
+// https://github.com/paulkohler/minisqlquery/blob/master/LICENSE
+#endregion
+
+using System.Windows.Forms;
+using MiniSqlQuery.Core;
+using MiniSqlQuery.PlugIns.DatabaseInspector.Commands;
+
+namespace MiniSqlQuery.PlugIns.DatabaseInspector
+{
+    /// <summary>The database inspector loader.</summary>
+    public class DatabaseInspectorLoader : PluginLoaderBase
+    {
+        /// <summary>Initializes a new instance of the <see cref="DatabaseInspectorLoader"/> class.</summary>
+        public DatabaseInspectorLoader()
+            : base(
+                "Database Inspector",
+                "A Mini SQL Query Plugin for displaying the database schema in a tree view",
+                20)
+        {
+        }
+
+        /// <summary>Iinitialize the plug in.</summary>
+        public override void InitializePlugIn()
+        {
+            Services.RegisterSingletonComponent<IDatabaseInspector, DatabaseInspectorForm>("DatabaseInspector");
+            Services.RegisterComponent<FindObjectForm>("FindObjectForm");
+
+            IHostWindow hostWindow = Services.HostWindow;
+            hostWindow.AddPluginCommand<ShowDatabaseInspectorCommand>();
+            CommandManager.GetCommandInstance<ShowDatabaseInspectorCommand>().Execute();
+
+            ToolStripMenuItem editMenu = hostWindow.GetMenuItem("edit");
+            editMenu.DropDownItems.Add(CommandControlBuilder.CreateToolStripMenuItem<ShowFindObjectFormCommand>());
+
+            hostWindow.DatabaseInspector.TableMenu.Items.Add(CommandControlBuilder.CreateToolStripMenuItem<GenerateSelectStatementCommand>());
+            hostWindow.DatabaseInspector.TableMenu.Items.Add(CommandControlBuilder.CreateToolStripMenuItem<GenerateSelectCountStatementCommand>());
+            hostWindow.DatabaseInspector.TableMenu.Items.Add(CommandControlBuilder.CreateToolStripMenuItem<GenerateInsertStatementCommand>());
+            hostWindow.DatabaseInspector.TableMenu.Items.Add(CommandControlBuilder.CreateToolStripMenuItem<GenerateUpdateStatementCommand>());
+            hostWindow.DatabaseInspector.TableMenu.Items.Add(CommandControlBuilder.CreateToolStripMenuItem<GenerateDeleteStatementCommand>());
+            hostWindow.DatabaseInspector.TableMenu.Items.Add(CommandControlBuilder.CreateToolStripMenuItem<CopyTableNameCommand>());
+            hostWindow.DatabaseInspector.TableMenu.Items.Add(CommandControlBuilder.CreateToolStripMenuItem<TruncateTableCommand>());
+
+            hostWindow.DatabaseInspector.ColumnMenu.Items.Add(CommandControlBuilder.CreateToolStripMenuItem<LocateFkReferenceColumnCommand>());
+
+            // todo: bug - the opening event is not firing....
+            CommandControlBuilder.MonitorMenuItemsOpeningForEnabling(hostWindow.DatabaseInspector.ColumnMenu);
+        }
+    }
+}
\ No newline at end of file