128 lines
2.9 KiB
C#
128 lines
2.9 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Drawing;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using arDev;
|
|
using AR;
|
|
|
|
namespace Project
|
|
{
|
|
public partial class FMain
|
|
{
|
|
|
|
private void SM_StateProgress(object sender, AR.StateMachine.StateProgressEventArgs e)
|
|
{
|
|
arCtl.arLabel lbl = lbMsg;
|
|
|
|
lbl.BeginInvoke(new Action(() =>
|
|
{
|
|
var title = e.Message;
|
|
var max = e.MaxProgress;
|
|
var value = e.Progress;
|
|
|
|
|
|
if (lbl.ProgressEnable == false) lbl.ProgressEnable = true;
|
|
if (lbl.ProgressValue != value) lbl.ProgressValue = (float)value;
|
|
if (lbl.Text != title) lbl.Text = title;
|
|
|
|
if (max != 0)
|
|
{
|
|
if (lbl.ProgressMax != max) lbl.ProgressMax = (float)max;
|
|
}
|
|
if (e.ForeColor != null)
|
|
{
|
|
if (lbl.ProgressForeColor != e.ForeColor) lbl.ProgressForeColor = (Color)e.ForeColor;
|
|
}
|
|
if (e.ShadowColor != null)
|
|
{
|
|
if (lbl.ShadowColor != e.ShadowColor) lbl.ShadowColor = (Color)e.ShadowColor;
|
|
}
|
|
if (e.ProgressBackColor1 != null)
|
|
{
|
|
if (lbl.ProgressColor1 != e.ProgressBackColor1) lbl.ProgressColor1 = (Color)e.ProgressBackColor1;
|
|
}
|
|
if (e.ProgressBackColor2 != null)
|
|
{
|
|
if (lbl.ProgressColor2 != e.ProgressBackColor2) lbl.ProgressColor1 = (Color)e.ProgressBackColor2;
|
|
}
|
|
|
|
if (e.BackColor1 != null)
|
|
{
|
|
if (lbl.BackColor != e.BackColor1) lbl.BackColor = (Color)e.BackColor1;
|
|
}
|
|
if (e.BackColor2 != null)
|
|
{
|
|
if (lbl.BackColor2 != e.BackColor2) lbl.BackColor2 = (Color)e.BackColor2;
|
|
}
|
|
}));
|
|
}
|
|
|
|
private void SM_StepCompleted(object sender, EventArgs e)
|
|
{
|
|
PUB.log.Add($"Step completed({PUB.sm.Step})");
|
|
|
|
//초기화가 완료되면 컨트롤 글자를 변경 해준다.
|
|
if (PUB.sm.Step == eSMStep.INIT)
|
|
SM_InitControl(null, null);
|
|
|
|
}
|
|
|
|
private void SM_StepStarted(object sender, EventArgs e)
|
|
{
|
|
switch (PUB.sm.Step)
|
|
{
|
|
case eSMStep.IDLE:
|
|
|
|
//IDLE의 시작작업이 완료되었다면 각 버튼을 사용할 수 있도록 한다
|
|
this.Invoke(new Action(() =>
|
|
{
|
|
btStart.Enabled = true;
|
|
btStop.Enabled = true;
|
|
btReset.Enabled = true;
|
|
}));
|
|
|
|
break;
|
|
}
|
|
|
|
}
|
|
|
|
private void SM_InitControl(object sender, EventArgs e)
|
|
{
|
|
//작업시작전 컨트롤 초기화 코드
|
|
var mc = PUB.Result.mModel;
|
|
var mv = PUB.Result.vModel;
|
|
|
|
this.Invoke(new Action(() =>
|
|
{
|
|
|
|
//진행 중 표시되는 상태값 초기화
|
|
lbCntRight.ProgressValue = 0;
|
|
lbCntRight.Text = "--";
|
|
lbCntLeft.Text = "--";
|
|
}));
|
|
|
|
}
|
|
|
|
|
|
|
|
void SM_Message(object sender, StateMachine.StateMachineMessageEventArgs e)
|
|
{
|
|
//상태머신에서 발생한 메세지
|
|
PUB.log.Add(e.Header, e.Message);
|
|
}
|
|
|
|
|
|
void SM_StepChanged(object sender, StateMachine.StepChangeEventArgs e)
|
|
{
|
|
var o = (eSMStep)e.Old;
|
|
var n = (eSMStep)e.New;
|
|
PUB.log.AddI($"Step transition({o} >> {n})");
|
|
|
|
//230313
|
|
//EEMStatus.AddStatusSQL(n);
|
|
}
|
|
|
|
}
|
|
}
|