Exemplo n.º 1
0
        private void tableContextMenu_Opening(object sender, CancelEventArgs e)
        {
            ObjectsTreeView tree = focusedTree = allObjectsTree.tree.Focused ? allObjectsTree.tree : activeObjectsTree.tree;

            bool clickedOnSelected = tree.NodeAtLocationIsSelected(tree.PointToClient(Cursor.Position));
            bool objectsSelected   = false;

            if (clickedOnSelected)
            {
                objectsSelected = tree.GetSelectedColumns().Count > 0 || tree.GetSelectedTables().Count > 0;
            }
            T.Debug("clicked on selected=" + (clickedOnSelected ? "yes" : "no"));

            bool isActiveObjectsTree = focusedTree == activeObjectsTree.tree;

            showDataToolStripMenuItem.Enabled       = background.busy == false && tree.GetSelectedTables().Count == 1 && tree.GetSelectedColumns().Count == 0;
            addToToolStripMenuItem.Enabled          = selectFromToolStripMenuItem.Enabled = objectsSelected;
            addToWorkspaceToolStripMenuItem.Visible = !isActiveObjectsTree;
            stickyToolStripMenuItem.Visible         = isActiveObjectsTree;
            showAllColumnsToolStripMenuItem.Visible = isActiveObjectsTree && focusedTree.OnlyTablesAreSelected();
            recentAtTopToolStripMenuItem.Checked    = S.Get("recentObjectsAtTop", false);
            int selectedSticky = tree.AreSelectedObjectsSticky();

            stickyToolStripMenuItem.Checked         = selectedSticky >= 0;
            addToWorkspaceToolStripMenuItem.Checked = selectedSticky > 0;
            collapseAllToolStripMenuItem.Enabled    = !focusedTree.AllRootNodesCollapsed();
            expandToolStripMenuItem.Enabled         = !focusedTree.AllRootNodesExpanded();
            if (focusedTree.OnlyTablesAreSelected())
            {
                showAllColumnsToolStripMenuItem.Checked = focusedTree.SelectedTablesAreShowAllColumns();
            }
            stickyToolStripMenuItem.Enabled         = objectsSelected;
            addToWorkspaceToolStripMenuItem.Enabled = objectsSelected;
            showAllColumnsToolStripMenuItem.Enabled = objectsSelected;
        }
Exemplo n.º 2
0
        public ObjectsTree(bool all)
        {
            allObjectsTree = all;
            buttonImages   = UI.buttonImages;

            searchTextBox             = new TextBox();
            searchTextBox.BorderStyle = System.Windows.Forms.BorderStyle.None;
            searchTextBox.Location    = new System.Drawing.Point(0, 0);
            searchTextBox.Name        = "searchTextBox";
            searchTextBox.Size        = new System.Drawing.Size(0, 31);
            searchTextBox.BackColor   = UI.headerSearchBackground;
            searchTextBox.ForeColor   = UI.passiveForeColor;
            searchTextBox.KeyUp      += new KeyEventHandler(OnSearchKeyPress);
            searchTextBox.Visible     = false;

            xButton           = new ToolButton(this.buttonImages, 13, new EventHandler(OnClearSearch));
            xButton.BackColor = searchTextBox.BackColor;

            Resize += new EventHandler(OnResize);
            label   = new System.Windows.Forms.Label();
            Font    = label.Font = SystemFonts.MessageBoxFont;

            label.AutoSize   = true;
            label.Location   = new System.Drawing.Point(21, 29);
            label.ForeColor  = UI.headerForeColor;
            label.Text       = allObjectsTree ? "All Objects" : "Active Objects";
            header           = new System.Windows.Forms.Panel();
            header.Font      = SystemFonts.MessageBoxFont;
            header.BackColor = UI.backColor4;
            header.Controls.Add(searchTextBox);
            header.Controls.Add(label);
            header.Controls.Add(xButton);
            header.Location = new System.Drawing.Point(0, 0);
            header.Size     = new System.Drawing.Size(10, 10);
            Controls.Add(header);

            if (allObjectsTree)
            {
                searchColumns = CreateCheckBox(buttons, 2, "Search Columns", new EventHandler(OnFilterColumns));
                searchTables  = CreateCheckBox(buttons, 3, "Search Tables", new EventHandler(OnFilterTables));
            }
            else
            {
                CreateButton(buttons, 5, "Show Parse Tree", new EventHandler(OnParseTree));
                CreateButton(buttons, 4, "Show Active Objects", new EventHandler(OnObjects));
                showDetails    = CreateCheckBox(parseTreeButtons, 7, "Show Details", new EventHandler(OnShowDetails));
                showMore       = CreateCheckBox(parseTreeButtons, 8, "Show More", new EventHandler(OnShowMore));
                showBase       = CreateCheckBox(parseTreeButtons, 6, "Show Base Structure", new EventHandler(OnShowBaseStructure));
                collapseButton = CreateButton(parseTreeButtons, 14, "Collapse", new EventHandler(OnCollapse));
                expandButton   = CreateButton(parseTreeButtons, 15, "Expand", new EventHandler(OnExpand));
                parseTree      = new ParseTreeView();
                Controls.Add(parseTree);
                parseTree.Visible      = false;
                parseTree.BorderStyle  = BorderStyle.None;
                parseTree.AfterExpand += parseTree.OnAfterExpand;
            }

            tree                  = new ObjectsTreeView(all ? "allObjectsTreeView" : "activeObjectsTreeView");
            tree.ImageList        = UI.treeImages;
            tree.expandByDefault  = !allObjectsTree;
            tree.Location         = new System.Drawing.Point(0, 0);
            tree.ShowNodeToolTips = true;
            tree.Size             = new System.Drawing.Size(300, 300);
            tree.TabIndex         = 0;
            Controls.Add(tree);
            UpdateShowCheckboxes();
        }