コード例 #1
0
        /// <summary>
        ///     Collection  Hanlder.
        /// </summary>
        /// <param name="e">E.</param>
        private void CollectionHandler(TreeNodeMouseClickEventArgs e)
        {
            if (GuiConfig.IsUseDefaultLanguage)
            {
                statusStripMain.Items[0].Text = "Selected Collection:" + RuntimeMongoDbContext.SelectTagData;
            }
            else
            {
                statusStripMain.Items[0].Text =
                    GuiConfig.GetText(TextType.SelectedCollection) + ":" +
                    RuntimeMongoDbContext.SelectTagData;
            }

            var mongoCol = RuntimeMongoDbContext.GetCurrentCollection();

            //解禁 删除数据集
            if (!Operater.IsSystemCollection())
            {
                //系统数据库无法删除!!
                if (!RuntimeMongoDbContext.CurrentMongoConnectionconfig.IsReadOnly)
                {
                    DelMongoCollectionToolStripMenuItem.Enabled = true;
                    RenameCollectionToolStripMenuItem.Enabled   = true;
                }
            }
            if (!RuntimeMongoDbContext.CurrentMongoConnectionconfig.IsReadOnly)
            {
                ImportCollectionToolStripMenuItem.Enabled = true;
                CompactToolStripMenuItem.Enabled          = true;
            }
            if (!Operater.IsSystemCollection() &&
                !RuntimeMongoDbContext.CurrentMongoConnectionconfig.IsReadOnly)
            {
                IndexManageToolStripMenuItem.Enabled = true;
                ReIndexToolStripMenuItem.Enabled     = true;
            }
            DumpCollectionToolStripMenuItem.Enabled   = true;
            ExportCollectionToolStripMenuItem.Enabled = true;
            AggregationToolStripMenuItem.Enabled      = true;
            ViewDataToolStripMenuItem.Enabled         = true;
            CollectionStatusToolStripMenuItem.Enabled = true;
            ValidateToolStripMenuItem.Enabled         = true;
            ExportToFileToolStripMenuItem.Enabled     = true;

            if (!mongoCol.IsCapped())
            {
                ConvertToCappedtoolStripMenuItem.Enabled = true;
            }

            if (e.Button == MouseButtons.Right)
            {
                contextMenuStripMain = new ContextMenuStrip();
                if (SystemManager.MonoMode)
                {
                    //悲催MONO不支持
                    var delMongoCollection = DelMongoCollectionToolStripMenuItem.Clone();
                    delMongoCollection.Click += DelMongoCollectionToolStripMenuItem_Click;
                    contextMenuStripMain.Items.Add(delMongoCollection);

                    var renameCollection = RenameCollectionToolStripMenuItem.Clone();
                    renameCollection.Click += RenameCollectionToolStripMenuItem_Click;
                    contextMenuStripMain.Items.Add(renameCollection);

                    var dumpCollection = DumpCollectionToolStripMenuItem.Clone();
                    dumpCollection.Click += DumpCollectionToolStripMenuItem_Click;
                    contextMenuStripMain.Items.Add(dumpCollection);

                    var restoreMongo = RestoreMongoToolStripMenuItem.Clone();
                    restoreMongo.Click += RestoreMongoToolStripMenuItem_Click;
                    contextMenuStripMain.Items.Add(restoreMongo);

                    var importCollection = ImportCollectionToolStripMenuItem.Clone();
                    importCollection.Click += ImportCollectionToolStripMenuItem_Click;
                    contextMenuStripMain.Items.Add(importCollection);

                    var exportCollection = ExportCollectionToolStripMenuItem.Clone();
                    exportCollection.Click += ExportCollectionToolStripMenuItem_Click;
                    contextMenuStripMain.Items.Add(exportCollection);

                    var compact = CompactToolStripMenuItem.Clone();
                    compact.Click += CompactToolStripMenuItem_Click;
                    contextMenuStripMain.Items.Add(compact);

                    contextMenuStripMain.Items.Add(new ToolStripSeparator());

                    var viewData = ViewDataToolStripMenuItem.Clone();
                    viewData.Click += (x, y) => ViewDataObj();
                    contextMenuStripMain.Items.Add(viewData);

                    var aggregationMenu = AggregationToolStripMenuItem.Clone();

                    var distinct = distinctToolStripMenuItem.Clone();
                    distinct.Click += distinctToolStripMenuItem_Click;
                    aggregationMenu.DropDownItems.Add(distinct);

                    var mapReduce = mapReduceToolStripMenuItem.Clone();
                    mapReduce.Click += mapReduceToolStripMenuItem_Click;
                    aggregationMenu.DropDownItems.Add(mapReduce);

                    contextMenuStripMain.Items.Add(aggregationMenu);
                    contextMenuStripMain.Items.Add(new ToolStripSeparator());

                    var indexManage = IndexManageToolStripMenuItem.Clone();
                    indexManage.Click += IndexManageToolStripMenuItem_Click;
                    contextMenuStripMain.Items.Add(indexManage);

                    var reIndex = ReIndexToolStripMenuItem.Clone();
                    reIndex.Click += ReIndexToolStripMenuItem_Click;
                    contextMenuStripMain.Items.Add(reIndex);

                    contextMenuStripMain.Items.Add(new ToolStripSeparator());

                    var collectionStatus = CollectionStatusToolStripMenuItem.Clone();
                    collectionStatus.Click += CollectionStatusToolStripMenuItem_Click;
                    contextMenuStripMain.Items.Add(collectionStatus);
                }
                else
                {
                    contextMenuStripMain.Items.Add(DelMongoCollectionToolStripMenuItem.Clone());
                    contextMenuStripMain.Items.Add(RenameCollectionToolStripMenuItem.Clone());
                    contextMenuStripMain.Items.Add(ConvertToCappedtoolStripMenuItem.Clone());
                    contextMenuStripMain.Items.Add(DumpCollectionToolStripMenuItem.Clone());
                    contextMenuStripMain.Items.Add(RestoreMongoToolStripMenuItem.Clone());
                    contextMenuStripMain.Items.Add(ImportCollectionToolStripMenuItem.Clone());
                    contextMenuStripMain.Items.Add(ExportCollectionToolStripMenuItem.Clone());
                    contextMenuStripMain.Items.Add(ExportToFileToolStripMenuItem.Clone());
                    contextMenuStripMain.Items.Add(CompactToolStripMenuItem.Clone());
                    contextMenuStripMain.Items.Add(new ToolStripSeparator());
                    contextMenuStripMain.Items.Add(ViewDataToolStripMenuItem.Clone());
                    contextMenuStripMain.Items.Add(AggregationToolStripMenuItem.Clone());
                    contextMenuStripMain.Items.Add(new ToolStripSeparator());
                    contextMenuStripMain.Items.Add(IndexManageToolStripMenuItem.Clone());
                    contextMenuStripMain.Items.Add(ReIndexToolStripMenuItem.Clone());
                    contextMenuStripMain.Items.Add(new ToolStripSeparator());
                    contextMenuStripMain.Items.Add(CollectionStatusToolStripMenuItem.Clone());
                    contextMenuStripMain.Items.Add(ValidateToolStripMenuItem.Clone());
                }
                e.Node.ContextMenuStrip = contextMenuStripMain;
                contextMenuStripMain.Show(trvsrvlst.PointToScreen(e.Location));
            }
            //PlugIn
            foreach (ToolStripMenuItem item in plugInToolStripMenuItem.DropDownItems)
            {
                if (PlugIn.PlugInList[item.Tag.ToString()].RunLv == PlugInBase.PathLv.CollectionLv)
                {
                    item.Enabled = true;
                }
            }
        }
コード例 #2
0
ファイル: frmMain.cs プロジェクト: zhangvv/MongoCola
        /// <summary>
        ///     ConnectionList TreeView Node is clicked by mouse
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void trvsrvlst_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)
        {
            if (e.Node.ImageIndex != -1)
            {
                statusStripMain.Items[0].Image = GetSystemIcon.MainTreeImage.Images[e.Node.ImageIndex];
            }
            //First , set Every MenuItem to disable
            DisableAllOpr();
            if (e.Node.Tag != null)
            {
                //选中节点的设置
                trvsrvlst.SelectedNode = e.Node;
                var strNodeType = TagInfo.GetTagType(e.Node.Tag.ToString());
                var mongoSvrKey = TagInfo.GetTagPath(e.Node.Tag.ToString()).Split("/".ToCharArray())[0];
                RuntimeMongoDbContext.CurrentMongoConnectionconfig =
                    MongoConnectionConfig.MongoConfig.ConnectionList[mongoSvrKey];
                if (string.IsNullOrEmpty(RuntimeMongoDbContext.CurrentMongoConnectionconfig.UserName))
                {
                    lblUserInfo.Text = GuiConfig.GetText("UserInfo", "UserInfo") + ":Admin";
                }
                else
                {
                    lblUserInfo.Text = GuiConfig.GetText("UserInfo", "UserInfo") + ":" + RuntimeMongoDbContext.CurrentMongoConnectionconfig.UserName;
                }
                if (RuntimeMongoDbContext.CurrentMongoConnectionconfig.AuthMode)
                {
                    lblUserInfo.Text += " @AuthMode";
                }
                if (RuntimeMongoDbContext.CurrentMongoConnectionconfig.IsReadOnly)
                {
                    lblUserInfo.Text += " [" + GuiConfig.GetText("ReadOnly", "Common_ReadOnly") + "]";
                }
                if (!RuntimeMongoDbContext.CurrentMongoConnectionconfig.IsReadOnly)
                {
                    //恢复数据:这个操作可以针对服务器,数据库,数据集,所以可以放在共通
                    RestoreMongoToolStripMenuItem.Enabled = true;
                }
                RuntimeMongoDbContext.SelectObjectTag = string.Empty;
                if (RuntimeMongoDbContext.SelectObjectTag != null)
                {
                    RuntimeMongoDbContext.SelectObjectTag = e.Node.Tag.ToString();
                }
                switch (strNodeType)
                {
                case ConstMgr.ConnectionTag:
                case ConstMgr.ConnectionReplsetTag:
                case ConstMgr.ConnectionClusterTag:
                    ConnectionHandler(strNodeType, e);
                    break;

                case ConstMgr.ConnectionExceptionTag:
                    ExceptionConnectionHandler(e);
                    break;

                case ConstMgr.ServerTag:
                    ServerHandler(e);
                    break;

                case ConstMgr.SingleDbServerTag:
                    SingleDBServerHandler(e);
                    break;

                case ConstMgr.DatabaseTag:
                case ConstMgr.SingleDatabaseTag:
                    DataBaseHandler(strNodeType, e);
                    break;

                case ConstMgr.SystemCollectionListTag:
                    RuntimeMongoDbContext.SelectObjectTag = e.Node.Tag.ToString();
                    statusStripMain.Items[0].Text         = GuiConfig.GetText("System Collection List ", "SystemCollectionList");
                    break;

                case ConstMgr.CollectionListTag:
                    //添加数据集
                    CollectionListHandler(e);
                    RuntimeMongoDbContext.SelectObjectTag = e.Node.Tag.ToString();
                    statusStripMain.Items[0].Text         = GuiConfig.GetText("Collection List ", "CollectionList");
                    break;

                case ConstMgr.ViewListTag:
                    ViewListHandler(e);
                    RuntimeMongoDbContext.SelectObjectTag = e.Node.Tag.ToString();
                    statusStripMain.Items[0].Text         = GuiConfig.GetText("List View ", "ViewList");
                    break;

                case ConstMgr.CollectionTag:
                    CollectionHandler(e);
                    break;

                case ConstMgr.ViewTag:
                    ViewHandler(e);
                    break;

                case ConstMgr.IndexTag:
                    statusStripMain.Items[0].Text = GuiConfig.GetText("Selected Index:", "SelectedIndex") +
                                                    ":" + RuntimeMongoDbContext.SelectTagData;
                    break;

                case ConstMgr.IndexesTag:
                    statusStripMain.Items[0].Text =
                        GuiConfig.GetText("Selected Index", "SelectedIndexes") + ":" +
                        RuntimeMongoDbContext.SelectTagData;
                    break;

                case ConstMgr.UserListTag:
                    statusStripMain.Items[0].Text =
                        GuiConfig.GetText("Selected UserList", "SelectedUserList") + ":" +
                        RuntimeMongoDbContext.SelectTagData;
                    ViewDataToolStripMenuItem.Enabled = true;
                    if (e.Button == MouseButtons.Right)
                    {
                        contextMenuStripMain = new ContextMenuStrip();
                        if (SystemManager.MonoMode)
                        {
                            var viewDataTool = ViewDataToolStripMenuItem.Clone();
                            viewDataTool.Click += (x, y) => ViewDataObj();
                            contextMenuStripMain.Items.Add(viewDataTool);
                        }
                        else
                        {
                            contextMenuStripMain.Items.Add(ViewDataToolStripMenuItem.Clone());
                        }
                        e.Node.ContextMenuStrip = contextMenuStripMain;
                        contextMenuStripMain.Show(trvsrvlst.PointToScreen(e.Location));
                    }
                    break;

                case ConstMgr.RoleListTag:
                    statusStripMain.Items[0].Text =
                        GuiConfig.GetText("Selected RoleList", "Selected_RoleList") + ":" + RuntimeMongoDbContext.SelectTagData;
                    break;

                case ConstMgr.GridFileSystemTag:
                    //GridFileSystem
                    RuntimeMongoDbContext.SelectObjectTag = e.Node.Tag.ToString();
                    statusStripMain.Items[0].Text         = GuiConfig.GetText("Selected GFS", "SelectedGfs") + ":" +
                                                            RuntimeMongoDbContext.SelectTagData;
                    ViewDataToolStripMenuItem.Enabled = true;
                    if (e.Button == MouseButtons.Right)
                    {
                        contextMenuStripMain = new ContextMenuStrip();
                        if (SystemManager.MonoMode)
                        {
                            var viewData = ViewDataToolStripMenuItem.Clone();
                            viewData.Click += (x, y) => ViewDataObj();
                            contextMenuStripMain.Items.Add(viewData);
                        }
                        else
                        {
                            contextMenuStripMain.Items.Add(ViewDataToolStripMenuItem.Clone());
                        }
                        e.Node.ContextMenuStrip = contextMenuStripMain;
                        contextMenuStripMain.Show(trvsrvlst.PointToScreen(e.Location));
                    }
                    break;

                case ConstMgr.JavascriptTag:
                    RuntimeMongoDbContext.SelectObjectTag = e.Node.Tag.ToString();
                    ViewDataToolStripMenuItem.Enabled     = true;
                    if (!RuntimeMongoDbContext.CurrentMongoConnectionconfig.IsReadOnly)
                    {
                        creatJavaScriptToolStripMenuItem.Enabled = true;
                    }
                    if (e.Button == MouseButtons.Right)
                    {
                        contextMenuStripMain = new ContextMenuStrip();
                        if (SystemManager.MonoMode)
                        {
                            var creatJavaScript = creatJavaScriptToolStripMenuItem.Clone();
                            creatJavaScript.Click += creatJavaScriptToolStripMenuItem_Click;
                            contextMenuStripMain.Items.Add(creatJavaScript);
                        }
                        else
                        {
                            contextMenuStripMain.Items.Add(creatJavaScriptToolStripMenuItem.Clone());
                        }
                        e.Node.ContextMenuStrip = contextMenuStripMain;
                        contextMenuStripMain.Show(trvsrvlst.PointToScreen(e.Location));
                    }
                    statusStripMain.Items[0].Text = GuiConfig.GetText("Selected collection Javascript ", "JavascriptCollection");
                    break;

                case ConstMgr.JavascriptDocTag:
                    statusStripMain.Items[0].Text           = GuiConfig.GetText("Selected JavaScript", "Selected_Javascript") + ":" + RuntimeMongoDbContext.SelectTagData;
                    ViewDataToolStripMenuItem.Enabled       = true;
                    dropJavascriptToolStripMenuItem.Enabled = true;

                    if (e.Button == MouseButtons.Right)
                    {
                        contextMenuStripMain = new ContextMenuStrip();
                        if (SystemManager.MonoMode)
                        {
                            var viewData = ViewDataToolStripMenuItem.Clone();
                            viewData.Click += (x, y) => ViewDataObj();
                            contextMenuStripMain.Items.Add(viewData);
                            var dropJavascript = dropJavascriptToolStripMenuItem.Clone();
                            dropJavascript.Click += dropJavascriptToolStripMenuItem_Click;
                            contextMenuStripMain.Items.Add(dropJavascript);
                        }
                        else
                        {
                            contextMenuStripMain.Items.Add(ViewDataToolStripMenuItem.Clone());
                            contextMenuStripMain.Items.Add(dropJavascriptToolStripMenuItem.Clone());
                        }
                        e.Node.ContextMenuStrip = contextMenuStripMain;
                        contextMenuStripMain.Show(trvsrvlst.PointToScreen(e.Location));
                    }
                    break;

                default:
                    statusStripMain.Items[0].Text = "Selected Object:" + e.Node.Text;
                    break;
                }
            }
            else
            {
                statusStripMain.Items[0].Text = "Selected Object:" + e.Node.Text;
            }
            //重新Reset工具栏
            SetToolBarEnabled();
        }
コード例 #3
0
        private void CollectionHandler(TreeNodeMouseClickEventArgs e)
        {
            if (GuiConfig.IsUseDefaultLanguage)
            {
                statusStripMain.Items[0].Text = "Selected Collection:" + RuntimeMongoDbContext.SelectTagData;
            }
            else
            {
                statusStripMain.Items[0].Text =
                    GuiConfig.GetText(TextType.SelectedCollection) + ":" +
                    RuntimeMongoDbContext.SelectTagData;
            }
            //解禁 删除数据集
            if (!Operater.IsSystemCollection())
            {
                //系统数据库无法删除!!
                if (!RuntimeMongoDbContext.CurrentMongoConnectionconfig.IsReadOnly)
                {
                    DelMongoCollectionToolStripMenuItem.Enabled = true;
                    RenameCollectionToolStripMenuItem.Enabled   = true;
                }
            }
            if (!RuntimeMongoDbContext.CurrentMongoConnectionconfig.IsReadOnly)
            {
                ImportCollectionToolStripMenuItem.Enabled = true;
                CompactToolStripMenuItem.Enabled          = true;
            }
            if (!Operater.IsSystemCollection() &&
                !RuntimeMongoDbContext.CurrentMongoConnectionconfig.IsReadOnly)
            {
                IndexManageToolStripMenuItem.Enabled = true;
                ReIndexToolStripMenuItem.Enabled     = true;
            }
            DumpCollectionToolStripMenuItem.Enabled   = true;
            ExportCollectionToolStripMenuItem.Enabled = true;
            AggregationToolStripMenuItem.Enabled      = true;
            ViewDataToolStripMenuItem.Enabled         = true;
            CollectionStatusToolStripMenuItem.Enabled = true;
            ValidateToolStripMenuItem.Enabled         = true;
            ExportToFileToolStripMenuItem.Enabled     = true;
            if (e.Button == MouseButtons.Right)
            {
                contextMenuStripMain = new ContextMenuStrip();
                if (SystemManager.MonoMode)
                {
                    //悲催MONO不支持
                    var t1 = DelMongoCollectionToolStripMenuItem.Clone();
                    t1.Click += DelMongoCollectionToolStripMenuItem_Click;
                    contextMenuStripMain.Items.Add(t1);

                    var t2 = RenameCollectionToolStripMenuItem.Clone();
                    t2.Click += RenameCollectionToolStripMenuItem_Click;
                    contextMenuStripMain.Items.Add(t2);

                    var t3 = DumpCollectionToolStripMenuItem.Clone();
                    t3.Click += DumpCollectionToolStripMenuItem_Click;
                    contextMenuStripMain.Items.Add(t3);

                    var t4 = RestoreMongoToolStripMenuItem.Clone();
                    t4.Click += RestoreMongoToolStripMenuItem_Click;
                    contextMenuStripMain.Items.Add(t4);

                    var t5 = ImportCollectionToolStripMenuItem.Clone();
                    t5.Click += ImportCollectionToolStripMenuItem_Click;
                    contextMenuStripMain.Items.Add(t5);

                    var t6 = ExportCollectionToolStripMenuItem.Clone();
                    t6.Click += ExportCollectionToolStripMenuItem_Click;
                    contextMenuStripMain.Items.Add(t6);

                    var t7 = CompactToolStripMenuItem.Clone();
                    t7.Click += CompactToolStripMenuItem_Click;
                    contextMenuStripMain.Items.Add(t7);

                    contextMenuStripMain.Items.Add(new ToolStripSeparator());

                    var t8 = ViewDataToolStripMenuItem.Clone();
                    t8.Click += (x, y) => ViewDataObj();
                    contextMenuStripMain.Items.Add(t8);

                    var aggregationMenu = AggregationToolStripMenuItem.Clone();

                    var t9 = countToolStripMenuItem.Clone();
                    t9.Click += countToolStripMenuItem_Click;
                    aggregationMenu.DropDownItems.Add(t9);

                    var t10 = distinctToolStripMenuItem.Clone();
                    t10.Click += distinctToolStripMenuItem_Click;
                    aggregationMenu.DropDownItems.Add(t10);


                    var t11 = groupToolStripMenuItem.Clone();
                    t11.Click += groupToolStripMenuItem_Click;
                    aggregationMenu.DropDownItems.Add(t11);

                    var t12 = mapReduceToolStripMenuItem.Clone();
                    t12.Click += mapReduceToolStripMenuItem_Click;
                    aggregationMenu.DropDownItems.Add(t12);

                    contextMenuStripMain.Items.Add(aggregationMenu);
                    contextMenuStripMain.Items.Add(new ToolStripSeparator());

                    var t13 = IndexManageToolStripMenuItem.Clone();
                    t13.Click += IndexManageToolStripMenuItem_Click;
                    contextMenuStripMain.Items.Add(t13);

                    var t14 = ReIndexToolStripMenuItem.Clone();
                    t14.Click += ReIndexToolStripMenuItem_Click;
                    contextMenuStripMain.Items.Add(t14);

                    contextMenuStripMain.Items.Add(new ToolStripSeparator());

                    var t15 = CollectionStatusToolStripMenuItem.Clone();
                    t15.Click += CollectionStatusToolStripMenuItem_Click;
                    contextMenuStripMain.Items.Add(t15);
                }
                else
                {
                    contextMenuStripMain.Items.Add(DelMongoCollectionToolStripMenuItem.Clone());
                    contextMenuStripMain.Items.Add(RenameCollectionToolStripMenuItem.Clone());
                    contextMenuStripMain.Items.Add(DumpCollectionToolStripMenuItem.Clone());
                    contextMenuStripMain.Items.Add(RestoreMongoToolStripMenuItem.Clone());
                    contextMenuStripMain.Items.Add(ImportCollectionToolStripMenuItem.Clone());
                    contextMenuStripMain.Items.Add(ExportCollectionToolStripMenuItem.Clone());
                    contextMenuStripMain.Items.Add(ExportToFileToolStripMenuItem.Clone());
                    contextMenuStripMain.Items.Add(CompactToolStripMenuItem.Clone());
                    contextMenuStripMain.Items.Add(new ToolStripSeparator());
                    contextMenuStripMain.Items.Add(ViewDataToolStripMenuItem.Clone());
                    contextMenuStripMain.Items.Add(AggregationToolStripMenuItem.Clone());
                    contextMenuStripMain.Items.Add(new ToolStripSeparator());
                    contextMenuStripMain.Items.Add(IndexManageToolStripMenuItem.Clone());
                    contextMenuStripMain.Items.Add(ReIndexToolStripMenuItem.Clone());
                    contextMenuStripMain.Items.Add(new ToolStripSeparator());
                    contextMenuStripMain.Items.Add(CollectionStatusToolStripMenuItem.Clone());
                    contextMenuStripMain.Items.Add(ValidateToolStripMenuItem.Clone());
                }
                e.Node.ContextMenuStrip = contextMenuStripMain;
                contextMenuStripMain.Show(trvsrvlst.PointToScreen(e.Location));
            }
            //PlugIn
            foreach (ToolStripMenuItem item in plugInToolStripMenuItem.DropDownItems)
            {
                if (PlugIn.PlugInList[item.Tag.ToString()].RunLv == PlugInBase.PathLv.CollectionLv)
                {
                    item.Enabled = true;
                }
            }
        }