AI_MMI_Analyser/c_Sharp_Code/subFrom/SavedForm.cs

1375 lines
42 KiB
C#

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using SL200_RTLogViewer.lib;
namespace SL200_RTLogViewer.subForm
{
// Token: 0x02000016 RID: 22
public class SavedlogForm : Form
{
// Token: 0x060000F9 RID: 249 RVA: 0x00020208 File Offset: 0x0001E408
public SavedlogForm()
{
this.InitializeComponent();
base.AutoScaleMode = AutoScaleMode.Font;
}
// Token: 0x060000FA RID: 250 RVA: 0x000202A0 File Offset: 0x0001E4A0
private void SavedlogForm_Load(object sender, EventArgs e)
{
this._analysisID = new uint[]
{
512U,
513U,
514U,
592U,
1281U,
336U,
337U,
338U,
2048U,
2128U,
2304U,
2305U
};
this.mmiUI = new mmiUI();
this.mmiUI.FormBorderStyle = FormBorderStyle.None;
this.mmiUI.TopLevel = false;
this.mmiUI.TopMost = true;
this.panel1.Controls.Add(this.mmiUI);
this.mmiUI.SenderEvent += this.idxSetter;
this.mmiUI.Show();
this.mmiUI.Dock = DockStyle.Fill;
this.mmiUI.cb_TWCR.Visible = true;
this.isUp = true;
}
// Token: 0x060000FB RID: 251 RVA: 0x00020359 File Offset: 0x0001E559
public void idxSetter(int idx)
{
this.lblDataIdx.Text = idx.ToString();
this._dataIndex = idx;
}
// Token: 0x060000FC RID: 252 RVA: 0x00020378 File Offset: 0x0001E578
private void bt_fileOpen_Click(object sender, EventArgs e)
{
OpenFileDialog openFileDialog = new OpenFileDialog();
bool flag = DialogResult.OK != openFileDialog.ShowDialog();
if (!flag)
{
this.Cursor = Cursors.WaitCursor;
this.stationList = this.setBasicTwcStation();
bool flag2 = this.OpenLogFile(openFileDialog.FileName);
if (flag2)
{
this.lblDataCount.Enabled = true;
this.lblDataIdx.Enabled = true;
this.lblDataCount.Text = this._dataSource1.Count.ToString();
this.lblDataIdx.Text = this._dataIndex.ToString();
this.lbl_STATUS.Text = Path.GetFileName(openFileDialog.FileName);
this.isUp = (Path.GetExtension(openFileDialog.FileName)[3] == '1');
bool flag3 = Path.GetExtension(openFileDialog.FileName)[3] == 't';
if (flag3)
{
this.isUp = this._dataSource[10].mmiData.tc1;
}
this.addTwcrStation(this.stationList);
string directoryName = Path.GetDirectoryName(openFileDialog.FileName);
string fileNameWithoutExtension = Path.GetFileNameWithoutExtension(openFileDialog.FileName);
this.lbl_formNo.Text = fileNameWithoutExtension;
this.lbl_LOGFILE.Enabled = true;
this.lbl_LOGFILE.BackColor = Color.Green;
bool flag4 = this.lbl_STATUS.Text.Length > 16;
if (flag4)
{
this.lbl_formNo.Text = this.lbl_STATUS.Text.Substring(16, 2) + " 편성";
}
else
{
this.lbl_formNo.Text = this._dataSource[100].tcmsData.formNo.ToString() + " 편성";
}
this.buttonPREV_FAST.Enabled = true;
this.buttonPREV.Enabled = true;
this.buttonNEXT.Enabled = true;
this.buttonNEXT_FAST.Enabled = true;
this.checkBox1.Checked = true;
this.ShowChart();
}
this.Cursor = Cursors.Default;
}
}
// Token: 0x060000FD RID: 253 RVA: 0x000205B0 File Offset: 0x0001E7B0
public List<string> setBasicTwcStation()
{
return new List<string>
{
"다대포해",
"다대포항",
"낫개",
"신장림",
"장림",
"동매",
"신평",
"하단",
"당리",
"사하",
"괴정",
"대티",
"서대신",
"동대신",
"토성",
"자갈치",
"남포",
"중앙",
"부산역",
"초량",
"부산진",
"좌천",
"범일",
"범내골",
"서면",
"부전",
"양정",
"시청",
"연산",
"교대",
"동래",
"명륜",
"온천장",
"부산대",
"장전",
"구서",
"두실",
"남산",
"범어사",
"노포"
};
}
// Token: 0x060000FE RID: 254 RVA: 0x000207AC File Offset: 0x0001E9AC
public void addTwcrStation(List<string> stationList)
{
this.mmiUI.cb_TWCR.Items.Clear();
this._stationInfoList = this.FindStationInfo(this.isUp, true);
bool flag = this._stationInfoList == null;
if (!flag)
{
foreach (StationInfo stationInfo in this._stationInfoList)
{
for (int i = 0; i < stationList.Count; i++)
{
bool flag2 = stationList[i] == stationInfo.StationName;
if (flag2)
{
stationList.RemoveAt(i);
}
}
this.mmiUI.cb_TWCR.Items.Add(stationInfo);
}
this.mmiUI._mstationInfoList = this._stationInfoList;
this.mmiUI.cb_TWCR.Text = "- STATION -" + this.mmiUI.cb_TWCR.Items.Count.ToString();
bool flag3 = this.mmiUI.cb_TWCR.Items.Count < 1;
if (flag3)
{
this.mmiUI.cb_TWCR.Text = "-TWC 미수신 상태- ";
}
else
{
bool flag4 = this.mmiUI.cb_TWCR.Items.Count < 7;
if (flag4)
{
this.mmiUI.cb_TWCR.Text = "-TWC(" + this.mmiUI.cb_TWCR.Items.Count.ToString() + ")|출고 및 회송|";
}
else
{
bool flag5 = stationList.Count > 0 && stationList.Count < 40;
if (flag5)
{
string str = string.Join("l", stationList);
this.mmiUI.cb_TWCR.Text = "-TWC(" + this.mmiUI.cb_TWCR.Items.Count.ToString() + ") 미수신역:" + str;
}
else
{
this.mmiUI.cb_TWCR.Text = "- TWC 모든역수신 -" + this.mmiUI.cb_TWCR.Items.Count.ToString();
}
}
}
this.mmiUI.tt.SetToolTip(this.mmiUI.cb_TWCR, this.mmiUI.cb_TWCR.Text);
}
}
// Token: 0x060000FF RID: 255 RVA: 0x00020A48 File Offset: 0x0001EC48
private bool OpenLogFile(string fullPath)
{
this.lblDataIdx.Text = "0";
this.clearData();
this._canLogDataSource.Clear();
this.mmiUI.cb_TWCR.Items.Clear();
this._prevBuff = new Dictionary<uint, byte[]>();
foreach (uint key in this._analysisID)
{
this._prevBuff.Add(key, new byte[0]);
}
bool result = true;
FileStream fileStream = new FileStream(fullPath, FileMode.Open, FileAccess.Read);
BinaryReader binaryReader = new BinaryReader(fileStream);
string fileNameWithoutExtension = Path.GetFileNameWithoutExtension(fullPath);
string extension = Path.GetExtension(fullPath);
try
{
bool flag = extension == ".dat";
DateTime dateTime;
if (flag)
{
this.formNo = int.Parse(fileNameWithoutExtension.Substring(16, 2));
dateTime = DateTime.Parse(string.Format("{0}-{1}-{2} {3}:{4}:{5}", new object[]
{
fileNameWithoutExtension.Substring(2, 2),
fileNameWithoutExtension.Substring(4, 2),
fileNameWithoutExtension.Substring(6, 2),
fileNameWithoutExtension.Substring(9, 2),
fileNameWithoutExtension.Substring(11, 2),
fileNameWithoutExtension.Substring(13, 2)
}));
}
else
{
string text = extension.Substring(1, 2);
dateTime = DateTime.Parse(string.Format("{0}-{1}-{2} {3}:{4}", new object[]
{
text,
fileNameWithoutExtension.Substring(0, 2),
fileNameWithoutExtension.Substring(2, 2),
fileNameWithoutExtension.Substring(4, 2),
fileNameWithoutExtension.Substring(6, 2)
}));
}
DateTime dateTime2 = dateTime.AddMinutes(1.0);
long length = binaryReader.BaseStream.Length;
byte[] array = new byte[1];
byte[] array2 = new byte[6];
byte[] array3 = new byte[2];
byte[] array4 = new byte[1];
int num = 0;
while (fileStream.Position < length)
{
bool flag2 = fileStream.Position + (long)num < length;
if (flag2)
{
bool flag3 = true;
DateTime dateTime3 = dateTime;
bool flag4 = flag3 && dateTime3 >= dateTime;
if (flag4)
{
dateTime = dateTime3;
dateTime2 = dateTime3.AddDays(1.0);
CanLogData item = new CanLogData(dateTime3);
this._canLogDataSource.Add(item);
this._allCanData.Add(new CanLogData(dateTime3));
}
else
{
bool flag5 = flag3;
if (flag5)
{
dateTime = dateTime3;
dateTime2 = dateTime3.AddDays(1.0);
CanLogData item2 = new CanLogData(dateTime3);
this._canLogDataSource.Add(item2);
this._allCanData.Add(new CanLogData(dateTime3));
}
else
{
fileStream.Seek((long)(-(long)num), SeekOrigin.Current);
}
}
}
bool flag6 = extension == ".dat";
if (flag6)
{
int num2 = 84;
uint num3 = 2048U;
bool flag7 = num2 > 0;
if (flag7)
{
byte[] array5 = new byte[num2];
array5 = binaryReader.ReadBytes(array5.Length);
uint num4 = num3;
bool flag8 = this._analysisID.Contains(num4);
if (flag8)
{
CanData item3 = new CanData(num4, array5);
this._canLogDataSource[this._canLogDataSource.Count - 1].DataList.Add(item3);
}
this._allCanData[this._allCanData.Count - 1].DataList.Add(new CanData(num4, array5));
}
}
else
{
array4 = binaryReader.ReadBytes(array4.Length);
array3 = binaryReader.ReadBytes(array3.Length);
int num5 = Convert.ToInt32(array4[0]);
int num6 = ((int)(array3[0] & 15) << 8) + (int)array3[1];
bool flag9 = num5 > 0;
if (flag9)
{
byte[] array6 = new byte[num5];
array6 = binaryReader.ReadBytes(array6.Length);
uint num7 = (uint)num6;
bool @checked = this.cbMMIOnly.Checked;
if (@checked)
{
bool flag10 = num7 == 2048U;
if (flag10)
{
bool flag11 = this._analysisID.Contains(num7);
if (flag11)
{
CanData item4 = new CanData(num7, array6);
this._canLogDataSource[this._canLogDataSource.Count - 1].DataList.Add(item4);
}
this._allCanData[this._allCanData.Count - 1].DataList.Add(new CanData(num7, array6));
}
}
else
{
bool flag12 = this._analysisID.Contains(num7);
if (flag12)
{
CanData item5 = new CanData(num7, array6);
this._canLogDataSource[this._canLogDataSource.Count - 1].DataList.Add(item5);
}
this._allCanData[this._allCanData.Count - 1].DataList.Add(new CanData(num7, array6));
}
}
}
}
bool flag13 = this._canLogDataSource.Count == 0;
if (flag13)
{
result = false;
}
else
{
result = this.MergeData(this._canLogDataSource, out this._dataSource);
this._dataIndex = 0;
int count = this._dataSource.Count;
for (int j = 0; j < count; j++)
{
bool flag14 = this._dataSource[j].mmiData.source == 16U || this._dataSource[j].mmiData.source == 80U;
if (flag14)
{
this._dataSource1.Add(this._dataSource[j]);
}
else
{
this._dataSource2.Add(this._dataSource[j]);
}
}
}
}
catch (Exception ex)
{
result = false;
string message = ex.Message;
}
finally
{
bool flag15 = binaryReader != null;
if (flag15)
{
binaryReader.Close();
}
bool flag16 = fileStream != null;
if (flag16)
{
fileStream.Close();
}
}
return result;
}
// Token: 0x06000100 RID: 256 RVA: 0x00021080 File Offset: 0x0001F280
private bool MergeData(List<CanLogData> source, out List<MergedData> result)
{
bool result2 = true;
result = new List<MergedData>();
MergedData mergedData = new MergedData();
DateTime logTime = source[0].LogTime;
source.RemoveRange(source.Count - 1, 1);
foreach (CanLogData canLogData in source)
{
DateTime logTime2 = canLogData.LogTime;
int count = canLogData.DataList.Count;
bool flag = count == 0;
if (!flag)
{
int num = 1000 / count;
List<CanData> dataList = canLogData.DataList;
int count2 = dataList.Count;
for (int i = 0; i < count2; i++)
{
CanData canData = dataList[i];
mergedData.Time = logTime2;
bool flag2 = mergedData.mmiData.time != null && DateTime.TryParse(mergedData.mmiData.time, out mergedData.Time);
if (flag2)
{
mergedData.Time = Convert.ToDateTime(mergedData.mmiData.time);
}
bool flag3 = !BitConverter.ToString(this._prevBuff[canData.Identifier]).Equals(BitConverter.ToString(canData.Data));
if (flag3)
{
this._prevBuff[canData.Identifier] = canData.Data;
uint identifier = canData.Identifier;
uint num2 = identifier;
if (num2 <= 800U)
{
if (num2 <= 514U)
{
switch (num2)
{
case 336U:
mergedData.ccc150Data = CCC150.SetData(canData.Data);
break;
case 337U:
mergedData.ccc151Data = CCC151.SetData(canData.Data);
break;
case 338U:
mergedData.ccc152Data = CCC152.SetData(canData.Data);
break;
default:
switch (num2)
{
case 512U:
mergedData.acpu200Data = ACPU200.SetData(canData.Data);
break;
case 513U:
mergedData.acpu201Data = ACPU201.SetData(canData.Data);
break;
case 514U:
mergedData.acpu202Data = ACPU202.SetData(canData.Data);
break;
default:
goto IL_31F;
}
break;
}
}
else if (num2 != 592U)
{
if (num2 != 800U)
{
goto IL_31F;
}
mergedData.twct320Data = TWCT320.SetData(canData.Data);
}
else
{
mergedData.atcr250Data = ATCR250.SetData(canData.Data);
}
}
else if (num2 <= 2048U)
{
if (num2 != 1281U)
{
if (num2 != 2048U)
{
goto IL_31F;
}
mergedData.mmiData = DDOSItoMMI.SetData(canData.Data);
}
else
{
mergedData.atcr501Data = ATCR501.SetData(canData.Data);
}
}
else if (num2 != 2128U)
{
if (num2 != 2304U)
{
if (num2 != 2305U)
{
goto IL_31F;
}
mergedData.ftcmsData = TCMStoDOSI.SetData(canData.Data);
}
else
{
mergedData.tcmsData = DOSItoTCMS.SetData(canData.Data);
}
}
else
{
mergedData.fmmiDaTa = MMItoDOSI.SetData(canData.Data);
}
result.Add((MergedData)mergedData.Clone());
goto IL_353;
IL_31F:
result2 = false;
MessageBox.Show(string.Format("데이터 분석 오류. CAN ID: 0x{0:X3} 은 처리되지 않음.", canData.Identifier));
return result2;
}
IL_353:;
}
}
}
return result2;
}
// Token: 0x06000101 RID: 257 RVA: 0x0002143C File Offset: 0x0001F63C
private List<StationInfo> FindStationInfo(bool isUp, bool isCtrl1)
{
List<StationInfo> result = new List<StationInfo>();
List<StationCode> list = Enum.GetValues(typeof(StationCode)).Cast<StationCode>().ToList<StationCode>();
list.Remove(StationCode._TC2);
list.Remove(StationCode._TC1);
Array array = list.ToArray();
bool flag = !isUp;
if (flag)
{
Array.Reverse(array);
}
List<int> source = new List<int>();
int num = 0;
bool @checked = this.checkBox1.Checked;
if (@checked)
{
for (int i = 0; i < this._dataSource1.Count; i++)
{
int pstn = this._dataSource1[i].mmiData.pstn;
bool door_open = this._dataSource1[i].mmiData.door_open;
bool flag2 = pstn != 0 && num != pstn && door_open && this._dataSource1[i].mmiData.time != "2000.00.00 00:00:00";
if (flag2)
{
num = pstn;
int num2 = Array.IndexOf(array, (StationCode)pstn);
List<StationInfo> result3 = result;
StationCode stationCode = (StationCode)pstn;
result3.Add(new StationInfo(stationCode.ToString(), Convert.ToDateTime(this._dataSource1[i].mmiData.time), i, pstn));
}
}
}
else
{
bool checked2 = this.checkBox2.Checked;
if (checked2)
{
for (int j = 0; j < this._dataSource2.Count; j++)
{
int pstn2 = this._dataSource2[j].mmiData.pstn;
bool door_open2 = this._dataSource2[j].mmiData.door_open;
bool flag3 = pstn2 != 0 && num != pstn2 && door_open2 && this._dataSource2[j].mmiData.time != "2000.00.00 00:00:00";
if (flag3)
{
num = pstn2;
int num3 = Array.IndexOf(array, (StationCode)pstn2);
List<StationInfo> result2 = result;
StationCode stationCode = (StationCode)pstn2;
result2.Add(new StationInfo(stationCode.ToString(), Convert.ToDateTime(this._dataSource2[j].mmiData.time), j, pstn2));
}
}
}
}
IEnumerable<int> enumerable = from x in source
where !(from o in result
select o.StationNumber).Contains(x + 1)
select x;
StringBuilder stringBuilder = new StringBuilder();
foreach (int num4 in enumerable)
{
stringBuilder.Append("\r\n");
if (isUp)
{
bool flag4 = num4 != 0;
if (flag4)
{
StringBuilder stringBuilder2 = stringBuilder;
string str = string.Format("[{0}] ", num4 + 94);
object value = array.GetValue(num4);
stringBuilder2.Append(str + ((value != null) ? value.ToString() : null));
}
}
else
{
StringBuilder stringBuilder3 = stringBuilder;
string str2 = string.Format("[{0}] ", 134 - num4);
object value2 = array.GetValue(num4);
stringBuilder3.Append(str2 + ((value2 != null) ? value2.ToString() : null));
}
}
return result;
}
// Token: 0x06000102 RID: 258 RVA: 0x000217BC File Offset: 0x0001F9BC
private void clearData()
{
this._dataSource1.Clear();
this._dataSource2.Clear();
this._dataSource.Clear();
}
// Token: 0x06000103 RID: 259 RVA: 0x000217E4 File Offset: 0x0001F9E4
private void ShowChart()
{
this.mmiUI.chartClear();
bool flag = this.checkBox1.Checked && this._dataSource1 != null;
if (flag)
{
this.mmiUI.initChart(this._dataSource1, 0);
}
else
{
bool flag2 = this.checkBox2.Checked && this._dataSource2 != null;
if (flag2)
{
this.mmiUI.initChart(this._dataSource2, 0);
}
}
this.mmiUI.chart1.ChartAreas[0].CursorX.Position = 0.0;
this.mmiUI.chart1.ChartAreas.ResumeUpdates();
}
// Token: 0x06000104 RID: 260 RVA: 0x000218A4 File Offset: 0x0001FAA4
private void button1_Click(object sender, EventArgs e)
{
this.mmiUI.isFormShow();
}
// Token: 0x06000105 RID: 261 RVA: 0x000218B4 File Offset: 0x0001FAB4
private void lblDataIdx_KeyDown(object sender, KeyEventArgs e)
{
bool flag = e.KeyCode == Keys.Return;
if (flag)
{
this._dataIndex = int.Parse(this.lblDataIdx.Text);
this.mmiUI.showChart(this._dataIndex);
}
}
// Token: 0x06000106 RID: 262 RVA: 0x000218FC File Offset: 0x0001FAFC
private void buttonPREV_FAST_MouseDown(object sender, MouseEventArgs e)
{
string name = ((Button)sender).Name;
string a = name;
if (!(a == "buttonPREV_FAST"))
{
if (!(a == "buttonPREV"))
{
if (!(a == "buttonNEXT"))
{
if (a == "buttonNEXT_FAST")
{
this._scrollMode = ScrollBtn.FwdL;
this.tmr_AutoScroll.Start();
}
}
else
{
this._scrollMode = ScrollBtn.FwdS;
this.tmr_AutoScroll.Start();
}
}
else
{
this._scrollMode = ScrollBtn.PrvS;
this.tmr_AutoScroll.Start();
}
}
else
{
this._scrollMode = ScrollBtn.PrvL;
this.tmr_AutoScroll.Start();
}
}
// Token: 0x06000107 RID: 263 RVA: 0x000219A4 File Offset: 0x0001FBA4
private void tmr_AutoScroll_Tick(object sender, EventArgs e)
{
bool @checked = this.checkBox1.Checked;
if (@checked)
{
bool flag = this._dataIndex >= 0 && this._dataIndex <= this._dataSource1.Count;
if (flag)
{
switch (this._scrollMode)
{
case ScrollBtn.PrvL:
this._dataIndex -= 24;
break;
case ScrollBtn.PrvS:
this._dataIndex--;
break;
case ScrollBtn.FwdS:
this._dataIndex++;
break;
case ScrollBtn.FwdL:
this._dataIndex += 24;
break;
}
bool flag2 = this._dataIndex < 0;
if (flag2)
{
this._dataIndex = 0;
}
bool flag3 = this._dataIndex > this._dataSource1.Count;
if (flag3)
{
this._dataIndex = this._dataSource1.Count;
}
this.lblDataIdx.Text = this._dataIndex.ToString();
this.mmiUI.showChart(this._dataIndex);
}
}
else
{
bool flag4 = this._dataIndex >= 0 && this._dataIndex <= this._dataSource2.Count;
if (flag4)
{
switch (this._scrollMode)
{
case ScrollBtn.PrvL:
this._dataIndex -= 24;
break;
case ScrollBtn.PrvS:
this._dataIndex--;
break;
case ScrollBtn.FwdS:
this._dataIndex++;
break;
case ScrollBtn.FwdL:
this._dataIndex += 24;
break;
}
bool flag5 = this._dataIndex < 0;
if (flag5)
{
this._dataIndex = 0;
}
bool flag6 = this._dataIndex > this._dataSource2.Count;
if (flag6)
{
this._dataIndex = this._dataSource2.Count;
}
this.lblDataIdx.Text = this._dataIndex.ToString();
this.mmiUI.showChart(this._dataIndex);
}
}
}
// Token: 0x06000108 RID: 264 RVA: 0x00021BC5 File Offset: 0x0001FDC5
private void buttonPREV_FAST_MouseUp(object sender, MouseEventArgs e)
{
this.tmr_AutoScroll.Stop();
}
// Token: 0x06000109 RID: 265 RVA: 0x00021BD4 File Offset: 0x0001FDD4
private void SavedlogForm_DragDrop(object sender, DragEventArgs e)
{
this.Cursor = Cursors.WaitCursor;
string[] array = (string[])e.Data.GetData(DataFormats.FileDrop);
bool flag = array[0].Contains("_MSG");
if (flag)
{
mmiMsgForm mmiMsgForm = new mmiMsgForm();
mmiMsgForm.Show();
mmiMsgForm.fileOpen(array[0]);
}
else
{
List<string> list = new List<string>();
list.Add("다대포해");
list.Add("다대포항");
list.Add("낫개");
list.Add("신장림");
list.Add("장림");
list.Add("동매");
list.Add("신평");
list.Add("하단");
list.Add("당리");
list.Add("사하");
list.Add("괴정");
list.Add("대티");
list.Add("서대신");
list.Add("동대신");
list.Add("토성");
list.Add("자갈치");
list.Add("남포");
list.Add("중앙");
list.Add("부산역");
list.Add("초량");
list.Add("부산진");
list.Add("좌천");
list.Add("범일");
list.Add("범내골");
list.Add("서면");
list.Add("부전");
list.Add("양정");
list.Add("시청");
list.Add("연산");
list.Add("교대");
list.Add("동래");
list.Add("명륜");
list.Add("온천장");
list.Add("부산대");
list.Add("장전");
list.Add("구서");
list.Add("두실");
list.Add("남산");
list.Add("범어사");
list.Add("노포");
bool flag2 = this.OpenLogFile(array[0]);
if (flag2)
{
this.lblDataCount.Enabled = true;
this.lblDataIdx.Enabled = true;
this.lblDataCount.Text = this._dataSource1.Count.ToString();
this.lblDataIdx.Text = this._dataIndex.ToString();
this.lbl_STATUS.Text = Path.GetFileName(array[0]);
bool flag3 = this.lbl_STATUS.Text.Length > 16;
if (flag3)
{
this.lbl_formNo.Text = this.lbl_STATUS.Text.Substring(16, 2) + " 편성";
}
else
{
this.lbl_formNo.Text = this._dataSource[100].tcmsData.formNo.ToString() + " 편성";
}
string directoryName = Path.GetDirectoryName(array[0]);
string fileNameWithoutExtension = Path.GetFileNameWithoutExtension(array[0]);
this.lbl_LOGFILE.Enabled = true;
this.lbl_LOGFILE.BackColor = Color.Green;
this.buttonPREV_FAST.Enabled = true;
this.buttonPREV.Enabled = true;
this.buttonNEXT.Enabled = true;
this.buttonNEXT_FAST.Enabled = true;
bool flag4 = Path.GetExtension(array[0])[3] == '1';
bool flag5 = Path.GetExtension(array[0])[3] == 't';
if (flag5)
{
flag4 = this._dataSource[10].mmiData.tc1;
}
this._stationInfoList = this.FindStationInfo(flag4, true);
foreach (StationInfo stationInfo in this._stationInfoList)
{
for (int i = 0; i < list.Count; i++)
{
bool flag6 = list[i] == stationInfo.StationName;
if (flag6)
{
list.RemoveAt(i);
}
}
this.mmiUI.cb_TWCR.Items.Add(stationInfo);
}
this.mmiUI._mstationInfoList = this._stationInfoList;
this.mmiUI.cb_TWCR.Text = "- STATION -" + this.mmiUI.cb_TWCR.Items.Count.ToString();
bool flag7 = this.mmiUI.cb_TWCR.Items.Count < 1;
if (flag7)
{
this.mmiUI.cb_TWCR.Text = "-TWC 미수신 상태- ";
}
else
{
bool flag8 = this.mmiUI.cb_TWCR.Items.Count < 7;
if (flag8)
{
this.mmiUI.cb_TWCR.Text = "-TWC(" + this.mmiUI.cb_TWCR.Items.Count.ToString() + ")|출고 및 회송|";
}
else
{
bool flag9 = list.Count > 0 && list.Count < 40;
if (flag9)
{
string str = string.Join("l", list);
this.mmiUI.cb_TWCR.Text = "-TWC(" + this.mmiUI.cb_TWCR.Items.Count.ToString() + ") 미수신역:" + str;
}
else
{
this.mmiUI.cb_TWCR.Text = "- TWC 모든역수신 -" + this.mmiUI.cb_TWCR.Items.Count.ToString();
}
}
}
this.mmiUI.tt.SetToolTip(this.mmiUI.cb_TWCR, this.mmiUI.cb_TWCR.Text);
this.ShowChart();
}
}
this.Cursor = Cursors.Default;
}
// Token: 0x0600010A RID: 266 RVA: 0x00022238 File Offset: 0x00020438
private void SavedlogForm_DragEnter(object sender, DragEventArgs e)
{
e.Effect = DragDropEffects.Copy;
}
// Token: 0x0600010B RID: 267 RVA: 0x00022244 File Offset: 0x00020444
private void checkBox1_Click(object sender, EventArgs e)
{
this.checkBox2.Checked = false;
this.mmiUI.chartClear();
this.clearLabel();
bool flag = this._dataSource1 == null || this._dataSource1.Count == 0;
if (!flag)
{
this.FindStationInfo(this.isUp, true);
this.ShowChart();
this._dataIndex = int.Parse(this.lblDataIdx.Text);
this.mmiUI.showChart(this._dataIndex);
this.lblDataCount.Text = this._dataSource1.Count.ToString();
this.stationList = this.setBasicTwcStation();
this.addTwcrStation(this.stationList);
}
}
// Token: 0x0600010C RID: 268 RVA: 0x00022308 File Offset: 0x00020508
private void checkBox2_Click(object sender, EventArgs e)
{
this.checkBox1.Checked = false;
this.mmiUI.chartClear();
this.clearLabel();
bool flag = this._dataSource2.Count == 0;
if (!flag)
{
this.FindStationInfo(this.isUp, false);
this.ShowChart();
this._dataIndex = int.Parse(this.lblDataIdx.Text);
this.mmiUI.showChart(this._dataIndex);
this.lblDataCount.Text = this._dataSource2.Count.ToString();
this.stationList = this.setBasicTwcStation();
this.addTwcrStation(this.stationList);
}
}
// Token: 0x0600010D RID: 269 RVA: 0x000223BF File Offset: 0x000205BF
private void clearLabel()
{
this.mmiUI.clearLabelMMIUI();
}
// Token: 0x0600010E RID: 270 RVA: 0x000223CE File Offset: 0x000205CE
private void SavedlogForm_FormClosed(object sender, FormClosedEventArgs e)
{
this.mmiUI.Close();
}
// Token: 0x0600010F RID: 271 RVA: 0x000223E0 File Offset: 0x000205E0
private void btn_markerCalc_Click(object sender, EventArgs e)
{
bool flag = this._dataSource == null || this._dataSource.Count == 0;
if (flag)
{
MessageBox.Show("[추가데이터 선택] 에서 아이템을 추가 한 후 EXCEL 버튼을 클릭해주세요.");
}
else
{
bool @checked = this.checkBox1.Checked;
if (@checked)
{
this.mmiUI.stopPositionWriter(this._dataSource1, this._dataIndex);
}
else
{
this.mmiUI.stopPositionWriter(this._dataSource2, this._dataIndex);
}
}
}
// Token: 0x06000110 RID: 272 RVA: 0x0002245A File Offset: 0x0002065A
private void checkBox3_Click(object sender, EventArgs e)
{
}
// Token: 0x06000111 RID: 273 RVA: 0x0002245D File Offset: 0x0002065D
private void checkBox3_CheckedChanged(object sender, EventArgs e)
{
this.mmiUI.panel_cVDIO.Visible = this.checkBox3.Checked;
}
// Token: 0x06000112 RID: 274 RVA: 0x0002247C File Offset: 0x0002067C
protected override void Dispose(bool disposing)
{
bool flag = disposing && this.components != null;
if (flag)
{
this.components.Dispose();
}
base.Dispose(disposing);
}
// Token: 0x06000113 RID: 275 RVA: 0x000224B4 File Offset: 0x000206B4
private void InitializeComponent()
{
this.components = new Container();
this.label1 = new Label();
this.button1 = new Button();
this.lblDataCount = new Label();
this.label5 = new Label();
this.lbl_LOGFILE = new Label();
this.lbl_STATUS = new Label();
this.buttonNEXT_FAST = new Button();
this.buttonNEXT = new Button();
this.buttonPREV = new Button();
this.buttonPREV_FAST = new Button();
this.bt_fileOpen = new Button();
this.lblDataIdx = new TextBox();
this.tmr_AutoScroll = new Timer(this.components);
this.checkBox1 = new CheckBox();
this.checkBox2 = new CheckBox();
this.lbl_formNo = new Label();
this.button2 = new Button();
this.checkBox3 = new CheckBox();
this.cbMMIOnly = new CheckBox();
this.panel1 = new Panel();
this.panel1.SuspendLayout();
base.SuspendLayout();
this.label1.BackColor = Color.DarkOrange;
this.label1.Dock = DockStyle.Top;
this.label1.Font = new Font("맑은 고딕", 18f, FontStyle.Bold, GraphicsUnit.Point, 129);
this.label1.ForeColor = Color.Black;
this.label1.Location = new Point(0, 0);
this.label1.Name = "label1";
this.label1.Size = new Size(1442, 55);
this.label1.TabIndex = 92;
this.label1.Text = "로그 뷰어";
this.label1.TextAlign = ContentAlignment.MiddleLeft;
this.button1.Font = new Font("맑은 고딕", 9.75f, FontStyle.Bold);
this.button1.Location = new Point(1015, 10);
this.button1.Margin = new Padding(3, 2, 3, 2);
this.button1.Name = "button1";
this.button1.Size = new Size(126, 34);
this.button1.TabIndex = 97;
this.button1.Text = "추가 데이터 선택";
this.button1.UseVisualStyleBackColor = true;
this.button1.Click += this.button1_Click;
this.lblDataCount.Enabled = false;
this.lblDataCount.Font = new Font("Verdana", 12f, FontStyle.Bold, GraphicsUnit.Point, 0);
this.lblDataCount.Location = new Point(718, 14);
this.lblDataCount.Name = "lblDataCount";
this.lblDataCount.Size = new Size(100, 27);
this.lblDataCount.TabIndex = 104;
this.lblDataCount.Text = "-";
this.lblDataCount.TextAlign = ContentAlignment.MiddleLeft;
this.label5.AutoSize = true;
this.label5.BackColor = Color.DarkOrange;
this.label5.Font = new Font("Verdana", 15.75f, FontStyle.Regular, GraphicsUnit.Point, 0);
this.label5.Location = new Point(699, 15);
this.label5.Name = "label5";
this.label5.Size = new Size(22, 25);
this.label5.TabIndex = 103;
this.label5.Text = "/";
this.label5.TextAlign = ContentAlignment.MiddleCenter;
this.lbl_LOGFILE.BackColor = Color.DarkGray;
this.lbl_LOGFILE.BorderStyle = BorderStyle.FixedSingle;
this.lbl_LOGFILE.Font = new Font("맑은 고딕", 11.25f, FontStyle.Bold, GraphicsUnit.Point, 129);
this.lbl_LOGFILE.ForeColor = Color.White;
this.lbl_LOGFILE.Location = new Point(235, 8);
this.lbl_LOGFILE.Name = "lbl_LOGFILE";
this.lbl_LOGFILE.Size = new Size(106, 37);
this.lbl_LOGFILE.TabIndex = 101;
this.lbl_LOGFILE.Text = "로그 파일";
this.lbl_LOGFILE.TextAlign = ContentAlignment.MiddleCenter;
this.lbl_STATUS.BackColor = Color.DarkBlue;
this.lbl_STATUS.BorderStyle = BorderStyle.FixedSingle;
this.lbl_STATUS.Font = new Font("맑은 고딕", 9.75f, FontStyle.Regular, GraphicsUnit.Point, 129);
this.lbl_STATUS.ForeColor = Color.White;
this.lbl_STATUS.Location = new Point(347, 9);
this.lbl_STATUS.Name = "lbl_STATUS";
this.lbl_STATUS.Size = new Size(131, 36);
this.lbl_STATUS.TabIndex = 100;
this.lbl_STATUS.Text = "-";
this.lbl_STATUS.TextAlign = ContentAlignment.MiddleCenter;
this.buttonNEXT_FAST.BackColor = SystemColors.Control;
this.buttonNEXT_FAST.Enabled = false;
this.buttonNEXT_FAST.FlatStyle = FlatStyle.Flat;
this.buttonNEXT_FAST.Font = new Font("Verdana", 9.75f, FontStyle.Bold, GraphicsUnit.Point, 0);
this.buttonNEXT_FAST.Location = new Point(967, 10);
this.buttonNEXT_FAST.Name = "buttonNEXT_FAST";
this.buttonNEXT_FAST.Size = new Size(42, 33);
this.buttonNEXT_FAST.TabIndex = 99;
this.buttonNEXT_FAST.Text = ">>";
this.buttonNEXT_FAST.UseVisualStyleBackColor = false;
this.buttonNEXT_FAST.MouseDown += this.buttonPREV_FAST_MouseDown;
this.buttonNEXT_FAST.MouseUp += this.buttonPREV_FAST_MouseUp;
this.buttonNEXT.BackColor = SystemColors.Control;
this.buttonNEXT.Enabled = false;
this.buttonNEXT.FlatStyle = FlatStyle.Flat;
this.buttonNEXT.Font = new Font("Verdana", 9.75f, FontStyle.Bold, GraphicsUnit.Point, 0);
this.buttonNEXT.Location = new Point(919, 10);
this.buttonNEXT.Name = "buttonNEXT";
this.buttonNEXT.Size = new Size(42, 33);
this.buttonNEXT.TabIndex = 98;
this.buttonNEXT.Text = ">";
this.buttonNEXT.UseVisualStyleBackColor = false;
this.buttonNEXT.MouseDown += this.buttonPREV_FAST_MouseDown;
this.buttonNEXT.MouseUp += this.buttonPREV_FAST_MouseUp;
this.buttonPREV.BackColor = SystemColors.Control;
this.buttonPREV.Enabled = false;
this.buttonPREV.FlatStyle = FlatStyle.Flat;
this.buttonPREV.Font = new Font("Verdana", 9.75f, FontStyle.Bold, GraphicsUnit.Point, 0);
this.buttonPREV.Location = new Point(871, 10);
this.buttonPREV.Name = "buttonPREV";
this.buttonPREV.Size = new Size(42, 33);
this.buttonPREV.TabIndex = 97;
this.buttonPREV.Text = "<";
this.buttonPREV.UseVisualStyleBackColor = false;
this.buttonPREV.MouseDown += this.buttonPREV_FAST_MouseDown;
this.buttonPREV.MouseUp += this.buttonPREV_FAST_MouseUp;
this.buttonPREV_FAST.BackColor = SystemColors.Control;
this.buttonPREV_FAST.Enabled = false;
this.buttonPREV_FAST.FlatStyle = FlatStyle.Flat;
this.buttonPREV_FAST.Font = new Font("Verdana", 9.75f, FontStyle.Bold, GraphicsUnit.Point, 0);
this.buttonPREV_FAST.Location = new Point(823, 10);
this.buttonPREV_FAST.Name = "buttonPREV_FAST";
this.buttonPREV_FAST.Size = new Size(42, 33);
this.buttonPREV_FAST.TabIndex = 96;
this.buttonPREV_FAST.Text = "<<";
this.buttonPREV_FAST.UseVisualStyleBackColor = false;
this.buttonPREV_FAST.MouseDown += this.buttonPREV_FAST_MouseDown;
this.buttonPREV_FAST.MouseUp += this.buttonPREV_FAST_MouseUp;
this.bt_fileOpen.Font = new Font("맑은 고딕", 9.75f, FontStyle.Bold, GraphicsUnit.Point, 129);
this.bt_fileOpen.Location = new Point(120, 8);
this.bt_fileOpen.Margin = new Padding(3, 2, 3, 2);
this.bt_fileOpen.Name = "bt_fileOpen";
this.bt_fileOpen.Size = new Size(109, 37);
this.bt_fileOpen.TabIndex = 105;
this.bt_fileOpen.Text = "FILE OPEN";
this.bt_fileOpen.UseVisualStyleBackColor = true;
this.bt_fileOpen.Click += this.bt_fileOpen_Click;
this.lblDataIdx.Enabled = false;
this.lblDataIdx.Font = new Font("Verdana", 12f, FontStyle.Regular, GraphicsUnit.Point, 0);
this.lblDataIdx.Location = new Point(598, 14);
this.lblDataIdx.Name = "lblDataIdx";
this.lblDataIdx.Size = new Size(100, 27);
this.lblDataIdx.TabIndex = 102;
this.lblDataIdx.Text = "-";
this.lblDataIdx.TextAlign = HorizontalAlignment.Right;
this.lblDataIdx.KeyDown += this.lblDataIdx_KeyDown;
this.tmr_AutoScroll.Tick += this.tmr_AutoScroll_Tick;
this.checkBox1.Appearance = Appearance.Button;
this.checkBox1.Checked = true;
this.checkBox1.CheckState = CheckState.Checked;
this.checkBox1.Font = new Font("나눔고딕", 12f, FontStyle.Bold, GraphicsUnit.Point, 129);
this.checkBox1.Location = new Point(1147, 10);
this.checkBox1.Name = "checkBox1";
this.checkBox1.Size = new Size(61, 34);
this.checkBox1.TabIndex = 106;
this.checkBox1.Text = "1계";
this.checkBox1.TextAlign = ContentAlignment.MiddleCenter;
this.checkBox1.UseVisualStyleBackColor = true;
this.checkBox1.Click += this.checkBox1_Click;
this.checkBox2.Appearance = Appearance.Button;
this.checkBox2.Font = new Font("나눔고딕", 12f, FontStyle.Bold, GraphicsUnit.Point, 129);
this.checkBox2.Location = new Point(1214, 10);
this.checkBox2.Name = "checkBox2";
this.checkBox2.Size = new Size(61, 34);
this.checkBox2.TabIndex = 107;
this.checkBox2.Text = "2계";
this.checkBox2.TextAlign = ContentAlignment.MiddleCenter;
this.checkBox2.UseVisualStyleBackColor = true;
this.checkBox2.Click += this.checkBox2_Click;
this.lbl_formNo.BackColor = Color.DarkBlue;
this.lbl_formNo.BorderStyle = BorderStyle.FixedSingle;
this.lbl_formNo.Font = new Font("맑은 고딕", 14.25f, FontStyle.Bold, GraphicsUnit.Point, 129);
this.lbl_formNo.ForeColor = Color.White;
this.lbl_formNo.Location = new Point(484, 9);
this.lbl_formNo.Name = "lbl_formNo";
this.lbl_formNo.Size = new Size(106, 36);
this.lbl_formNo.TabIndex = 113;
this.lbl_formNo.Text = "-";
this.lbl_formNo.TextAlign = ContentAlignment.MiddleCenter;
this.button2.Font = new Font("맑은 고딕", 9.75f, FontStyle.Bold, GraphicsUnit.Point, 129);
this.button2.Location = new Point(1370, 10);
this.button2.Margin = new Padding(3, 2, 3, 2);
this.button2.Name = "button2";
this.button2.Size = new Size(60, 35);
this.button2.TabIndex = 114;
this.button2.Text = "EXCEL";
this.button2.UseVisualStyleBackColor = true;
this.button2.Visible = false;
this.button2.Click += this.btn_markerCalc_Click;
this.checkBox3.Appearance = Appearance.Button;
this.checkBox3.Font = new Font("나눔고딕", 12f, FontStyle.Bold, GraphicsUnit.Point, 129);
this.checkBox3.Location = new Point(1281, 10);
this.checkBox3.Name = "checkBox3";
this.checkBox3.Size = new Size(83, 34);
this.checkBox3.TabIndex = 115;
this.checkBox3.Text = "DIO";
this.checkBox3.TextAlign = ContentAlignment.MiddleCenter;
this.checkBox3.UseVisualStyleBackColor = true;
this.checkBox3.CheckedChanged += this.checkBox3_CheckedChanged;
this.cbMMIOnly.BackColor = Color.SandyBrown;
this.cbMMIOnly.FlatAppearance.CheckedBackColor = Color.BlueViolet;
this.cbMMIOnly.FlatAppearance.MouseDownBackColor = Color.MediumPurple;
this.cbMMIOnly.FlatStyle = FlatStyle.Popup;
this.cbMMIOnly.Font = new Font("나눔고딕", 11.25f, FontStyle.Bold, GraphicsUnit.Point, 129);
this.cbMMIOnly.Location = new Point(12, 20);
this.cbMMIOnly.Name = "cbMMIOnly";
this.cbMMIOnly.Size = new Size(103, 38);
this.cbMMIOnly.TabIndex = 112;
this.cbMMIOnly.Text = "ONLY MMI";
this.cbMMIOnly.UseVisualStyleBackColor = false;
this.cbMMIOnly.Visible = false;
this.panel1.Controls.Add(this.cbMMIOnly);
this.panel1.Dock = DockStyle.Fill;
this.panel1.Location = new Point(0, 55);
this.panel1.Name = "panel1";
this.panel1.Size = new Size(1442, 624);
this.panel1.TabIndex = 95;
this.panel1.DragDrop += this.SavedlogForm_DragDrop;
this.panel1.DragEnter += this.SavedlogForm_DragEnter;
this.AllowDrop = true;
base.AutoScaleMode = AutoScaleMode.None;
base.ClientSize = new Size(1442, 679);
base.Controls.Add(this.checkBox3);
base.Controls.Add(this.button2);
base.Controls.Add(this.lbl_formNo);
base.Controls.Add(this.checkBox2);
base.Controls.Add(this.checkBox1);
base.Controls.Add(this.bt_fileOpen);
base.Controls.Add(this.button1);
base.Controls.Add(this.lblDataCount);
base.Controls.Add(this.label5);
base.Controls.Add(this.lblDataIdx);
base.Controls.Add(this.lbl_LOGFILE);
base.Controls.Add(this.lbl_STATUS);
base.Controls.Add(this.buttonNEXT_FAST);
base.Controls.Add(this.buttonNEXT);
base.Controls.Add(this.buttonPREV);
base.Controls.Add(this.buttonPREV_FAST);
base.Controls.Add(this.panel1);
base.Controls.Add(this.label1);
this.Font = new Font("굴림", 9f, FontStyle.Regular, GraphicsUnit.Point, 129);
base.Name = "SavedlogForm";
base.FormClosed += this.SavedlogForm_FormClosed;
base.Load += this.SavedlogForm_Load;
base.DragDrop += this.SavedlogForm_DragDrop;
base.DragEnter += this.SavedlogForm_DragEnter;
this.panel1.ResumeLayout(false);
base.ResumeLayout(false);
base.PerformLayout();
}
// Token: 0x040001A1 RID: 417
private List<CanLogData> _canLogDataSource = new List<CanLogData>();
// Token: 0x040001A2 RID: 418
private List<CanLogData> _canLogDataSource1 = new List<CanLogData>();
// Token: 0x040001A3 RID: 419
private List<CanLogData> _canLogDataSource2 = new List<CanLogData>();
// Token: 0x040001A4 RID: 420
private List<CanLogData> _allCanData = new List<CanLogData>();
// Token: 0x040001A5 RID: 421
private List<MergedData> _dataSource = new List<MergedData>();
// Token: 0x040001A6 RID: 422
private List<MergedData> _dataSource1 = new List<MergedData>();
// Token: 0x040001A7 RID: 423
private List<MergedData> _dataSource2 = new List<MergedData>();
// Token: 0x040001A8 RID: 424
private List<MergedData> _dataSource_mmi = new List<MergedData>();
// Token: 0x040001A9 RID: 425
private int _dataIndex;
// Token: 0x040001AA RID: 426
private List<StationInfo> _stationInfoList = new List<StationInfo>();
// Token: 0x040001AB RID: 427
private mmiUI mmiUI;
// Token: 0x040001AC RID: 428
private Dictionary<uint, byte[]> _prevBuff;
// Token: 0x040001AD RID: 429
private uint[] _analysisID;
// Token: 0x040001AE RID: 430
private int formNo;
// Token: 0x040001AF RID: 431
private bool isUp;
// Token: 0x040001B0 RID: 432
private List<string> stationList;
// Token: 0x040001B1 RID: 433
private ScrollBtn _scrollMode = ScrollBtn.FwdS;
// Token: 0x040001B2 RID: 434
private IContainer components = null;
// Token: 0x040001B3 RID: 435
private Label label1;
// Token: 0x040001B4 RID: 436
private Button button1;
// Token: 0x040001B5 RID: 437
private Label label5;
// Token: 0x040001B6 RID: 438
private Label lbl_LOGFILE;
// Token: 0x040001B7 RID: 439
private Label lbl_STATUS;
// Token: 0x040001B8 RID: 440
private Button buttonNEXT_FAST;
// Token: 0x040001B9 RID: 441
private Button buttonNEXT;
// Token: 0x040001BA RID: 442
private Button buttonPREV;
// Token: 0x040001BB RID: 443
private Button buttonPREV_FAST;
// Token: 0x040001BC RID: 444
private Button bt_fileOpen;
// Token: 0x040001BD RID: 445
public Label lblDataCount;
// Token: 0x040001BE RID: 446
public TextBox lblDataIdx;
// Token: 0x040001BF RID: 447
private Timer tmr_AutoScroll;
// Token: 0x040001C0 RID: 448
public CheckBox checkBox1;
// Token: 0x040001C1 RID: 449
public CheckBox checkBox2;
// Token: 0x040001C2 RID: 450
private Label lbl_formNo;
// Token: 0x040001C3 RID: 451
private Button button2;
// Token: 0x040001C4 RID: 452
public CheckBox checkBox3;
// Token: 0x040001C5 RID: 453
private CheckBox cbMMIOnly;
// Token: 0x040001C6 RID: 454
private Panel panel1;
}
}