Exemplo n.º 1
0
        /// <summary>
        ///     Drop MongoDB
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void DelMongoDBToolStripMenuItem_Click(object sender, EventArgs e)
        {
            var strTitle   = "Drop Database";
            var strMessage = "Are you really want to Drop current Database?";

            if (!GuiConfig.IsUseDefaultLanguage)
            {
                strTitle   = GuiConfig.GetText(TextType.DropDataBase);
                strMessage =
                    GuiConfig.GetText(TextType.DropDataBaseConfirm);
            }
            if (!MyMessageBox.ShowConfirm(strTitle, strMessage))
            {
                return;
            }
            var strTagPrefix = TagInfo.GetTagPath(ConstMgr.CollectionTag + ":" + RuntimeMongoDbContext.SelectTagData);
            var strDbName    = strTagPrefix.Split("/".ToCharArray())[(int)EnumMgr.PathLevel.Database];

            if (trvsrvlst.SelectedNode == null)
            {
                trvsrvlst.SelectedNode = null;
            }
            var rtnResult = Operater.DropDatabase(RuntimeMongoDbContext.SelectObjectTag, strDbName);

            if (string.IsNullOrEmpty(rtnResult))
            {
                RefreshToolStripMenuItem_Click(sender, e);
                //关闭所有的相关视图
                MultiTabManger.SelectObjectTagPrefixDeleted(strTagPrefix);
            }
            else
            {
                MyMessageBox.ShowMessage("Error", "Error", rtnResult, true);
            }
        }
Exemplo n.º 2
0
        /// <summary>
        ///     Load Form
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void frmMain_Load(object sender, EventArgs e)
        {
            //加载到菜单
            PlugIn.LoadPlugInMenuItem(plugInToolStripMenuItem);
            //禁用操作
            DisableAllOpr();
            //Set Tool bar button enable
            SetToolBarEnabled();
            //Open ConnectionManagement Form
            UIAssistant.OpenModalForm(new frmConnect(), true, true);

            //多文档管理器的设定
            var parentMenuItems = new List <ToolStripMenuItem>
            {
                CollectionToolStripMenuItem,
                JavaScriptStripMenuItem
            };

            MultiTabManger.Init(tabView, parentMenuItems);
            //MultiTab固定项目的初始化
            var serverStatusCtl = new CtlServerStatus()
            {
                IsFixedItem     = true,
                SelectObjectTag = "[ServerStatus]",
                BindingMenu     = StatusToolStripMenuItem
            };

            MultiTabManger.AddView(serverStatusCtl, GuiConfig.IsUseDefaultLanguage ? "Status" : GuiConfig.GetText("MainMenu.MangtStatus"), string.Empty);

            //刷新
            RefreshToolStripMenuItem_Click(sender, e);
            serverStatusCtl.RefreshGui();
            MultiTabManger.SelectTab("[ServerStatus]");

            //委托设置
            trvsrvlst.NodeMouseClick        += trvsrvlst_NodeMouseClick;
            trvsrvlst.NodeMouseDoubleClick  += (x, y) => ViewDataObj();
            ViewDataToolStripMenuItem.Click += (x, y) => ViewDataObj();
            trvsrvlst.KeyDown            += trvsrvlst_KeyDown;
            tabView.SelectedIndexChanged += tabView_SelectedIndexChanged;
            //CommandHelper.RunCommandComplete += CommandLog;
            //长时间操作时候,实时提示进度在状态栏中
            lblAction.Text          = string.Empty;
            MongoHelper.ActionDone += (x, y) =>
            {
                //1.lblAction 没有InvokeRequired
                //2.DoEvents必须
                lblAction.Text = y.Message;
                Application.DoEvents();
            };
            if (trvsrvlst.Nodes.Count > 0)
            {
                trvsrvlst.SelectedNode = trvsrvlst.Nodes[0];
            }
        }
Exemplo n.º 3
0
        /// <summary>
        ///     Load Form
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void frmMain_Load(object sender, EventArgs e)
        {
            //加载到菜单
            PlugIn.LoadPlugInMenuItem(plugInToolStripMenuItem);
            //禁用操作
            DisableAllOpr();
            //Set Tool bar button enable
            SetToolBarEnabled();
            //Open ConnectionManagement Form
            Utility.OpenForm(new FrmConnect(), true, true);

            //多文档管理器的设定
            var parentMenuItems = new List <ToolStripMenuItem>();

            parentMenuItems.Add(CollectionToolStripMenuItem);
            parentMenuItems.Add(JavaScriptStripMenuItem);
            MultiTabManger.Init(tabView, parentMenuItems);
            //MultiTab固定项目的初始化
            var serverStatusCtl = new CtlServerStatus();

            serverStatusCtl.IsFixedItem     = true;
            serverStatusCtl.SelectObjectTag = "[ServerStatus]";
            serverStatusCtl.BindingMenu     = StatusToolStripMenuItem;
            MultiTabManger.AddView(serverStatusCtl, "Status");

            var ctlShellCommandEditor = new CtlJsEditor();

            ctlShellCommandEditor.IsFixedItem     = true;
            ctlShellCommandEditor.SelectObjectTag = "[ShellCommand]";
            ctlShellCommandEditor.BindingMenu     = commandShellToolStripMenuItem;
            MultiTabManger.AddView(ctlShellCommandEditor, "ShellCommand");


            //刷新
            RefreshToolStripMenuItem_Click(sender, e);
            serverStatusCtl.RefreshGui();
            MultiTabManger.SelectTab("[ServerStatus]");

            //委托设置
            trvsrvlst.NodeMouseClick        += trvsrvlst_NodeMouseClick;
            trvsrvlst.NodeMouseDoubleClick  += (x, y) => ViewDataObj();
            ViewDataToolStripMenuItem.Click += (x, y) => ViewDataObj();
            trvsrvlst.KeyDown            += trvsrvlst_KeyDown;
            tabView.SelectedIndexChanged += tabView_SelectedIndexChanged;
            //CommandHelper.RunCommandComplete += CommandLog;
            //长时间操作时候,实时提示进度在状态栏中
            lblAction.Text          = string.Empty;
            MongoHelper.ActionDone += (x, y) =>
            {
                //1.lblAction 没有InvokeRequired
                //2.DoEvents必须
                lblAction.Text = y.Message;
                Application.DoEvents();
            };
        }
Exemplo n.º 4
0
        /// <summary>
        ///     删除Mongo数据集
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void DelMongoCollectionToolStripMenuItem_Click(object sender, EventArgs e)
        {
            var strDelTag = trvsrvlst.SelectedNode.Tag.ToString();

            if (!Collection.DropCollection(trvsrvlst.SelectedNode))
            {
                return;
            }
            MultiTabManger.SelectObjectTagDeleted(strDelTag);
            trvsrvlst.SelectedNode.Parent.Nodes.Remove(trvsrvlst.SelectedNode);
            DisableAllOpr();
        }
Exemplo n.º 5
0
        /// <summary>
        ///     Create a DataView Tab
        /// </summary>
        private void ViewDataRecord()
        {
            //由于Collection 和 Document 都可以触发这个事件,所以,先把Tag以前的标题头去掉
            //Collectiong:XXXX 和 Document:XXXX 都统一成 XXXX
            var dataKey = RuntimeMongoDbContext.SelectTagData;

            if (MultiTabManger.IsExist(dataKey))
            {
                MultiTabManger.SelectTab(dataKey);
                return;
            }

            var mDataViewInfo = new DataViewInfo
            {
                strCollectionPath = RuntimeMongoDbContext.SelectObjectTag,
                IsReadOnly        = RuntimeMongoDbContext.CurrentMongoConnectionconfig.IsReadOnly,
            };

            CtlDataView dataViewctl;

            switch (RuntimeMongoDbContext.SelectTagType)
            {
            case ConstMgr.GridFileSystemTag:
                dataViewctl = new CtlGfsView(mDataViewInfo)
                {
                    AllowDrop = true
                };
                break;

            case ConstMgr.UserListTag:
                dataViewctl = new CtlUserView(mDataViewInfo);
                break;

            case ConstMgr.ViewTag:
                mDataViewInfo.IsView = true;
                dataViewctl          = new CtlDocumentView(mDataViewInfo);
                break;

            default:
                dataViewctl = new CtlDocumentView(mDataViewInfo);
                break;
            }

            dataViewctl.mDataViewInfo   = mDataViewInfo;
            dataViewctl.SelectObjectTag = RuntimeMongoDbContext.SelectObjectTag;
            dataViewctl.ParentMenu      = CollectionToolStripMenuItem;
            var TabTitle = UiHelper.GetShowName(RuntimeMongoDbContext.GetCurrentDataBaseName(), RuntimeMongoDbContext.GetCurrentCollectionName());

            MultiTabManger.AddView(dataViewctl, TabTitle, RuntimeMongoDbContext.SelectTagType);
        }
Exemplo n.º 6
0
        /// <summary>
        ///     Disconnect
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void DisconnectToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (RuntimeMongoDbContext.SelectTagType == ConstMgr.ConnectionExceptionTag)
            {
                return;
            }
            //关闭相关的Tab
            var connectionTag = trvsrvlst.SelectedNode.Tag.ToString();

            MultiTabManger.SelectObjectTagPrefixDeleted(ConstMgr.CollectionTag + ":" + TagInfo.GetTagPath(connectionTag));
            RuntimeMongoDbContext.RemoveConnectionConfig(
                RuntimeMongoDbContext.CurrentMongoConnectionconfig.ConnectionName);
            trvsrvlst.Nodes.Remove(trvsrvlst.SelectedNode);
            RefreshToolStripMenuItem_Click(sender, e);
        }
Exemplo n.º 7
0
        /// <summary>
        ///     Create a DataView Tab
        /// </summary>
        private void ViewDataRecord()
        {
            //由于Collection 和 Document 都可以触发这个事件,所以,先把Tag以前的标题头去掉
            //Collectiong:XXXX 和 Document:XXXX 都统一成 XXXX
            var dataKey = RuntimeMongoDbContext.SelectTagData;

            if (MultiTabManger.IsExist(dataKey))
            {
                MultiTabManger.SelectTab(dataKey);
                return;
            }

            var mDataViewInfo = new DataViewInfo
            {
                StrDbTag    = RuntimeMongoDbContext.SelectObjectTag,
                IsUseFilter = false,
                IsReadOnly  = RuntimeMongoDbContext.CurrentMongoConnectionconfig.IsReadOnly,
                MDataFilter = new DataFilter()
            };

            CtlDataView dataViewctl;

            switch (RuntimeMongoDbContext.SelectTagType)
            {
            case ConstMgr.GridFileSystemTag:
                dataViewctl = new CtlGfsView(mDataViewInfo);
                break;

            case ConstMgr.UserListTag:
                dataViewctl = new CtlUserView(mDataViewInfo);
                break;

            case ConstMgr.ViewTag:
                mDataViewInfo.IsView = true;
                dataViewctl          = new CtlDocumentView(mDataViewInfo);
                break;

            default:
                dataViewctl = new CtlDocumentView(mDataViewInfo);
                break;
            }

            dataViewctl.MDataViewInfo   = mDataViewInfo;
            dataViewctl.SelectObjectTag = RuntimeMongoDbContext.SelectObjectTag;
            dataViewctl.ParentMenu      = CollectionToolStripMenuItem;
            MultiTabManger.AddView(dataViewctl, RuntimeMongoDbContext.GetCurrentCollectionName());
        }
Exemplo n.º 8
0
        /// <summary>
        ///     View Js
        /// </summary>
        private void ViewJavascript()
        {
            var tagArray = RuntimeMongoDbContext.SelectTagData.Split("/".ToCharArray());
            var jsName   = tagArray[(int)EnumMgr.PathLevel.Document];

            if (MultiTabManger.IsExist(RuntimeMongoDbContext.SelectTagData))
            {
                MultiTabManger.SelectTab(RuntimeMongoDbContext.SelectTagData);
                return;
            }

            var jsEditor = new CtlJsEditor {
                StrDBtag = RuntimeMongoDbContext.SelectObjectTag
            };
            var dataTab = new TabPage(jsName)
            {
                Tag        = RuntimeMongoDbContext.SelectObjectTag,
                ImageIndex = 1
            };

            jsEditor.JsName = jsName;
            dataTab.Controls.Add(jsEditor);
            jsEditor.Dock = DockStyle.Fill;
            tabView.Controls.Add(dataTab);

            var dataMenuItem = new ToolStripMenuItem(jsName)
            {
                Tag   = dataTab.Tag,
                Image = GetSystemIcon.TabViewImage.Images[1]
            };

            JavaScriptStripMenuItem.DropDownItems.Add(dataMenuItem);
            dataMenuItem.Click += (x, y) => tabView.SelectTab(dataTab);
            //MultiTabManger.AddTabInfo(RuntimeMongoDbContext.SelectTagData, null, dataTab,string.Empty);
            jsEditor.CloseTab += (x, y) =>
            {
                tabView.Controls.Remove(dataTab);
                //MultiTabManger.RemoveTabInfo(RuntimeMongoDbContext.SelectTagData);
                JavaScriptStripMenuItem.DropDownItems.Remove(dataMenuItem);
            };
            tabView.SelectTab(dataTab);
            //}
        }
Exemplo n.º 9
0
        /// <summary>
        ///     重命名数据集
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void RenameCollectionToolStripMenuItem_Click(object sender, EventArgs e)
        {
            var strOldNodeTag        = trvsrvlst.SelectedNode.Tag.ToString();
            var strNewCollectionName = Collection.RenameCollection(trvsrvlst.SelectedNode);

            if (string.IsNullOrEmpty(strNewCollectionName))
            {
                return;
            }
            var strNewNodeTag = TagInfo.ChangeName(trvsrvlst.SelectedNode.Tag.ToString(), strNewCollectionName);

            MultiTabManger.SelectObjectTagChanged(strOldNodeTag, strNewNodeTag, strNewCollectionName);
            DisableAllOpr();
            RuntimeMongoDbContext.SelectObjectTag = strNewNodeTag;
            trvsrvlst.SelectedNode.Text           = strNewCollectionName;
            trvsrvlst.SelectedNode.Tag            = strNewNodeTag;
            trvsrvlst.SelectedNode.ToolTipText    = strNewCollectionName + Environment.NewLine;
            trvsrvlst.SelectedNode.ToolTipText   += "IsCapped:" + RuntimeMongoDbContext.GetCurrentCollectionIsCapped();
            statusStripMain.Items[0].Text         = GuiConfig.GetText("selected Collection", TextType.SelectedCollection) + ":" +
                                                    RuntimeMongoDbContext.SelectTagData;
        }
Exemplo n.º 10
0
 /// <summary>
 ///     Refresh View
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void ViewRefreshToolStripMenuItem_Click(object sender, EventArgs e)
 {
     MultiTabManger.RefreshSelectTab();
 }