public void addContextMenu(ToolStripItem[] items)
        {
            IssueContextMenu strip = new IssueContextMenu(model, status, this, items);

            ContextMenuStrip = strip;
        }
Esempio n. 2
0
        private void initIssuesTree()
        {
            issuesTree = new TreeViewAdv();

            ITreeModel treeModel = new FlatIssueTreeModel(model);

            issuesTree.Model = treeModel;

            issueTreeContainer.ContentPanel.Controls.Add(issuesTree);
            issuesTree.Dock                  = DockStyle.Fill;
            issuesTree.SelectionMode         = TreeSelectionMode.Single;
            issuesTree.FullRowSelect         = true;
            issuesTree.GridLineStyle         = GridLineStyle.None;
            issuesTree.UseColumns            = true;
            issuesTree.NodeMouseDoubleClick += issuesTree_NodeMouseDoubleClick;
            issuesTree.KeyPress             += issuesTree_KeyPress;
            issuesTree.SelectionChanged     += issuesTree_SelectionChanged;

            ToolStripMenuItem[] items = new[]
            {
                new ToolStripMenuItem("Open in IDE", Properties.Resources.open_in_ide, new EventHandler(openIssue)),
                new ToolStripMenuItem("View in Browser", Properties.Resources.view_in_browser, new EventHandler(browseIssue)),
                new ToolStripMenuItem("Edit in Browser", Properties.Resources.edit_in_browser, new EventHandler(browseEditIssue)),
            };
            IssueContextMenu strip = new IssueContextMenu(model, status, issuesTree, items);

            issuesTree.ContextMenuStrip = strip;
            colKeyAndSummary.Header     = "Summary";
            colStatus.Header            = "Status";
            colPriority.Header          = "P";
            colUpdated.Header           = "Updated";

            int i = 0;

            controlIssueTypeIcon.ParentColumn     = colKeyAndSummary;
            controlIssueTypeIcon.DataPropertyName = "IssueTypeIcon";
            controlIssueTypeIcon.LeftMargin       = i++;

            controlKeyAndSummary.ParentColumn               = colKeyAndSummary;
            controlKeyAndSummary.DataPropertyName           = "KeyAndSummary";
            controlKeyAndSummary.Trimming                   = StringTrimming.EllipsisCharacter;
            controlKeyAndSummary.UseCompatibleTextRendering = true;
            controlKeyAndSummary.LeftMargin                 = i++;

            controlPriorityIcon.ParentColumn     = colPriority;
            controlPriorityIcon.DataPropertyName = "PriorityIcon";
            controlPriorityIcon.LeftMargin       = i++;

            controlStatusIcon.ParentColumn     = colStatus;
            controlStatusIcon.DataPropertyName = "StatusIcon";
            controlStatusIcon.LeftMargin       = i++;

            controlStatusText.ParentColumn               = colStatus;
            controlStatusText.DataPropertyName           = "StatusText";
            controlStatusText.Trimming                   = StringTrimming.EllipsisCharacter;
            controlStatusText.UseCompatibleTextRendering = true;
            controlStatusText.LeftMargin                 = i++;

            controlUpdated.ParentColumn               = colUpdated;
            controlUpdated.DataPropertyName           = "Updated";
            controlUpdated.Trimming                   = StringTrimming.EllipsisCharacter;
            controlUpdated.UseCompatibleTextRendering = true;
            controlUpdated.TextAlign                  = HorizontalAlignment.Right;
            controlUpdated.LeftMargin                 = i;

            issuesTree.Columns.Add(colKeyAndSummary);
            issuesTree.Columns.Add(colPriority);
            issuesTree.Columns.Add(colStatus);
            issuesTree.Columns.Add(colUpdated);

            issuesTree.NodeControls.Add(controlIssueTypeIcon);
            issuesTree.NodeControls.Add(controlKeyAndSummary);
            issuesTree.NodeControls.Add(controlPriorityIcon);
            issuesTree.NodeControls.Add(controlStatusIcon);
            issuesTree.NodeControls.Add(controlStatusText);
            issuesTree.NodeControls.Add(controlUpdated);

            setSummaryColumnWidth();

            colPriority.TextAlign      = HorizontalAlignment.Left;
            colPriority.Width          = PRIORITY_WIDTH;
            colPriority.MinColumnWidth = PRIORITY_WIDTH;
            colPriority.MaxColumnWidth = PRIORITY_WIDTH;
            colUpdated.Width           = UPDATED_WIDTH;
            colUpdated.MinColumnWidth  = UPDATED_WIDTH;
            colUpdated.MaxColumnWidth  = UPDATED_WIDTH;
            colStatus.Width            = STATUS_WIDTH;
            colStatus.MinColumnWidth   = STATUS_WIDTH;
            colStatus.MaxColumnWidth   = STATUS_WIDTH;
            colKeyAndSummary.TextAlign = HorizontalAlignment.Left;
            colPriority.TooltipText    = "Priority";
            colStatus.TextAlign        = HorizontalAlignment.Left;
            colPriority.TextAlign      = HorizontalAlignment.Left;
            colUpdated.TextAlign       = HorizontalAlignment.Right;

            jiraSplitter.Panel2.SizeChanged += issuesTree_SizeChanged;

            updateIssueListButtons();

            initImageList();
        }