using SA_LTT;
|
using System;
|
using System.Collections.Generic;
|
using System.Reflection;
|
using System.Windows.Forms;
|
|
namespace SA_LTT_UI.Viewer
|
{
|
public partial class AlarmViewer : Form
|
{
|
private MainFrame _mainFrame;
|
|
protected override CreateParams CreateParams
|
{
|
get
|
{
|
CreateParams MyCp = base.CreateParams;
|
MyCp.ExStyle |= 0x02000000;
|
|
return MyCp;
|
}
|
}
|
|
public AlarmViewer(MainFrame mainFrame)
|
{
|
InitializeComponent();
|
InitDataGridView();
|
|
_mainFrame = mainFrame;
|
CheckOccurredAlarmList();
|
_mainFrame.equipment.alarmManager.Occurred += AlarmManager_Occurred;
|
_mainFrame.equipment.alarmManager.Cleared += AlarmManager_Cleared;
|
CreateHandle();
|
}
|
|
private void CheckOccurredAlarmList()
|
{
|
foreach (SA_LTT.Alarm.Alarm alarm in _mainFrame.equipment.alarmManager.OccurredAlarms)
|
{
|
dgv_OccurredAlarms.Rows.Add(alarm.OccurredTime, alarm.Code, alarm.Description, alarm.Level);
|
}
|
}
|
|
private void InitDataGridView()
|
{
|
//Datagridview Double Buffer 사용.
|
Type dgvType = dgv_OccurredAlarms.GetType();
|
PropertyInfo pi = dgvType.GetProperty("DoubleBuffered",
|
BindingFlags.Instance | BindingFlags.NonPublic);
|
pi.SetValue(dgv_OccurredAlarms, true, null);
|
//================================
|
|
int i = 0;
|
foreach (DataGridViewColumn dgvc in dgv_OccurredAlarms.Columns)
|
{
|
if (i == 0)
|
{
|
dgvc.Width = 160;
|
dgvc.DefaultCellStyle.Format = "yyyy/MM/dd HH:mm:ss.fff";
|
}
|
else if (i == 1)
|
dgvc.Width = 300;
|
else if (i == 2)
|
dgvc.Width = 200;
|
else if (i == 3)
|
dgvc.Width = 100;
|
|
i++;
|
}
|
|
foreach (DataGridViewColumn column in dgv_OccurredAlarms.Columns)
|
{
|
column.SortMode = DataGridViewColumnSortMode.NotSortable;
|
}
|
}
|
|
private void AlarmManager_Cleared()
|
{
|
if (InvokeRequired)
|
{
|
BeginInvoke(new AlarmCleared(AlarmManager_Cleared));
|
return;
|
}
|
else
|
{
|
dgv_OccurredAlarms.Rows.Clear();
|
lb_Description.Text = string.Empty;
|
}
|
}
|
|
private void AlarmManager_Occurred(SA_LTT.Alarm.Alarm occurredAlarm)
|
{
|
if (InvokeRequired)
|
{
|
BeginInvoke(new AlarmOccurred(AlarmManager_Occurred), occurredAlarm);
|
return;
|
}
|
else
|
{
|
dgv_OccurredAlarms.Rows.Add(occurredAlarm.OccurredTime, occurredAlarm.Code, occurredAlarm.Description, occurredAlarm.Level);
|
}
|
}
|
|
private void btn_AlarmClear_Click(object sender, EventArgs e)
|
{
|
EquipmentLogManager.Instance.WriteButtonLog($"{this.Name} : {((Control)sender).Text}");
|
_mainFrame.equipment.alarmManager.Clear();
|
}
|
|
private void btn_BuzzerStop_Click(object sender, EventArgs e)
|
{
|
//Buzer stop.
|
EquipmentLogManager.Instance.WriteButtonLog($"{this.Name} : {((Control)sender).Text}");
|
_mainFrame.equipment.BuzzerStop();
|
}
|
|
private void AlarmViewer_FormClosing(object sender, FormClosingEventArgs e)
|
{
|
e.Cancel = true;
|
this.Hide();
|
}
|
|
private void dgv_OccurredAlarms_SelectionChanged(object sender, EventArgs e)
|
{
|
if (dgv_OccurredAlarms.CurrentRow != null && dgv_OccurredAlarms.CurrentRow.Selected)
|
{
|
lb_Description.Text = (string)dgv_OccurredAlarms.CurrentRow.Cells[2].Value;
|
}
|
else
|
{
|
lb_Description.Text = string.Empty;
|
}
|
}
|
}
|
}
|