New Cheat List - column ordering
This commit is contained in:
parent
6bbed2116f
commit
b59ac97d5f
|
@ -262,6 +262,171 @@ namespace BizHawk.MultiClient
|
||||||
get { return _currentFileName; }
|
get { return _currentFileName; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void Sort(string column, bool reverse)
|
||||||
|
{
|
||||||
|
switch (column)
|
||||||
|
{
|
||||||
|
case NewCheatForm.NAME:
|
||||||
|
if (reverse)
|
||||||
|
{
|
||||||
|
_cheatList = _cheatList
|
||||||
|
.OrderByDescending(x => x.Name)
|
||||||
|
.ThenBy(x => x.Address ?? 0)
|
||||||
|
.ToList();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
_cheatList = _cheatList
|
||||||
|
.OrderBy(x => x.Name)
|
||||||
|
.ThenBy(x => x.Address ?? 0)
|
||||||
|
.ToList();
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case NewCheatForm.ADDRESS:
|
||||||
|
if (reverse)
|
||||||
|
{
|
||||||
|
_cheatList = _cheatList
|
||||||
|
.OrderByDescending(x => x.Address ?? 0)
|
||||||
|
.ThenBy(x => x.Name)
|
||||||
|
.ToList();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
_cheatList = _cheatList
|
||||||
|
.OrderBy(x => x.Address ?? 0)
|
||||||
|
.ThenBy(x => x.Name)
|
||||||
|
.ToList();
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case NewCheatForm.VALUE:
|
||||||
|
if (reverse)
|
||||||
|
{
|
||||||
|
_cheatList = _cheatList
|
||||||
|
.OrderByDescending(x => x.Value ?? 0)
|
||||||
|
.ThenBy(x => x.Name)
|
||||||
|
.ThenBy(x => x.Address.Value)
|
||||||
|
.ToList();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
_cheatList = _cheatList
|
||||||
|
.OrderBy(x => x.Value ?? 0)
|
||||||
|
.ThenBy(x => x.Name)
|
||||||
|
.ThenBy(x => x.Address.Value)
|
||||||
|
.ToList();
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case NewCheatForm.COMPARE:
|
||||||
|
if (reverse)
|
||||||
|
{
|
||||||
|
_cheatList = _cheatList
|
||||||
|
.OrderByDescending(x => x.Compare ?? 0)
|
||||||
|
.ThenBy(x => x.Name)
|
||||||
|
.ThenBy(x => x.Address.Value)
|
||||||
|
.ToList();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
_cheatList = _cheatList
|
||||||
|
.OrderBy(x => x.Compare ?? 0)
|
||||||
|
.ThenBy(x => x.Name)
|
||||||
|
.ThenBy(x => x.Address.Value)
|
||||||
|
.ToList();
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case NewCheatForm.ON:
|
||||||
|
if (reverse)
|
||||||
|
{
|
||||||
|
_cheatList = _cheatList
|
||||||
|
.OrderByDescending(x => x.Enabled)
|
||||||
|
.ThenBy(x => x.Name)
|
||||||
|
.ThenBy(x => x.Address.Value)
|
||||||
|
.ToList();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
_cheatList = _cheatList
|
||||||
|
.OrderBy(x => x.Enabled)
|
||||||
|
.ThenBy(x => x.Name)
|
||||||
|
.ThenBy(x => x.Address.Value)
|
||||||
|
.ToList();
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case NewCheatForm.DOMAIN:
|
||||||
|
if (reverse)
|
||||||
|
{
|
||||||
|
_cheatList = _cheatList
|
||||||
|
.OrderByDescending(x => x.Domain)
|
||||||
|
.ThenBy(x => x.Name)
|
||||||
|
.ThenBy(x => x.Address.Value)
|
||||||
|
.ToList();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
_cheatList = _cheatList
|
||||||
|
.OrderBy(x => x.Domain)
|
||||||
|
.ThenBy(x => x.Name)
|
||||||
|
.ThenBy(x => x.Address.Value)
|
||||||
|
.ToList();
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case NewCheatForm.SIZE:
|
||||||
|
if (reverse)
|
||||||
|
{
|
||||||
|
_cheatList = _cheatList
|
||||||
|
.OrderByDescending(x => ((int)x.Size))
|
||||||
|
.ThenBy(x => x.Name)
|
||||||
|
.ThenBy(x => x.Address.Value)
|
||||||
|
.ToList();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
_cheatList = _cheatList
|
||||||
|
.OrderBy(x => ((int)x.Size))
|
||||||
|
.ThenBy(x => x.Name)
|
||||||
|
.ThenBy(x => x.Address.Value)
|
||||||
|
.ToList();
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case NewCheatForm.ENDIAN:
|
||||||
|
if (reverse)
|
||||||
|
{
|
||||||
|
_cheatList = _cheatList
|
||||||
|
.OrderByDescending(x => x.BigEndian)
|
||||||
|
.ThenBy(x => x.Name)
|
||||||
|
.ThenBy(x => x.Address.Value)
|
||||||
|
.ToList();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
_cheatList = _cheatList
|
||||||
|
.OrderBy(x => x.BigEndian)
|
||||||
|
.ThenBy(x => x.Name)
|
||||||
|
.ThenBy(x => x.Address.Value)
|
||||||
|
.ToList();
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case NewCheatForm.TYPE:
|
||||||
|
if (reverse)
|
||||||
|
{
|
||||||
|
_cheatList = _cheatList
|
||||||
|
.OrderByDescending(x => x.Type)
|
||||||
|
.ThenBy(x => x.Name)
|
||||||
|
.ThenBy(x => x.Address.Value)
|
||||||
|
.ToList();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
_cheatList = _cheatList
|
||||||
|
.OrderBy(x => x.Type)
|
||||||
|
.ThenBy(x => x.Name)
|
||||||
|
.ThenBy(x => x.Address.Value)
|
||||||
|
.ToList();
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#region privates
|
#region privates
|
||||||
|
|
||||||
private string GenerateDefaultFilename()
|
private string GenerateDefaultFilename()
|
||||||
|
|
|
@ -110,8 +110,9 @@
|
||||||
// CheatListView
|
// CheatListView
|
||||||
//
|
//
|
||||||
this.CheatListView.AllowColumnReorder = true;
|
this.CheatListView.AllowColumnReorder = true;
|
||||||
this.CheatListView.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
this.CheatListView.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)));
|
||||||
this.CheatListView.AutoArrange = false;
|
this.CheatListView.AutoArrange = false;
|
||||||
this.CheatListView.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
|
this.CheatListView.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
|
||||||
this.CheatName,
|
this.CheatName,
|
||||||
|
@ -133,6 +134,7 @@
|
||||||
this.CheatListView.TabIndex = 1;
|
this.CheatListView.TabIndex = 1;
|
||||||
this.CheatListView.UseCompatibleStateImageBehavior = false;
|
this.CheatListView.UseCompatibleStateImageBehavior = false;
|
||||||
this.CheatListView.View = System.Windows.Forms.View.Details;
|
this.CheatListView.View = System.Windows.Forms.View.Details;
|
||||||
|
this.CheatListView.ColumnClick += new System.Windows.Forms.ColumnClickEventHandler(this.CheatListView_ColumnClick);
|
||||||
this.CheatListView.ColumnReordered += new System.Windows.Forms.ColumnReorderedEventHandler(this.CheatListView_ColumnReordered);
|
this.CheatListView.ColumnReordered += new System.Windows.Forms.ColumnReorderedEventHandler(this.CheatListView_ColumnReordered);
|
||||||
this.CheatListView.SelectedIndexChanged += new System.EventHandler(this.CheatListView_SelectedIndexChanged);
|
this.CheatListView.SelectedIndexChanged += new System.EventHandler(this.CheatListView_SelectedIndexChanged);
|
||||||
this.CheatListView.Click += new System.EventHandler(this.CheatListView_Click);
|
this.CheatListView.Click += new System.EventHandler(this.CheatListView_Click);
|
||||||
|
@ -715,7 +717,8 @@
|
||||||
//
|
//
|
||||||
// CheatGroupBox
|
// CheatGroupBox
|
||||||
//
|
//
|
||||||
this.CheatGroupBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
this.CheatGroupBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||||
|
| System.Windows.Forms.AnchorStyles.Right)));
|
||||||
this.CheatGroupBox.Controls.Add(this.CheatEditor);
|
this.CheatGroupBox.Controls.Add(this.CheatEditor);
|
||||||
this.CheatGroupBox.Location = new System.Drawing.Point(432, 66);
|
this.CheatGroupBox.Location = new System.Drawing.Point(432, 66);
|
||||||
this.CheatGroupBox.Name = "CheatGroupBox";
|
this.CheatGroupBox.Name = "CheatGroupBox";
|
||||||
|
|
|
@ -801,7 +801,7 @@ namespace BizHawk.MultiClient
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region ListView Events
|
#region ListView and Dialog Events
|
||||||
|
|
||||||
private void CheatListView_Click(object sender, EventArgs e)
|
private void CheatListView_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
|
@ -844,6 +844,21 @@ namespace BizHawk.MultiClient
|
||||||
DoSelectedIndexChange();
|
DoSelectedIndexChange();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void CheatListView_ColumnClick(object sender, ColumnClickEventArgs e)
|
||||||
|
{
|
||||||
|
var column = CheatListView.Columns[e.Column];
|
||||||
|
if (column.Name != _sortedColumn)
|
||||||
|
{
|
||||||
|
_sortReverse = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
Global.CheatList2.Sort(column.Name, _sortReverse);
|
||||||
|
|
||||||
|
_sortedColumn = column.Name;
|
||||||
|
_sortReverse ^= true;
|
||||||
|
UpdateListView();
|
||||||
|
}
|
||||||
|
|
||||||
private void NewCheatForm_DragDrop(object sender, DragEventArgs e)
|
private void NewCheatForm_DragDrop(object sender, DragEventArgs e)
|
||||||
{
|
{
|
||||||
string[] filePaths = (string[])e.Data.GetData(DataFormats.FileDrop);
|
string[] filePaths = (string[])e.Data.GetData(DataFormats.FileDrop);
|
||||||
|
|
Loading…
Reference in New Issue