2012-03-17 02:18:09 +00:00
|
|
|
|
using System;
|
|
|
|
|
using System.Linq;
|
|
|
|
|
using System.Windows.Forms;
|
2013-04-16 01:25:30 +00:00
|
|
|
|
using System.Text;
|
2013-10-31 23:55:17 +00:00
|
|
|
|
|
|
|
|
|
using BizHawk.Client.Common;
|
2012-03-17 02:18:09 +00:00
|
|
|
|
|
2013-11-03 03:54:37 +00:00
|
|
|
|
namespace BizHawk.Client.EmuHawk
|
2012-03-17 02:18:09 +00:00
|
|
|
|
{
|
2013-10-28 19:13:01 +00:00
|
|
|
|
public partial class LuaFunctionsForm : Form
|
2012-03-17 02:18:09 +00:00
|
|
|
|
{
|
2013-11-17 15:55:13 +00:00
|
|
|
|
private readonly Sorting _columnSort = new Sorting();
|
2013-04-14 23:56:45 +00:00
|
|
|
|
|
2013-10-28 19:13:01 +00:00
|
|
|
|
public LuaFunctionsForm()
|
2012-03-17 02:18:09 +00:00
|
|
|
|
{
|
|
|
|
|
InitializeComponent();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void LuaFunctionList_Load(object sender, EventArgs e)
|
2012-07-12 02:03:46 +00:00
|
|
|
|
{
|
|
|
|
|
PopulateListView();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void PopulateListView()
|
2012-03-17 02:18:09 +00:00
|
|
|
|
{
|
2012-07-12 00:57:09 +00:00
|
|
|
|
FunctionView.Items.Clear();
|
2013-11-03 16:07:58 +00:00
|
|
|
|
foreach (LuaDocumentation.LibraryFunction l in GlobalWin.Tools.LuaConsole.LuaImp.Docs.FunctionList)
|
2012-03-28 12:26:43 +00:00
|
|
|
|
{
|
2013-04-14 23:56:45 +00:00
|
|
|
|
ListViewItem item = new ListViewItem {Text = l.ReturnType};
|
2013-10-31 00:31:25 +00:00
|
|
|
|
item.SubItems.Add(l.Library + ".");
|
|
|
|
|
item.SubItems.Add(l.Name);
|
2012-07-12 00:57:09 +00:00
|
|
|
|
item.SubItems.Add(l.ParameterList);
|
|
|
|
|
FunctionView.Items.Add(item);
|
2012-03-28 12:26:43 +00:00
|
|
|
|
}
|
2012-03-17 02:18:09 +00:00
|
|
|
|
}
|
|
|
|
|
|
2012-07-12 02:03:46 +00:00
|
|
|
|
private void OrderColumn(int column)
|
|
|
|
|
{
|
2013-11-17 15:55:13 +00:00
|
|
|
|
_columnSort.Column = column;
|
|
|
|
|
if (_columnSort.Descending)
|
2012-07-12 02:03:46 +00:00
|
|
|
|
{
|
|
|
|
|
switch (column)
|
|
|
|
|
{
|
|
|
|
|
case 0: //Return
|
2013-11-03 16:07:58 +00:00
|
|
|
|
GlobalWin.Tools.LuaConsole.LuaImp.Docs.FunctionList = GlobalWin.Tools.LuaConsole.LuaImp.Docs.FunctionList.OrderByDescending(x => x.ReturnType).ToList();
|
2012-07-12 02:03:46 +00:00
|
|
|
|
break;
|
|
|
|
|
case 1: //Library
|
2013-11-03 16:07:58 +00:00
|
|
|
|
GlobalWin.Tools.LuaConsole.LuaImp.Docs.FunctionList = GlobalWin.Tools.LuaConsole.LuaImp.Docs.FunctionList.OrderByDescending(x => x.Library).ToList();
|
2012-07-12 02:03:46 +00:00
|
|
|
|
break;
|
|
|
|
|
case 2: //Name
|
2013-11-03 16:07:58 +00:00
|
|
|
|
GlobalWin.Tools.LuaConsole.LuaImp.Docs.FunctionList = GlobalWin.Tools.LuaConsole.LuaImp.Docs.FunctionList.OrderByDescending(x => x.Name).ToList();
|
2012-07-12 02:03:46 +00:00
|
|
|
|
break;
|
|
|
|
|
case 3: //Parameters
|
2013-11-03 16:07:58 +00:00
|
|
|
|
GlobalWin.Tools.LuaConsole.LuaImp.Docs.FunctionList = GlobalWin.Tools.LuaConsole.LuaImp.Docs.FunctionList.OrderByDescending(x => x.ParameterList).ToList();
|
2012-07-12 02:03:46 +00:00
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
switch (column)
|
|
|
|
|
{
|
|
|
|
|
case 0: //Return
|
2013-11-03 16:07:58 +00:00
|
|
|
|
GlobalWin.Tools.LuaConsole.LuaImp.Docs.FunctionList = GlobalWin.Tools.LuaConsole.LuaImp.Docs.FunctionList.OrderBy(x => x.ReturnType).ToList();
|
2012-07-12 02:03:46 +00:00
|
|
|
|
break;
|
|
|
|
|
case 1: //Library
|
2013-11-03 16:07:58 +00:00
|
|
|
|
GlobalWin.Tools.LuaConsole.LuaImp.Docs.FunctionList = GlobalWin.Tools.LuaConsole.LuaImp.Docs.FunctionList.OrderBy(x => x.Library).ToList();
|
2012-07-12 02:03:46 +00:00
|
|
|
|
break;
|
|
|
|
|
case 2: //Name
|
2013-11-03 16:07:58 +00:00
|
|
|
|
GlobalWin.Tools.LuaConsole.LuaImp.Docs.FunctionList = GlobalWin.Tools.LuaConsole.LuaImp.Docs.FunctionList.OrderBy(x => x.Name).ToList();
|
2012-07-12 02:03:46 +00:00
|
|
|
|
break;
|
|
|
|
|
case 3: //Parameters
|
2013-11-03 16:07:58 +00:00
|
|
|
|
GlobalWin.Tools.LuaConsole.LuaImp.Docs.FunctionList = GlobalWin.Tools.LuaConsole.LuaImp.Docs.FunctionList.OrderBy(x => x.ParameterList).ToList();
|
2012-07-12 02:03:46 +00:00
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
PopulateListView();
|
|
|
|
|
}
|
|
|
|
|
|
2012-03-17 02:18:09 +00:00
|
|
|
|
private void OK_Click(object sender, EventArgs e)
|
|
|
|
|
{
|
2013-04-14 23:56:45 +00:00
|
|
|
|
Close();
|
2012-03-17 02:18:09 +00:00
|
|
|
|
}
|
2012-07-12 02:03:46 +00:00
|
|
|
|
|
|
|
|
|
private void FunctionView_ColumnClick(object sender, ColumnClickEventArgs e)
|
|
|
|
|
{
|
|
|
|
|
OrderColumn(e.Column);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public class Sorting
|
|
|
|
|
{
|
2013-11-17 15:55:13 +00:00
|
|
|
|
private bool _desc;
|
|
|
|
|
private int _column = 1;
|
2012-07-12 02:03:46 +00:00
|
|
|
|
|
|
|
|
|
public int Column
|
|
|
|
|
{
|
2013-11-17 16:43:12 +00:00
|
|
|
|
get { return _column; }
|
2012-07-12 02:03:46 +00:00
|
|
|
|
set
|
|
|
|
|
{
|
2013-11-17 15:55:13 +00:00
|
|
|
|
if (_column == value)
|
2012-07-12 02:03:46 +00:00
|
|
|
|
{
|
2013-11-17 15:55:13 +00:00
|
|
|
|
_desc ^= true;
|
2012-07-12 02:03:46 +00:00
|
|
|
|
}
|
2013-11-17 15:55:13 +00:00
|
|
|
|
_column = value;
|
2012-07-12 02:03:46 +00:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public bool Descending
|
|
|
|
|
{
|
2013-11-17 16:43:12 +00:00
|
|
|
|
get { return _desc; }
|
2012-07-12 02:03:46 +00:00
|
|
|
|
}
|
|
|
|
|
}
|
2013-04-16 01:25:30 +00:00
|
|
|
|
|
|
|
|
|
private void FunctionView_SelectedIndexChanged(object sender, EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void FunctionView_KeyDown(object sender, KeyEventArgs e)
|
|
|
|
|
{
|
|
|
|
|
if (e.KeyCode == Keys.C && e.Control && !e.Alt && !e.Shift) //Copy
|
|
|
|
|
{
|
|
|
|
|
ListView.SelectedIndexCollection indexes = FunctionView.SelectedIndices;
|
|
|
|
|
|
|
|
|
|
if (indexes.Count > 0)
|
|
|
|
|
{
|
|
|
|
|
StringBuilder sb = new StringBuilder();
|
|
|
|
|
|
|
|
|
|
foreach (int index in indexes)
|
|
|
|
|
{
|
2013-11-03 16:07:58 +00:00
|
|
|
|
var library_function = GlobalWin.Tools.LuaConsole.LuaImp.Docs.FunctionList[index];
|
2013-10-31 00:31:25 +00:00
|
|
|
|
sb.Append(library_function.Library).Append('.').Append(library_function.Name).Append("()\n");
|
2013-04-16 01:25:30 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (sb.Length > 0)
|
|
|
|
|
{
|
|
|
|
|
Clipboard.SetDataObject((sb.ToString()));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
2012-03-17 02:18:09 +00:00
|
|
|
|
}
|
|
|
|
|
}
|