Initial commit almost identical to SVN-repo rev.340
This commit is contained in:
@@ -0,0 +1,271 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
using System.Windows.Forms;
|
||||
using NHibernate;
|
||||
using log4net;
|
||||
using TBF.Entities;
|
||||
using TBF.UiBridge;
|
||||
|
||||
namespace TBF.UiControls
|
||||
{
|
||||
public partial class BenchControlPanel : UserControl
|
||||
{
|
||||
static readonly ILog log = LogManager.GetLogger(typeof(BenchControlPanel));
|
||||
|
||||
public string TestName;
|
||||
|
||||
// Original (enabled) colors of buttons and empty bench
|
||||
Color colorStopEn;
|
||||
Color colorTestsEn;
|
||||
Color colorCycleEn;
|
||||
Color colorPurgeEn;
|
||||
Color colorAcceptEn;
|
||||
Color colorEmptyEn;
|
||||
Color colorOtherEn;
|
||||
|
||||
Color colorBenchEmpty;
|
||||
|
||||
// Colors of disabled buttons
|
||||
Color colorStopDis;
|
||||
Color colorTestsDis;
|
||||
Color colorCycleDis;
|
||||
Color colorPurgeDis;
|
||||
Color colorAcceptDis;
|
||||
Color colorEmptyDis;
|
||||
Color colorOtherDis;
|
||||
|
||||
public BenchControlPanel()
|
||||
{
|
||||
InitializeComponent();
|
||||
|
||||
Bridge.ButtonsEtcHandler += delegate(object sender, ButtonsEtcEventArgs args)
|
||||
{
|
||||
if (InvokeRequired)
|
||||
{
|
||||
Invoke(new EventHandler<ButtonsEtcEventArgs>(OnButtonsEtc), sender, args);
|
||||
}
|
||||
else OnButtonsEtc(sender, args);
|
||||
};
|
||||
|
||||
Bridge.ProcedureSelectedHandler += delegate(object sender, ProcedureSelectedEventArgs args)
|
||||
{
|
||||
if (InvokeRequired)
|
||||
{
|
||||
Invoke(new EventHandler<ProcedureSelectedEventArgs>(OnProcedureSelected), sender, args);
|
||||
}
|
||||
else OnProcedureSelected(sender, args);
|
||||
};
|
||||
|
||||
Bridge.TestSelectedHandler += delegate(object sender, TestSelectedEventArgs args)
|
||||
{
|
||||
if (InvokeRequired)
|
||||
{
|
||||
Invoke(new EventHandler<TestSelectedEventArgs>(OnTestSelected), sender, args);
|
||||
}
|
||||
else OnTestSelected(sender, args);
|
||||
};
|
||||
|
||||
#if DEBUG
|
||||
nextButton.Visible = true;
|
||||
nextButton.Enabled = true;
|
||||
#endif
|
||||
}
|
||||
|
||||
int Lghtr(int component)
|
||||
{
|
||||
return 255 - (255 - component) / 2;
|
||||
}
|
||||
|
||||
private void BenchControlPanel_Load(object sender, EventArgs e)
|
||||
{
|
||||
// Original (enabled) colors of buttons
|
||||
colorStopEn = stopBtn.BackColor;
|
||||
colorTestsEn = startTestBtn.BackColor;
|
||||
colorCycleEn = startCycleBtn.BackColor;
|
||||
colorPurgeEn = purgeBeginBtn.BackColor;
|
||||
colorAcceptEn = acceptResultsBtn.BackColor;
|
||||
colorEmptyEn = emptyTank1Btn.BackColor;
|
||||
colorOtherEn = tryHeadsBtn.BackColor;
|
||||
colorBenchEmpty = emptyGroupBox.BackColor;
|
||||
|
||||
// Colors of disabled buttons
|
||||
colorStopDis = Color.FromArgb(Lghtr(colorStopEn.R), Lghtr(colorStopEn.G), Lghtr(colorStopEn.B));
|
||||
colorTestsDis = Color.FromArgb(Lghtr(colorTestsEn.R), Lghtr(colorTestsEn.G), Lghtr(colorTestsEn.B));
|
||||
colorCycleDis = Color.FromArgb(Lghtr(colorCycleEn.R), Lghtr(colorCycleEn.G), Lghtr(colorCycleEn.B));
|
||||
colorPurgeDis = Color.FromArgb(Lghtr(colorPurgeEn.R), Lghtr(colorPurgeEn.G), Lghtr(colorPurgeEn.B));
|
||||
colorAcceptDis = Color.FromArgb(Lghtr(colorAcceptEn.R), Lghtr(colorAcceptEn.G), Lghtr(colorAcceptEn.B));
|
||||
colorEmptyDis = Color.FromArgb(Lghtr(colorEmptyEn.R), Lghtr(colorEmptyEn.G), Lghtr(colorEmptyEn.B));
|
||||
colorOtherDis = Color.FromArgb(Lghtr(colorOtherEn.R), Lghtr(colorOtherEn.G), Lghtr(colorOtherEn.B));
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Read the database and re-initialize testComboBox items.
|
||||
/// Try to preserve the original selection.
|
||||
/// </summary>
|
||||
public void ReloadTests()
|
||||
{
|
||||
if (Program.MainWnd.ProcedureName == null) return;
|
||||
|
||||
string oriTestName = testComboBox.Text;
|
||||
|
||||
IList<Procedure> procedures = FluentCommon.CreateSession(Database.Procedures)
|
||||
.CreateQuery("FROM Procedure WHERE Name = :name")
|
||||
.SetParameter("name", Program.MainWnd.ProcedureName)
|
||||
.List<Procedure>();
|
||||
|
||||
if (procedures.Count != 1)
|
||||
{
|
||||
testComboBox.Text = string.Empty;
|
||||
TestName = null;
|
||||
Program.MainWnd.CurrentProcedure = null;
|
||||
return;
|
||||
}
|
||||
|
||||
Program.MainWnd.CurrentProcedure = procedures[0];
|
||||
|
||||
testComboBox.Items.Clear();
|
||||
foreach (var test in procedures[0].Tests) testComboBox.Items.Add(test.Name);
|
||||
|
||||
if (testComboBox.Items.Contains(oriTestName))
|
||||
{
|
||||
testComboBox.Text = oriTestName;
|
||||
TestName = oriTestName;
|
||||
}
|
||||
else if (procedures[0].Tests.Count > 0)
|
||||
{
|
||||
testComboBox.Text = procedures[0].Tests[0].Name;
|
||||
TestName = procedures[0].Tests[0].Name;
|
||||
}
|
||||
else
|
||||
{
|
||||
testComboBox.Text = string.Empty;
|
||||
TestName = null;
|
||||
}
|
||||
}
|
||||
|
||||
private void testComboBox_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
TestName = testComboBox.Text;
|
||||
startTestBtn.Select();
|
||||
}
|
||||
|
||||
|
||||
private void startTestBtn_Click(object sender, EventArgs e) { Bridge.Ui2Bench(UI2BenchCmd.StartTest); }
|
||||
private void startQ1Btn_Click(object sender, EventArgs e) { Bridge.Ui2Bench(UI2BenchCmd.StartQ1); }
|
||||
private void startQ2Btn_Click(object sender, EventArgs e) { Bridge.Ui2Bench(UI2BenchCmd.StartQ2); }
|
||||
private void startQ3Btn_Click(object sender, EventArgs e) { Bridge.Ui2Bench(UI2BenchCmd.StartQ3); }
|
||||
private void startCycleBtn_Click(object sender, EventArgs e) { Bridge.Ui2Bench(UI2BenchCmd.StartCycle); }
|
||||
private void stopBtn_Click(object sender, EventArgs e) { Bridge.Ui2Bench(UI2BenchCmd.Stop); }
|
||||
private void purgeBeginBtn_Click(object sender, EventArgs e) { Bridge.Ui2Bench(UI2BenchCmd.PurgeBegin); }
|
||||
private void purgeEndBtn_Click(object sender, EventArgs e) { Bridge.Ui2Bench(UI2BenchCmd.PurgeEnd); }
|
||||
private void emptyTank1Btn_Click(object sender, EventArgs e) { Bridge.Ui2Bench(UI2BenchCmd.EmptyTank1); }
|
||||
private void emptyTank2Btn_Click(object sender, EventArgs e) { Bridge.Ui2Bench(UI2BenchCmd.EmptyTank2); }
|
||||
private void tryHeadsBtn_Click(object sender, EventArgs e) { Bridge.Ui2Bench(UI2BenchCmd.TryOpticalHeads); }
|
||||
private void resetResultsBtn_Click(object sender, EventArgs e) { Bridge.Ui2Bench(UI2BenchCmd.ResetResults); }
|
||||
private void acceptResultsBtn_Click(object sender, EventArgs e) { Bridge.Ui2Bench(UI2BenchCmd.AcceptResults); }
|
||||
private void calibrationBtn_Click(object sender, EventArgs e) { Bridge.Ui2Bench(UI2BenchCmd.CameraTest); }
|
||||
private void sensitivityTestBtn_Click(object sender, EventArgs e){ Bridge.Ui2Bench(UI2BenchCmd.SensitivityTest); }
|
||||
private void button1_Click(object sender, EventArgs e) { Bridge.Ui2Bench(UI2BenchCmd.B1); }
|
||||
private void button2_Click(object sender, EventArgs e) { Bridge.Ui2Bench(UI2BenchCmd.B2); }
|
||||
private void nextButton_Click(object sender, EventArgs e) { Bridge.Ui2Bench(UI2BenchCmd.Next); }
|
||||
|
||||
/// <summary>
|
||||
/// Processes a pressed keys.
|
||||
/// </summary>
|
||||
/// <param name="key">key (char)</param>
|
||||
/// <returns>true when the key is handled, otherwise false</returns>
|
||||
public bool ProcessKey(char key)
|
||||
{
|
||||
switch (key)
|
||||
{
|
||||
case '0': if (stopBtn.Enabled) { Bridge.Ui2Bench(UI2BenchCmd.Stop); } return true;
|
||||
case '1': if (startQ1Btn.Enabled) { Bridge.Ui2Bench(UI2BenchCmd.StartQ1); } return true;
|
||||
case '2': if (startQ2Btn.Enabled) { Bridge.Ui2Bench(UI2BenchCmd.StartQ2); } return true;
|
||||
case '3': if (startQ3Btn.Enabled) { Bridge.Ui2Bench(UI2BenchCmd.StartQ3); } return true;
|
||||
case '4': if (startTestBtn.Enabled) { Bridge.Ui2Bench(UI2BenchCmd.StartTest); } return true;
|
||||
case '5': if (startCycleBtn.Enabled) { Bridge.Ui2Bench(UI2BenchCmd.StartCycle); } return true;
|
||||
case '6': if (purgeBeginBtn.Enabled) { Bridge.Ui2Bench(UI2BenchCmd.PurgeBegin); } return true;
|
||||
case '7': if (purgeEndBtn.Enabled) { Bridge.Ui2Bench(UI2BenchCmd.PurgeEnd); } return true;
|
||||
case '8': if (emptyTank1Btn.Enabled) { Bridge.Ui2Bench(UI2BenchCmd.EmptyTank1); } return true;
|
||||
case '9': if (emptyTank2Btn.Enabled) { Bridge.Ui2Bench(UI2BenchCmd.EmptyTank2); } return true;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public void OnProcedureSelected(object sender, ProcedureSelectedEventArgs args)
|
||||
{
|
||||
ReloadTests();
|
||||
}
|
||||
|
||||
public void OnTestSelected(object sender, TestSelectedEventArgs args)
|
||||
{
|
||||
testComboBox.Text = args.Test.Name;
|
||||
}
|
||||
|
||||
|
||||
public void OnButtonsEtc(object sender, ButtonsEtcEventArgs args)
|
||||
{
|
||||
if ((args.Flags & ButtonsEtc.ShowBenchEmpty) != 0)
|
||||
{
|
||||
purgeGroupBox.BackColor = colorBenchEmpty;
|
||||
return;
|
||||
}
|
||||
else if ((args.Flags & ButtonsEtc.ShowBenchFilled) != 0)
|
||||
{
|
||||
purgeGroupBox.BackColor = Color.RoyalBlue;
|
||||
return;
|
||||
}
|
||||
|
||||
testComboBox.Enabled = ((args.Flags & ButtonsEtc.TestCmbBoxEn) != 0);
|
||||
|
||||
stopBtn.Enabled = ((args.Flags & ButtonsEtc.StopBtnEn) != 0);
|
||||
stopBtn.BackColor = stopBtn.Enabled ? colorStopEn : colorStopDis;
|
||||
|
||||
startTestBtn.Enabled = ((args.Flags & ButtonsEtc.StartTestBtnsEn) != 0);
|
||||
startTestBtn.BackColor = startTestBtn.Enabled ? colorTestsEn : colorTestsDis;
|
||||
|
||||
startQ1Btn.Enabled = ((args.Flags & ButtonsEtc.StartTestBtnsEn) != 0);
|
||||
startQ1Btn.BackColor = startQ1Btn.Enabled ? colorTestsEn : colorTestsDis;
|
||||
|
||||
startQ2Btn.Enabled = ((args.Flags & ButtonsEtc.StartTestBtnsEn) != 0);
|
||||
startQ2Btn.BackColor = startQ2Btn.Enabled ? colorTestsEn : colorTestsDis;
|
||||
|
||||
startQ3Btn.Enabled = ((args.Flags & ButtonsEtc.StartTestBtnsEn) != 0);
|
||||
startQ3Btn.BackColor = startQ3Btn.Enabled ? colorTestsEn : colorTestsDis;
|
||||
|
||||
startCycleBtn.Enabled = ((args.Flags & ButtonsEtc.StartCycleBtnEn) != 0);
|
||||
startCycleBtn.BackColor = startCycleBtn.Enabled ? colorCycleEn : colorCycleDis;
|
||||
|
||||
purgeBeginBtn.Enabled = ((args.Flags & ButtonsEtc.PurgeBeginBtnEn) != 0);
|
||||
purgeBeginBtn.BackColor = purgeBeginBtn.Enabled ? colorPurgeEn : colorPurgeDis;
|
||||
|
||||
purgeEndBtn.Enabled = ((args.Flags & ButtonsEtc.PurgeEndBtnEn) != 0);
|
||||
purgeEndBtn.BackColor = purgeEndBtn.Enabled ? colorPurgeEn : colorPurgeDis;
|
||||
|
||||
emptyTank1Btn.Enabled = ((args.Flags & ButtonsEtc.EmptyTankBtnsEn) != 0);
|
||||
emptyTank1Btn.BackColor = emptyTank1Btn.Enabled ? colorEmptyEn : colorEmptyDis;
|
||||
|
||||
emptyTank2Btn.Enabled = ((args.Flags & ButtonsEtc.EmptyTankBtnsEn) != 0);
|
||||
emptyTank2Btn.BackColor = emptyTank2Btn.Enabled ? colorEmptyEn : colorEmptyDis;
|
||||
|
||||
resetResultsBtn.Enabled = ((args.Flags & ButtonsEtc.ResetResultsBtnEn) != 0);
|
||||
resetResultsBtn.BackColor = resetResultsBtn.Enabled ? colorStopEn : colorStopDis;
|
||||
|
||||
acceptResultsBtn.Enabled = ((args.Flags & ButtonsEtc.AcceptResultsBtnEn) != 0);
|
||||
acceptResultsBtn.BackColor = acceptResultsBtn.Enabled ? colorAcceptEn : colorAcceptDis;
|
||||
|
||||
tryHeadsBtn.Enabled = ((args.Flags & ButtonsEtc.TryOpticalHeadsBtnEn) != 0);
|
||||
tryHeadsBtn.BackColor = tryHeadsBtn.Enabled ? colorOtherEn : colorOtherDis;
|
||||
|
||||
calibrationBtn.Enabled = ((args.Flags & ButtonsEtc.CalibrationBtnEn) != 0);
|
||||
calibrationBtn.BackColor = calibrationBtn.Enabled ? colorOtherEn : colorOtherDis;
|
||||
|
||||
sensitivityTestBtn.Enabled = ((args.Flags & ButtonsEtc.SensitivityTestBtnEn) != 0);
|
||||
sensitivityTestBtn.BackColor = sensitivityTestBtn.Enabled ? colorOtherEn : colorOtherDis;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user