public void addContextMenu(ToolStripItem[] items) { IssueContextMenu strip = new IssueContextMenu(model, status, this, items); ContextMenuStrip = strip; }
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(); }