Skip to content

Commit 932ffaf

Browse files
committed
Extracted more event handlers.
1 parent b61cc94 commit 932ffaf

File tree

3 files changed

+117
-77
lines changed

3 files changed

+117
-77
lines changed

ReClass.NET/Forms/MainForm.Designer.cs

Lines changed: 7 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

ReClass.NET/Forms/MainForm.cs

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -866,5 +866,58 @@ private void showCodeOfClassToolStripMenuItem2_Click(object sender, EventArgs e)
866866

867867
LinkedWindowFeatures.ShowCodeGeneratorForm(classNode.Yield(), CurrentProject.TypeMapping);
868868
}
869+
870+
private void enableHierarchyViewToolStripMenuItem_Click(object sender, EventArgs e)
871+
{
872+
var isChecked = enableHierarchyViewToolStripMenuItem.Checked;
873+
874+
enableHierarchyViewToolStripMenuItem.Checked = !isChecked;
875+
876+
expandAllClassesToolStripMenuItem.Enabled = collapseAllClassesToolStripMenuItem.Enabled = isChecked;
877+
878+
classesView.EnableClassHierarchyView = isChecked;
879+
}
880+
881+
private void autoExpandHierarchyViewToolStripMenuItem_Click(object sender, EventArgs e)
882+
{
883+
var isChecked = autoExpandHierarchyViewToolStripMenuItem.Checked;
884+
885+
autoExpandHierarchyViewToolStripMenuItem.Checked = !isChecked;
886+
887+
classesView.AutoExpandClassNodes = isChecked;
888+
}
889+
890+
private void expandAllClassesToolStripMenuItem_Click(object sender, EventArgs e)
891+
{
892+
classesView.ExpandAllClassNodes();
893+
}
894+
895+
private void collapseAllClassesToolStripMenuItem_Click(object sender, EventArgs e)
896+
{
897+
classesView.CollapseAllClassNodes();
898+
}
899+
900+
private void removeUnusedClassesToolStripMenuItem_Click(object sender, EventArgs e)
901+
{
902+
CurrentProject.RemoveUnusedClasses();
903+
}
904+
905+
private void deleteClassToolStripMenuItem_Click(object sender, EventArgs e)
906+
{
907+
var classNode = classesView.SelectedClass;
908+
if (classNode == null)
909+
{
910+
return;
911+
}
912+
913+
try
914+
{
915+
CurrentProject.Remove(classNode);
916+
}
917+
catch (ClassReferencedException ex)
918+
{
919+
Program.Logger.Log(ex);
920+
}
921+
}
869922
}
870923
}

ReClass.NET/UI/ClassNodeView.cs

Lines changed: 57 additions & 76 deletions
Original file line numberDiff line numberDiff line change
@@ -113,10 +113,11 @@ public int Compare(object x, object y)
113113

114114
private readonly TreeNode root;
115115

116-
private ReClassNetProject project;
117-
118116
private ClassNode selectedClass;
119117

118+
private bool autoExpandClassNodes;
119+
private bool enableClassHierarchyView;
120+
120121
public delegate void SelectionChangedEvent(object sender, ClassNode node);
121122
public event SelectionChangedEvent SelectionChanged;
122123

@@ -141,10 +142,41 @@ public ClassNode SelectedClass
141142
}
142143

143144
[DefaultValue(false)]
144-
public bool AutoExpandClassNodes { get; set; }
145+
public bool AutoExpandClassNodes
146+
{
147+
get => autoExpandClassNodes;
148+
set
149+
{
150+
if (autoExpandClassNodes != value)
151+
{
152+
autoExpandClassNodes = value;
153+
154+
if (autoExpandClassNodes)
155+
{
156+
ExpandAllClassNodes();
157+
}
158+
}
159+
}
160+
}
145161

146162
[DefaultValue(false)]
147-
public bool EnableClassHierarchyView { get; set; }
163+
public bool EnableClassHierarchyView
164+
{
165+
get => enableClassHierarchyView;
166+
set
167+
{
168+
if (enableClassHierarchyView != value)
169+
{
170+
enableClassHierarchyView = value;
171+
172+
var classes = root.Nodes.Cast<ClassTreeNode>().Select(t => t.ClassNode).ToList();
173+
174+
root.Nodes.Clear();
175+
176+
AddClasses(classes);
177+
}
178+
}
179+
}
148180

149181
public ContextMenuStrip ProjectTreeNodeContextMenuStrip { get; set; }
150182

@@ -220,26 +252,6 @@ private void classesTreeView_MouseUp(object sender, MouseEventArgs e)
220252
}
221253
}
222254

223-
private void removeUnusedClassesToolStripMenuItem_Click(object sender, EventArgs e)
224-
{
225-
//project.RemoveUnusedClasses();
226-
}
227-
228-
private void deleteClassToolStripMenuItem_Click(object sender, EventArgs e)
229-
{
230-
/*if (classesTreeView.SelectedNode is ClassTreeNode treeNode)
231-
{
232-
try
233-
{
234-
project.Remove(treeNode.ClassNode);
235-
}
236-
catch (ClassReferencedException ex)
237-
{
238-
Program.Logger.Log(ex);
239-
}
240-
}*/
241-
}
242-
243255
private void renameClassToolStripMenuItem_Click(object sender, EventArgs e)
244256
{
245257
/*var treeNode = classesTreeView.SelectedNode;
@@ -264,52 +276,21 @@ private void classesTreeView_AfterLabelEdit(object sender, NodeLabelEditEventArg
264276
}
265277
}
266278

267-
private void enableHierarchyViewToolStripMenuItem_Click(object sender, EventArgs e)
268-
{
269-
/*enableHierarchyViewToolStripMenuItem.Checked = !enableHierarchyViewToolStripMenuItem.Checked;
270-
271-
expandAllClassesToolStripMenuItem.Enabled =
272-
collapseAllClassesToolStripMenuItem.Enabled = enableHierarchyViewToolStripMenuItem.Checked;
273-
274-
EnableClassHierarchyView = enableHierarchyViewToolStripMenuItem.Checked;
275-
276-
var classes = root.Nodes.Cast<ClassTreeNode>().Select(t => t.ClassNode).ToList();
277-
278-
classesTreeView.BeginUpdate();
279-
280-
root.Nodes.Clear();
281-
282-
classes.ForEach(AddClassInternal);
283-
284-
classesTreeView.Sort();
285-
286-
classesTreeView.EndUpdate();*/
287-
}
288-
289-
private void autoExpandHierarchyViewToolStripMenuItem_Click(object sender, EventArgs e)
290-
{
291-
/*autoExpandHierarchyViewToolStripMenuItem.Checked = !autoExpandHierarchyViewToolStripMenuItem.Checked;
292-
293-
AutoExpandClassNodes = autoExpandHierarchyViewToolStripMenuItem.Checked;
294-
295-
if (AutoExpandClassNodes)
296-
{
297-
root.ExpandAll();
298-
}*/
299-
}
279+
#endregion
300280

301-
private void expandAllClassesToolStripMenuItem_Click(object sender, EventArgs e)
281+
public void ExpandAllClassNodes()
302282
{
303-
//root.ExpandAll();
283+
root.ExpandAll();
304284
}
305285

306-
private void collapseAllClassesToolStripMenuItem_Click(object sender, EventArgs e)
286+
public void CollapseAllClassNodes()
307287
{
308-
//root.Nodes.Cast<TreeNode>().ForEach(n => n.Collapse());
288+
foreach (var tn in root.Nodes.Cast<TreeNode>())
289+
{
290+
tn.Collapse();
291+
}
309292
}
310293

311-
#endregion
312-
313294
public void Clear()
314295
{
315296
root.Nodes.Clear();
@@ -340,6 +321,19 @@ public void AddClasses(IEnumerable<ClassNode> nodes)
340321
classesTreeView.EndUpdate();
341322
}
342323

324+
/// <summary>
325+
/// Adds a new <see cref="ClassTreeNode"/> to the tree.
326+
/// </summary>
327+
/// <param name="node">The class to add.</param>
328+
private void AddClassInternal(ClassNode node)
329+
{
330+
Contract.Requires(node != null);
331+
332+
root.Nodes.Add(new ClassTreeNode(node, this));
333+
334+
root.Expand();
335+
}
336+
343337
/// <summary>Removes the class from the view.</summary>
344338
/// <param name="node">The class to remove.</param>
345339
public void RemoveClass(ClassNode node)
@@ -362,19 +356,6 @@ public void RemoveClass(ClassNode node)
362356
}
363357
}
364358

365-
/// <summary>
366-
/// Adds a new <see cref="ClassTreeNode"/> to the tree.
367-
/// </summary>
368-
/// <param name="node">The class to add.</param>
369-
private void AddClassInternal(ClassNode node)
370-
{
371-
Contract.Requires(node != null);
372-
373-
root.Nodes.Add(new ClassTreeNode(node, this));
374-
375-
root.Expand();
376-
}
377-
378359
/// <summary>Searches for the <see cref="ClassTreeNode"/> which represents the class.</summary>
379360
/// <param name="node">The class to search.</param>
380361
/// <returns>The found class tree node.</returns>

0 commit comments

Comments
 (0)