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