Skip to content

Commit 98e53ba

Browse files
committed
Removed exception handling from the control.
1 parent 27987fb commit 98e53ba

File tree

1 file changed

+98
-104
lines changed

1 file changed

+98
-104
lines changed

ReClass.NET/UI/MemoryViewControl.cs

Lines changed: 98 additions & 104 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
using ReClassNET.Extensions;
1010
using ReClassNET.Memory;
1111
using ReClassNET.Nodes;
12-
using ReClassNET.Project;
1312
using ReClassNET.Util;
1413

1514
namespace ReClassNET.UI
@@ -219,6 +218,8 @@ protected override void OnPaint(PaintEventArgs e)
219218
catch (Exception)
220219
{
221220
Debug.Assert(false);
221+
222+
throw;
222223
}
223224
}
224225

@@ -239,149 +240,142 @@ protected override void OnMouseClick(MouseEventArgs e)
239240
{
240241
if (hotSpot.Rect.Contains(e.Location))
241242
{
242-
try
243-
{
244-
var hitObject = hotSpot.Node;
243+
var hitObject = hotSpot.Node;
245244

246-
if (hotSpot.Type == HotSpotType.OpenClose)
247-
{
248-
hitObject.ToggleLevelOpen(hotSpot.Level);
245+
if (hotSpot.Type == HotSpotType.OpenClose)
246+
{
247+
hitObject.ToggleLevelOpen(hotSpot.Level);
249248

250-
invalidate = true;
249+
invalidate = true;
251250

252-
break;
253-
}
254-
if (hotSpot.Type == HotSpotType.Click)
255-
{
256-
hitObject.Update(hotSpot);
251+
break;
252+
}
253+
if (hotSpot.Type == HotSpotType.Click)
254+
{
255+
hitObject.Update(hotSpot);
257256

258-
invalidate = true;
257+
invalidate = true;
259258

260-
break;
261-
}
262-
if (hotSpot.Type == HotSpotType.Select)
259+
break;
260+
}
261+
if (hotSpot.Type == HotSpotType.Select)
262+
{
263+
if (e.Button == MouseButtons.Left)
263264
{
264-
if (e.Button == MouseButtons.Left)
265+
if (ModifierKeys == Keys.None)
265266
{
266-
if (ModifierKeys == Keys.None)
267-
{
268-
ClearSelection();
267+
ClearSelection();
269268

270-
hitObject.IsSelected = true;
269+
hitObject.IsSelected = true;
271270

272-
selectedNodes.Add(hotSpot);
271+
selectedNodes.Add(hotSpot);
273272

274-
OnSelectionChanged();
273+
OnSelectionChanged();
275274

276-
selectionAnchor = selectionCaret = hotSpot;
275+
selectionAnchor = selectionCaret = hotSpot;
276+
}
277+
else if (ModifierKeys == Keys.Control)
278+
{
279+
hitObject.IsSelected = !hitObject.IsSelected;
280+
281+
if (hitObject.IsSelected)
282+
{
283+
selectedNodes.Add(hotSpot);
277284
}
278-
else if (ModifierKeys == Keys.Control)
285+
else
279286
{
280-
hitObject.IsSelected = !hitObject.IsSelected;
287+
selectedNodes.Remove(selectedNodes.FirstOrDefault(c => c.Node == hitObject));
288+
}
281289

282-
if (hitObject.IsSelected)
290+
OnSelectionChanged();
291+
}
292+
else if (ModifierKeys == Keys.Shift)
293+
{
294+
if (selectedNodes.Count > 0)
295+
{
296+
var selectedNode = selectedNodes[0].Node;
297+
if (hitObject.GetParentContainer() != null && selectedNode.GetParentContainer() != hitObject.GetParentContainer())
283298
{
284-
selectedNodes.Add(hotSpot);
299+
continue;
285300
}
286-
else
301+
302+
if (hotSpot.Node is BaseContainerNode)
287303
{
288-
selectedNodes.Remove(selectedNodes.FirstOrDefault(c => c.Node == hitObject));
304+
continue;
289305
}
290306

291-
OnSelectionChanged();
292-
}
293-
else if (ModifierKeys == Keys.Shift)
294-
{
295-
if (selectedNodes.Count > 0)
296-
{
297-
var selectedNode = selectedNodes[0].Node;
298-
if (hitObject.GetParentContainer() != null && selectedNode.GetParentContainer() != hitObject.GetParentContainer())
299-
{
300-
continue;
301-
}
307+
var first = Utils.Min(selectedNodes[0], hotSpot, h => h.Node.Offset.ToInt32());
308+
var last = first == hotSpot ? selectedNodes[0] : hotSpot;
302309

303-
if (hotSpot.Node is BaseContainerNode)
304-
{
305-
continue;
306-
}
307-
308-
var first = Utils.Min(selectedNodes[0], hotSpot, h => h.Node.Offset.ToInt32());
309-
var last = first == hotSpot ? selectedNodes[0] : hotSpot;
310-
311-
ClearSelection();
312-
313-
var containerNode = selectedNode.GetParentContainer();
314-
foreach (var spot in containerNode.Nodes
315-
.SkipWhile(n => n != first.Node)
316-
.TakeUntil(n => n == last.Node)
317-
.Select(n => new HotSpot
318-
{
319-
Address = containerNode.Offset.Add(n.Offset),
320-
Node = n,
321-
Memory = first.Memory,
322-
Level = first.Level
323-
}))
310+
ClearSelection();
311+
312+
var containerNode = selectedNode.GetParentContainer();
313+
foreach (var spot in containerNode.Nodes
314+
.SkipWhile(n => n != first.Node)
315+
.TakeUntil(n => n == last.Node)
316+
.Select(n => new HotSpot
324317
{
325-
spot.Node.IsSelected = true;
326-
selectedNodes.Add(spot);
327-
}
318+
Address = containerNode.Offset.Add(n.Offset),
319+
Node = n,
320+
Memory = first.Memory,
321+
Level = first.Level
322+
}))
323+
{
324+
spot.Node.IsSelected = true;
325+
selectedNodes.Add(spot);
326+
}
328327

329-
OnSelectionChanged();
328+
OnSelectionChanged();
330329

331-
selectionAnchor = first;
332-
selectionCaret = last;
333-
}
330+
selectionAnchor = first;
331+
selectionCaret = last;
334332
}
335333
}
336-
else if (e.Button == MouseButtons.Right)
334+
}
335+
else if (e.Button == MouseButtons.Right)
336+
{
337+
// If there is only one selected node, select the node the user clicked at.
338+
if (selectedNodes.Count <= 1)
337339
{
338-
// If there is only one selected node, select the node the user clicked at.
339-
if (selectedNodes.Count <= 1)
340-
{
341-
ClearSelection();
342-
343-
hitObject.IsSelected = true;
340+
ClearSelection();
344341

345-
selectedNodes.Add(hotSpot);
342+
hitObject.IsSelected = true;
346343

347-
OnSelectionChanged();
344+
selectedNodes.Add(hotSpot);
348345

349-
selectionAnchor = selectionCaret = hotSpot;
350-
}
346+
OnSelectionChanged();
351347

352-
ShowNodeContextMenu(e.Location);
348+
selectionAnchor = selectionCaret = hotSpot;
353349
}
354350

355-
invalidate = true;
356-
}
357-
else if (hotSpot.Type == HotSpotType.Drop)
358-
{
359351
ShowNodeContextMenu(e.Location);
360-
361-
break;
362352
}
363-
else if (hotSpot.Type == HotSpotType.Delete)
364-
{
365-
hotSpot.Node.GetParentContainer().RemoveNode(hotSpot.Node);
366353

367-
invalidate = true;
354+
invalidate = true;
355+
}
356+
else if (hotSpot.Type == HotSpotType.Drop)
357+
{
358+
ShowNodeContextMenu(e.Location);
368359

369-
break;
370-
}
371-
else if (hotSpot.Type == HotSpotType.ChangeClassType || hotSpot.Type == HotSpotType.ChangeWrappedType || hotSpot.Type == HotSpotType.ChangeEnumType)
372-
{
373-
var handler = hotSpot.Type == HotSpotType.ChangeClassType
374-
? ChangeClassTypeClick : hotSpot.Type == HotSpotType.ChangeWrappedType
375-
? ChangeWrappedTypeClick : ChangeEnumTypeClick;
360+
break;
361+
}
362+
else if (hotSpot.Type == HotSpotType.Delete)
363+
{
364+
hotSpot.Node.GetParentContainer().RemoveNode(hotSpot.Node);
376365

377-
handler?.Invoke(this, new NodeClickEventArgs(hitObject, hotSpot.Address, hotSpot.Memory, e.Button, e.Location));
366+
invalidate = true;
378367

379-
break;
380-
}
368+
break;
381369
}
382-
catch (Exception ex)
370+
else if (hotSpot.Type == HotSpotType.ChangeClassType || hotSpot.Type == HotSpotType.ChangeWrappedType || hotSpot.Type == HotSpotType.ChangeEnumType)
383371
{
384-
Program.Logger.Log(ex);
372+
var handler = hotSpot.Type == HotSpotType.ChangeClassType
373+
? ChangeClassTypeClick : hotSpot.Type == HotSpotType.ChangeWrappedType
374+
? ChangeWrappedTypeClick : ChangeEnumTypeClick;
375+
376+
handler?.Invoke(this, new NodeClickEventArgs(hitObject, hotSpot.Address, hotSpot.Memory, e.Button, e.Location));
377+
378+
break;
385379
}
386380
}
387381
}

0 commit comments

Comments
 (0)