Skip to content

Commit 7083760

Browse files
author
SlavaRa
committed
Cleanup...
1 parent a4883f5 commit 7083760

File tree

6 files changed

+242
-181
lines changed

6 files changed

+242
-181
lines changed

QuickNavigate/Forms/ClassHierarchyForm.cs

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ public ClassHierarchyForm([NotNull] ClassModel model, [NotNull] Settings setting
7171
RefreshTree();
7272
}
7373

74-
public override TypeNode SelectedNode => tree.SelectedNode as TypeNode;
74+
public override TreeNode SelectedNode => tree.SelectedNode;
7575

7676
void InitializeTree()
7777
{
@@ -197,12 +197,13 @@ protected override void ShowContextMenu()
197197
protected override void ShowContextMenu(Point position)
198198
{
199199
if (SelectedNode == null) return;
200+
var classModel = ((TypeNode) SelectedNode).Model;
200201
ContextMenuStrip.Items.Clear();
201-
ContextMenuStrip.Items.Add(QuickContextMenu.GotoPositionOrLineMenuItem);
202-
ContextMenuStrip.Items.Add(QuickContextMenu.ShowInQuickOutlineMenuItem);
203-
if (!curClass.Equals(SelectedNode.Model)) ContextMenuStrip.Items.Add(QuickContextMenu.ShowInClassHierarchyMenuItem);
204-
ContextMenuStrip.Items.Add(QuickContextMenu.ShowInProjectManagerMenuItem);
205-
if (File.Exists(SelectedNode.Model.InFile.FileName)) ContextMenuStrip.Items.Add(QuickContextMenu.ShowInFileExplorerMenuItem);
202+
ContextMenuStrip.Items.Add(QuickContextMenuItem.GotoPositionOrLineMenuItem);
203+
ContextMenuStrip.Items.Add(QuickContextMenuItem.ShowInQuickOutlineMenuItem);
204+
if (!curClass.Equals(classModel)) ContextMenuStrip.Items.Add(QuickContextMenuItem.ShowInClassHierarchyMenuItem);
205+
ContextMenuStrip.Items.Add(QuickContextMenuItem.ShowInProjectManagerMenuItem);
206+
if (File.Exists(classModel.InFile.FileName)) ContextMenuStrip.Items.Add(QuickContextMenuItem.ShowInFileExplorerMenuItem);
206207
ContextMenuStrip.Show(tree, position);
207208
}
208209

QuickNavigate/Forms/ClassModelExplorerForm.cs

Lines changed: 2 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,12 @@
1-
using System;
2-
using System.Diagnostics;
3-
using System.Drawing;
1+
using System.Drawing;
42
using System.Windows.Forms;
5-
using ASCompletion.Model;
63
using JetBrains.Annotations;
74
using QuickNavigate.Helpers;
85

96
namespace QuickNavigate.Forms
107
{
11-
public delegate void ShowInHandler(Form sender, ClassModel model);
12-
13-
public class ClassModelExplorerForm : Form
8+
public class ClassModelExplorerForm : QuickForm
149
{
15-
public event ShowInHandler GotoPositionOrLine;
16-
public event ShowInHandler ShowInQuickOutline;
17-
public event ShowInHandler ShowInClassHierarchy;
18-
public event ShowInHandler ShowInProjectManager;
19-
public event ShowInHandler ShowInFileExplorer;
2010
[NotNull] protected readonly Settings Settings;
2111
[NotNull] protected readonly ContextMenu InputEmptyContextMenu = new ContextMenu();
2212

@@ -26,8 +16,6 @@ public ClassModelExplorerForm([NotNull] Settings settings)
2616
InitializeContextMenu();
2717
}
2818

29-
[CanBeNull] public virtual TypeNode SelectedNode => null;
30-
3119
protected override void Dispose(bool disposing)
3220
{
3321
if (disposing)
@@ -40,11 +28,6 @@ protected override void Dispose(bool disposing)
4028
protected virtual void InitializeContextMenu()
4129
{
4230
ContextMenuStrip = new ContextMenuStrip {Renderer = new DockPanelStripRenderer(false)};
43-
QuickContextMenu.GotoPositionOrLineMenuItem.Click += OnGotoLineOrPosition;
44-
QuickContextMenu.ShowInQuickOutlineMenuItem.Click += OnShowInQuickOutline;
45-
QuickContextMenu.ShowInClassHierarchyMenuItem.Click += OnShowInClassHierarchy;
46-
QuickContextMenu.ShowInProjectManagerMenuItem.Click += OnShowInProjectManager;
47-
QuickContextMenu.ShowInFileExplorerMenuItem.Click += OnShowInFileExplorer;
4831
}
4932

5033
protected virtual void Navigate()
@@ -65,36 +48,6 @@ protected virtual void ShowContextMenu(Point position)
6548
{
6649
}
6750

68-
protected void OnGotoLineOrPosition(object sender, EventArgs e)
69-
{
70-
Debug.Assert(GotoPositionOrLine != null, "GotoPositionOrLine != null");
71-
GotoPositionOrLine(this, SelectedNode?.Model);
72-
}
73-
74-
protected void OnShowInQuickOutline(object sender, EventArgs e)
75-
{
76-
Debug.Assert(ShowInQuickOutline != null, "ShowInQuickOutline != null");
77-
ShowInQuickOutline(this, SelectedNode?.Model);
78-
}
79-
80-
protected void OnShowInClassHierarchy(object sender, EventArgs e)
81-
{
82-
Debug.Assert(ShowInClassHierarchy != null, "ShowInClassHierarchy != null");
83-
ShowInClassHierarchy(this, SelectedNode?.Model);
84-
}
85-
86-
protected void OnShowInProjectManager(object sender, EventArgs e)
87-
{
88-
Debug.Assert(ShowInProjectManager != null, "ShowInProjectManager != null");
89-
ShowInProjectManager(this, SelectedNode?.Model);
90-
}
91-
92-
protected void OnShowInFileExplorer(object sender, EventArgs e)
93-
{
94-
Debug.Assert(ShowInFileExplorer != null, "ShowInFileExplorer != null");
95-
ShowInFileExplorer(this, SelectedNode?.Model);
96-
}
97-
9851
#region Event Handlers
9952

10053
protected virtual void OnTreeNodeMouseClick(object sender, TreeNodeMouseClickEventArgs e)

QuickNavigate/Forms/QuickOutlineForm.cs

Lines changed: 9 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
using System;
22
using System.Collections.Generic;
3-
using System.Diagnostics;
43
using System.Drawing;
54
using System.Linq;
65
using System.Windows.Forms;
@@ -9,10 +8,11 @@
98
using ASCompletion.Model;
109
using JetBrains.Annotations;
1110
using PluginCore;
11+
using QuickNavigate.Helpers;
1212

1313
namespace QuickNavigate.Forms
1414
{
15-
public sealed partial class QuickOutlineForm : Form
15+
public sealed partial class QuickOutlineForm : QuickForm
1616
{
1717
[NotNull] readonly Settings settings;
1818
readonly ContextMenuStrip contextMenu = new ContextMenuStrip { Renderer = new DockPanelStripRenderer(false) };
@@ -37,14 +37,11 @@ public QuickOutlineForm([NotNull] FileModel inFile, [CanBeNull] ClassModel inCla
3737
Font = PluginBase.Settings.DefaultFont;
3838
InitializeComponent();
3939
if (settings.QuickOutlineSize.Width > MinimumSize.Width) Size = settings.QuickOutlineSize;
40-
InitializeContextMenu();
4140
InitializeTree();
4241
InitializeTheme();
4342
RefreshTree();
4443
}
4544

46-
[CanBeNull] public event ShowInHandler ShowInClassHierarchy;
47-
4845
[CanBeNull] ToolTip filterToolTip;
4946

5047
[NotNull]
@@ -53,8 +50,7 @@ public QuickOutlineForm([NotNull] FileModel inFile, [CanBeNull] ClassModel inCla
5350
[NotNull]
5451
public ClassModel InClass { get; }
5552

56-
[CanBeNull]
57-
public TreeNode SelectedNode => tree.SelectedNode;
53+
public override TreeNode SelectedNode => tree.SelectedNode;
5854

5955
[CanBeNull]
6056
Button currentFilter;
@@ -86,8 +82,6 @@ Button CurrentFilter
8682
}
8783
}
8884

89-
void InitializeContextMenu() => contextMenu.Items.Add("Show in &Class Hierarchy", PluginBase.MainForm.FindImage("99|16|0|0"), OnShowInClassHierarchy);
90-
9185
void InitializeTree()
9286
{
9387
tree.ImageList = ASContext.Panel.TreeIcons;
@@ -187,9 +181,14 @@ void ShowContextMenu()
187181

188182
void ShowContextMenu(Point position)
189183
{
190-
if (SelectedNode is TypeNode) contextMenu.Show(tree, position);
184+
if (!(SelectedNode is TypeNode)) return;
185+
contextMenu.Items.Clear();
186+
contextMenu.Items.Add(QuickContextMenuItem.ShowInClassHierarchyMenuItem);
187+
contextMenu.Show(tree, position);
191188
}
192189

190+
internal void AddFilter(QuickFilter filter) => AddFilter(filter.ImageIndex, filter.Flag, filter.Shortcut, filter.EnabledTip, filter.DisabledTip);
191+
193192
public void AddFilter(int imageIndex, FlagType flag, Keys shortcut, string enabledTip, string disabledTip)
194193
{
195194
if (flagToFilter.ContainsKey(flag)) return;
@@ -379,12 +378,6 @@ void OnTreeDrawNode(object sender, DrawTreeNodeEventArgs e)
379378
graphics.DrawString("(private)", font, moduleBrush, x, bounds.Y, StringFormat.GenericTypographic);
380379
}
381380

382-
void OnShowInClassHierarchy(object sender, EventArgs e)
383-
{
384-
Debug.Assert(ShowInClassHierarchy != null, "ShowInClassHierarchy != null");
385-
ShowInClassHierarchy(this, ((TypeNode) SelectedNode).Model);
386-
}
387-
388381
void OnFilterMouseHover(object sender, EventArgs e) => RefreshFilterTip((Button) sender);
389382

390383
void OnFilterMouseLeave(object sender, EventArgs e)

QuickNavigate/Forms/TypeExplorerForm.cs

Lines changed: 10 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,6 @@ public TypeExplorerForm([NotNull] Settings settings) : base(settings)
4747
timer.Start();
4848
}
4949

50-
[CanBeNull] public ShowInHandler SetDocumentClass;
5150
[CanBeNull] ToolTip filterToolTip;
5251
[CanBeNull] Button currentFilter;
5352

@@ -78,7 +77,7 @@ Button CurrentFilter
7877
}
7978
}
8079

81-
public override TypeNode SelectedNode => tree.SelectedNode as TypeNode;
80+
public override TreeNode SelectedNode => tree.SelectedNode;
8281

8382
protected override void Dispose(bool disposing)
8483
{
@@ -223,12 +222,6 @@ static IEnumerable<TypeNode> SortNodes([NotNull] IEnumerable<TypeNode> nodes, [N
223222
return nodes0.Concat(nodes1).Concat(nodes2);
224223
}
225224

226-
protected override void InitializeContextMenu()
227-
{
228-
base.InitializeContextMenu();
229-
QuickContextMenu.SetDocumentClassMenuItem.Click += OnSetDocumentClassMenuItemClick;
230-
}
231-
232225
protected override void ShowContextMenu()
233226
{
234227
if (SelectedNode == null) return;
@@ -239,22 +232,22 @@ protected override void ShowContextMenu(Point position)
239232
{
240233
if (SelectedNode == null) return;
241234
ContextMenuStrip.Items.Clear();
242-
var classModel = SelectedNode.Model;
235+
var classModel = ((TypeNode) SelectedNode).Model;
243236
var flags = classModel.Flags;
244237
var fileName = classModel.InFile.FileName;
245238
if ((flags & FlagType.Class) > 0
246239
&& (flags & FlagType.Interface) == 0
247240
&& (classModel.Access & Visibility.Public) > 0
248241
&& !((Project)PluginBase.CurrentProject).IsDocumentClass(fileName))
249242
{
250-
ContextMenuStrip.Items.Add(QuickContextMenu.SetDocumentClassMenuItem);
243+
ContextMenuStrip.Items.Add(QuickContextMenuItem.SetDocumentClassMenuItem);
251244
ContextMenuStrip.Items.Add(new ToolStripSeparator());
252245
}
253-
ContextMenuStrip.Items.Add(QuickContextMenu.GotoPositionOrLineMenuItem);
254-
ContextMenuStrip.Items.Add(QuickContextMenu.ShowInQuickOutlineMenuItem);
255-
ContextMenuStrip.Items.Add(QuickContextMenu.ShowInClassHierarchyMenuItem);
256-
ContextMenuStrip.Items.Add(QuickContextMenu.ShowInProjectManagerMenuItem);
257-
if (File.Exists(fileName)) ContextMenuStrip.Items.Add(QuickContextMenu.ShowInFileExplorerMenuItem);
246+
ContextMenuStrip.Items.Add(QuickContextMenuItem.GotoPositionOrLineMenuItem);
247+
ContextMenuStrip.Items.Add(QuickContextMenuItem.ShowInQuickOutlineMenuItem);
248+
ContextMenuStrip.Items.Add(QuickContextMenuItem.ShowInClassHierarchyMenuItem);
249+
ContextMenuStrip.Items.Add(QuickContextMenuItem.ShowInProjectManagerMenuItem);
250+
if (File.Exists(fileName)) ContextMenuStrip.Items.Add(QuickContextMenuItem.ShowInFileExplorerMenuItem);
258251
ContextMenuStrip.Show(tree, position);
259252
}
260253

@@ -264,6 +257,8 @@ protected override void Navigate()
264257
DialogResult = DialogResult.OK;
265258
}
266259

260+
internal void AddFilter(QuickFilter filter) => AddFilter(filter.ImageIndex, filter.Flag, filter.Shortcut, filter.EnabledTip, filter.DisabledTip);
261+
267262
public void AddFilter(int imageIndex, FlagType flag, Keys shortcut, string enabledTip, string disabledTip)
268263
{
269264
if (flagToFilter.ContainsKey(flag)) return;
@@ -499,8 +494,6 @@ void OnTimerTick(object sender, EventArgs e)
499494
RefreshTree();
500495
}
501496

502-
void OnSetDocumentClassMenuItemClick(object sender, EventArgs e) => SetDocumentClass?.Invoke(this, SelectedNode.Model);
503-
504497
#endregion
505498
}
506499
}

0 commit comments

Comments
 (0)