Debugger Breakpoints - use ListView in virtual mode instead of VirtualListView
This commit is contained in:
parent
4eea88a988
commit
7fc4e82ef9
|
@ -36,7 +36,7 @@
|
|||
this.RemoveBreakpointButton = new System.Windows.Forms.Button();
|
||||
this.DuplicateBreakpointButton = new System.Windows.Forms.Button();
|
||||
this.EditBreakpointButton = new System.Windows.Forms.Button();
|
||||
this.BreakpointView = new BizHawk.Client.EmuHawk.VirtualListView();
|
||||
this.BreakpointView = new System.Windows.Forms.ListView();
|
||||
this.columnHeader1 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
|
||||
this.columnHeader2 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
|
||||
this.columnHeader3 = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
|
||||
|
@ -118,7 +118,6 @@
|
|||
this.BreakpointView.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
| System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.BreakpointView.BlazingFast = false;
|
||||
this.BreakpointView.CheckBoxes = true;
|
||||
this.BreakpointView.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
|
||||
this.columnHeader1,
|
||||
|
@ -129,16 +128,13 @@
|
|||
this.BreakpointView.FullRowSelect = true;
|
||||
this.BreakpointView.GridLines = true;
|
||||
this.BreakpointView.HideSelection = false;
|
||||
this.BreakpointView.ItemCount = 0;
|
||||
this.BreakpointView.VirtualListSize = 0;
|
||||
this.BreakpointView.Location = new System.Drawing.Point(0, 19);
|
||||
this.BreakpointView.Name = "BreakpointView";
|
||||
this.BreakpointView.SelectAllInProgress = false;
|
||||
this.BreakpointView.selectedItem = -1;
|
||||
this.BreakpointView.Size = new System.Drawing.Size(366, 365);
|
||||
this.BreakpointView.TabIndex = 5;
|
||||
this.BreakpointView.TabStop = false;
|
||||
this.BreakpointView.UseCompatibleStateImageBehavior = false;
|
||||
this.BreakpointView.UseCustomBackground = true;
|
||||
this.BreakpointView.View = System.Windows.Forms.View.Details;
|
||||
this.BreakpointView.ItemActivate += new System.EventHandler(this.BreakpointView_ItemActivate);
|
||||
this.BreakpointView.SelectedIndexChanged += new System.EventHandler(this.BreakpointView_SelectedIndexChanged);
|
||||
|
@ -184,7 +180,7 @@
|
|||
|
||||
#endregion
|
||||
|
||||
private VirtualListView BreakpointView;
|
||||
private System.Windows.Forms.ListView BreakpointView;
|
||||
public System.Windows.Forms.ColumnHeader columnHeader1;
|
||||
private System.Windows.Forms.ColumnHeader columnHeader2;
|
||||
private System.Windows.Forms.Button AddBreakpointButton;
|
||||
|
|
|
@ -22,8 +22,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
public BreakpointControl()
|
||||
{
|
||||
InitializeComponent();
|
||||
BreakpointView.QueryItemText += BreakPointView_QueryItemText;
|
||||
BreakpointView.QueryItemBkColor += BreakPointView_QueryItemBkColor;
|
||||
BreakpointView.RetrieveVirtualItem += BreakPointView_QueryItemText;
|
||||
BreakpointView.VirtualMode = true;
|
||||
_breakpoints.Callback = BreakpointCallback;
|
||||
}
|
||||
|
@ -33,30 +32,16 @@ namespace BizHawk.Client.EmuHawk
|
|||
UpdateStatsLabel();
|
||||
}
|
||||
|
||||
private void BreakPointView_QueryItemText(int index, int column, out string text)
|
||||
private void BreakPointView_QueryItemText(object sender, RetrieveVirtualItemEventArgs e)
|
||||
{
|
||||
text = "";
|
||||
switch (column)
|
||||
{
|
||||
case 0:
|
||||
text = $"{_breakpoints[index].Address:X}";
|
||||
break;
|
||||
case 1:
|
||||
text = $"{_breakpoints[index].AddressMask:X}";
|
||||
break;
|
||||
case 2:
|
||||
text = _breakpoints[index].Type.ToString();
|
||||
break;
|
||||
case 3:
|
||||
text = _breakpoints[index].Name;
|
||||
break;
|
||||
}
|
||||
}
|
||||
var entry = _breakpoints[e.ItemIndex];
|
||||
e.Item = new ListViewItem($"{entry.Address:X}");
|
||||
e.Item.SubItems.Add($"{entry.AddressMask:X}");
|
||||
e.Item.SubItems.Add(entry.Type.ToString());
|
||||
e.Item.SubItems.Add(entry.Name);
|
||||
|
||||
private void BreakPointView_QueryItemBkColor(int index, int column, ref Color color)
|
||||
{
|
||||
color = _breakpoints[index].ReadOnly ? SystemColors.Control
|
||||
: _breakpoints[index].Active ? Color.LightCyan
|
||||
e.Item.BackColor = entry.ReadOnly ? SystemColors.Control
|
||||
: entry.Active ? Color.LightCyan
|
||||
: Color.White;
|
||||
}
|
||||
|
||||
|
@ -90,7 +75,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
{
|
||||
CheckForNewBreakpoints();
|
||||
|
||||
BreakpointView.ItemCount = _breakpoints.Count;
|
||||
BreakpointView.VirtualListSize = _breakpoints.Count;
|
||||
UpdateStatsLabel();
|
||||
}
|
||||
}
|
||||
|
@ -124,7 +109,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
_breakpoints.Add(new Breakpoint(Core, callback));
|
||||
}
|
||||
|
||||
BreakpointView.ItemCount = _breakpoints.Count;
|
||||
BreakpointView.VirtualListSize = _breakpoints.Count;
|
||||
BreakpointView.Refresh();
|
||||
UpdateBreakpointRemoveButton();
|
||||
UpdateStatsLabel();
|
||||
|
@ -146,7 +131,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
{
|
||||
_breakpoints.Add(Core, MemoryDomains.SystemBus.Name, address, mask, type);
|
||||
|
||||
BreakpointView.ItemCount = _breakpoints.Count;
|
||||
BreakpointView.VirtualListSize = _breakpoints.Count;
|
||||
UpdateBreakpointRemoveButton();
|
||||
UpdateStatsLabel();
|
||||
}
|
||||
|
@ -160,7 +145,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
_breakpoints.Add(Core, MemoryDomains.SystemBus.Name, b.Address, b.AddressMask, b.BreakType);
|
||||
}
|
||||
|
||||
BreakpointView.ItemCount = _breakpoints.Count;
|
||||
BreakpointView.VirtualListSize = _breakpoints.Count;
|
||||
UpdateBreakpointRemoveButton();
|
||||
UpdateStatsLabel();
|
||||
}
|
||||
|
@ -208,7 +193,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
_breakpoints.Remove(item);
|
||||
}
|
||||
|
||||
BreakpointView.ItemCount = _breakpoints.Count;
|
||||
BreakpointView.VirtualListSize = _breakpoints.Count;
|
||||
UpdateBreakpointRemoveButton();
|
||||
UpdateStatsLabel();
|
||||
}
|
||||
|
@ -243,7 +228,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
item.Active ^= true;
|
||||
}
|
||||
|
||||
BreakpointView.ItemCount = _breakpoints.Count;
|
||||
BreakpointView.VirtualListSize = _breakpoints.Count;
|
||||
UpdateBreakpointRemoveButton();
|
||||
UpdateStatsLabel();
|
||||
}
|
||||
|
@ -270,7 +255,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
item.Active ^= true;
|
||||
}
|
||||
|
||||
BreakpointView.ItemCount = _breakpoints.Count;
|
||||
BreakpointView.VirtualListSize = _breakpoints.Count;
|
||||
UpdateStatsLabel();
|
||||
}
|
||||
|
||||
|
@ -288,7 +273,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
}
|
||||
}
|
||||
|
||||
BreakpointView.ItemCount = _breakpoints.Count;
|
||||
BreakpointView.VirtualListSize = _breakpoints.Count;
|
||||
UpdateBreakpointRemoveButton();
|
||||
UpdateStatsLabel();
|
||||
}
|
||||
|
@ -310,7 +295,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
}
|
||||
}
|
||||
|
||||
BreakpointView.ItemCount = _breakpoints.Count;
|
||||
BreakpointView.VirtualListSize = _breakpoints.Count;
|
||||
UpdateBreakpointRemoveButton();
|
||||
UpdateStatsLabel();
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue