199 lines
7.0 KiB
C#
199 lines
7.0 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Data;
|
|
using System.Drawing;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using System.Windows.Forms;
|
|
using AR;
|
|
|
|
namespace Project.Dialog
|
|
{
|
|
public partial class fVAR : Form
|
|
{
|
|
public fVAR()
|
|
{
|
|
InitializeComponent();
|
|
}
|
|
|
|
private void fVAR_Load(object sender, EventArgs e)
|
|
{
|
|
comboBox1.Items.AddRange(new string[] {
|
|
"Byte",
|
|
"Bool",
|
|
"Time",
|
|
"String",
|
|
"UInt32",
|
|
"Int32",
|
|
"Dbl",
|
|
});
|
|
comboBox1.SelectedIndex = -1;
|
|
timer1.Start();
|
|
}
|
|
|
|
object itemrefresh = new object();
|
|
|
|
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
|
|
{
|
|
if (comboBox1.SelectedIndex < 0) return;
|
|
var strtype = comboBox1.Text.Trim().ToUpper();
|
|
|
|
if (System.Diagnostics.Debugger.IsAttached)
|
|
this.TopMost = false;
|
|
|
|
lock (itemrefresh)
|
|
{
|
|
listView1.Items.Clear();
|
|
Array valuelist;
|
|
if (strtype == "BOOL")
|
|
{
|
|
valuelist = Enum.GetValues(typeof(eVarBool));
|
|
foreach (var item in valuelist)
|
|
{
|
|
var v = (eVarBool)item;
|
|
var lv = listView1.Items.Add($"{(int)v}");
|
|
lv.SubItems.Add($"{item}");
|
|
lv.SubItems.Add("--");
|
|
}
|
|
}
|
|
//else if (strtype == "BYTE")
|
|
//{
|
|
// valuelist = Enum.GetValues(typeof(eVarByte));
|
|
// foreach (var item in valuelist)
|
|
// {
|
|
// var v = (eVarByte)item;
|
|
// var lv = listView1.Items.Add($"{(int)v}");
|
|
// lv.SubItems.Add($"{item}");
|
|
// lv.SubItems.Add("--");
|
|
// }
|
|
//}
|
|
else if (strtype == "STRING")
|
|
{
|
|
valuelist = Enum.GetValues(typeof(eVarString));
|
|
foreach (var item in valuelist)
|
|
{
|
|
var v = (eVarString)item;
|
|
var lv = listView1.Items.Add($"{(int)v}");
|
|
lv.SubItems.Add($"{item}");
|
|
lv.SubItems.Add("--");
|
|
}
|
|
}
|
|
else if (strtype == "TIME")
|
|
{
|
|
valuelist = Enum.GetValues(typeof(eVarTime));
|
|
foreach (var item in valuelist)
|
|
{
|
|
var v = (eVarTime)item;
|
|
var lv = listView1.Items.Add($"{(int)v}");
|
|
lv.SubItems.Add($"{item}");
|
|
lv.SubItems.Add("--");
|
|
}
|
|
}
|
|
else if (strtype == "INT32")
|
|
{
|
|
valuelist = Enum.GetValues(typeof(eVarInt32));
|
|
foreach (var item in valuelist)
|
|
{
|
|
var v = (eVarInt32)item;
|
|
var lv = listView1.Items.Add($"{(int)v}");
|
|
lv.SubItems.Add($"{item}");
|
|
lv.SubItems.Add("--");
|
|
}
|
|
}
|
|
else if (strtype == "DBL")
|
|
{
|
|
valuelist = Enum.GetValues(typeof(eVarDBL));
|
|
foreach (var item in valuelist)
|
|
{
|
|
var v = (eVarDBL)item;
|
|
var lv = listView1.Items.Add($"{(int)v}");
|
|
lv.SubItems.Add($"{item}");
|
|
lv.SubItems.Add("--");
|
|
}
|
|
}
|
|
listView1.Tag = strtype;
|
|
}
|
|
|
|
|
|
}
|
|
|
|
private void fVAR_FormClosed(object sender, FormClosedEventArgs e)
|
|
{
|
|
timer1.Stop();
|
|
}
|
|
|
|
private void timer1_Tick(object sender, EventArgs e)
|
|
{
|
|
if (comboBox1.SelectedIndex < 0) return;
|
|
if (this.listView1.Items.Count < 1) return;
|
|
|
|
lock (itemrefresh)
|
|
{
|
|
var strtype = comboBox1.Text.Trim().ToUpper();
|
|
if (strtype != listView1.Tag.ToString()) return;
|
|
|
|
foreach (ListViewItem item in listView1.Items)
|
|
{
|
|
var idx = int.Parse(item.SubItems[0].Text);
|
|
//if (strtype == "UINT32")
|
|
//{
|
|
// var v = VAR.U32[idx];
|
|
// item.SubItems[2].Text = v.ToString();
|
|
// item.ForeColor = v == 0 ? Color.DimGray : Color.Black;
|
|
//}
|
|
//else
|
|
if (strtype == "INT32")
|
|
{
|
|
var v = VAR.I32[idx];// ((eVarByte)idx);
|
|
item.SubItems[2].Text = v.ToString();
|
|
item.ForeColor = v == 0 ? Color.DimGray : Color.Black;
|
|
}
|
|
else if (strtype == "BYTE")
|
|
{
|
|
var v = VAR.I32[idx];// ((eVarByte)idx);
|
|
item.SubItems[2].Text = v.ToString();
|
|
item.ForeColor = v == 0 ? Color.DimGray : Color.Black;
|
|
}
|
|
else if (strtype == "BOOL")
|
|
{
|
|
var v = VAR.BOOL[idx];//[(eVarBool)idx);
|
|
item.SubItems[2].Text = v ? "O" : "X";
|
|
item.ForeColor = v ? Color.Green : Color.DimGray;
|
|
}
|
|
else if (strtype == "STRING")
|
|
{
|
|
var v = VAR.STR[idx];// .GetString((eVarString)idx);
|
|
if (v == null) item.SubItems[2].Text = "(null)";
|
|
else item.SubItems[2].Text = v.ToString();
|
|
item.ForeColor = v.isEmpty() ? Color.DimGray : Color.Black;
|
|
}
|
|
else if (strtype == "TIME")
|
|
{
|
|
var v = VAR.TIME[idx];// ((eVarTime)idx);
|
|
if (v.Year == 1982)
|
|
{
|
|
item.SubItems[2].Text = "--";
|
|
item.ForeColor = Color.DimGray;
|
|
}
|
|
else
|
|
{
|
|
item.SubItems[2].Text = v.ToString();
|
|
item.ForeColor = Color.Black;
|
|
}
|
|
}
|
|
else if (strtype == "DBL")
|
|
{
|
|
var v = VAR.DBL[idx];// .GetString((eVarString)idx);
|
|
item.SubItems[2].Text = v.ToString();
|
|
item.ForeColor = v == 0 ? Color.DimGray : Color.Black;
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|
|
}
|