miniSql

创建
zgc123@gmail.com authored at 11/19/2023 1:40:15 AM
2.01 KiB
IDatabaseInspector.cs
#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.DbModel;

namespace MiniSqlQuery.Core
{
    /// <summary>
    /// 	An interface to the query windows database inspector.
    /// </summary>
    public interface IDatabaseInspector
    {
        /// <summary>
        /// 	Gets ColumnMenu.
        /// </summary>
        /// <value>The column menu.</value>
        ContextMenuStrip ColumnMenu { get; }

        /// <summary>
        /// 	Gets the current database schema info (if any).
        /// </summary>
        /// <value>The db schema.</value>
        DbModelInstance DbSchema { get; }

        /// <summary>
        /// 	Gets RightClickedModelObject.
        /// </summary>
        /// <value>The right clicked model object.</value>
        IDbModelNamedObject RightClickedModelObject { get; }

        /// <summary>
        /// 	Gets the name of the curent table (or view) with schema if applicable in the tree view that is being clicked.
        /// </summary>
        /// <value>The table or view name or null if none selected.</value>
        string RightClickedTableName { get; }

        /// <summary>
        /// 	Gets the Table context menu strip. Alows an easy method to add menu items.
        /// </summary>
        /// <value>The table menu.</value>
        ContextMenuStrip TableMenu { get; }

        /// <summary>
        /// 	Close the window.
        /// </summary>
        void Close();

        /// <summary>
        /// 	Reloads the meta-data and re-builds the tree.
        /// </summary>
        void LoadDatabaseDetails();

        /// <summary>
        /// 	The navigate to.
        /// </summary>
        /// <param name = "modelObject">The model object.</param>
        void NavigateTo(IDbModelNamedObject modelObject);
    }
}