public void DisplayBuild() { mLEDDisplays = new LBSoft.IndustrialCtrls.Leds.LB7SegmentDisplay[2, 4]; int iSegmentIDX; for (iSegmentIDX = 0; iSegmentIDX < 4; iSegmentIDX++) { mLEDDisplays[0, iSegmentIDX] = new LBSoft.IndustrialCtrls.Leds.LB7SegmentDisplay(); mLEDDisplays[1, iSegmentIDX] = new LBSoft.IndustrialCtrls.Leds.LB7SegmentDisplay(); mLEDDisplays[0, iSegmentIDX].Text = "0"; mLEDDisplays[0, iSegmentIDX].Left = 80 + 20 * iSegmentIDX; mLEDDisplays[0, iSegmentIDX].Top = 0; mLEDDisplays[0, iSegmentIDX].Width = 20; mLEDDisplays[0, iSegmentIDX].Height = 40; mLEDDisplays[0, iSegmentIDX].BackColor = Color.FromArgb(255, 32, 32, 32); mLEDDisplays[0, iSegmentIDX].ForeColor = Color.OrangeRed; mLEDDisplays[1, iSegmentIDX].Text = "0"; mLEDDisplays[1, iSegmentIDX].Left = 240 + 20 * iSegmentIDX; mLEDDisplays[1, iSegmentIDX].Top = 0; mLEDDisplays[1, iSegmentIDX].Width = 20; mLEDDisplays[1, iSegmentIDX].Height = 40; mLEDDisplays[1, iSegmentIDX].BackColor = Color.FromArgb(255, 32, 32, 32); mLEDDisplays[1, iSegmentIDX].ForeColor = Color.OrangeRed; this.Controls.Add(mLEDDisplays[0, iSegmentIDX]); this.Controls.Add(mLEDDisplays[1, iSegmentIDX]); } mLEDLabels = new Label[2]; mLEDLabels[0] = new Label(); mLEDLabels[0].Width = 80; mLEDLabels[0].Left = 0; mLEDLabels[0].BackColor = Color.FromArgb(255, 32, 32, 32); mLEDLabels[0].ForeColor = Color.OrangeRed; mLEDLabels[0].Font = new Font(mLEDLabels[0].Font.FontFamily, 10); mLEDLabels[0].TextAlign = ContentAlignment.TopRight; mLEDLabels[1] = new Label(); mLEDLabels[1].Width = 80; mLEDLabels[1].Left = 160; mLEDLabels[1].BackColor = Color.FromArgb(255, 32, 32, 32); mLEDLabels[1].ForeColor = Color.OrangeRed; mLEDLabels[1].Font = new Font(mLEDLabels[0].Font.FontFamily, 10); mLEDLabels[1].TextAlign = ContentAlignment.TopRight; this.Controls.Add(mLEDLabels[0]); this.Controls.Add(mLEDLabels[1]); }
public void SetWindowView(bool boSetup) { int iMeasureIDX = 0; int iElementIDX; int iVerticalElementCount = 0; int iMaxSegments = 0; tstActiveMeasureIndices stActiveMeasureIndices; mboSuspendUpdates = true; RemoveControls(); maclsWindowElement = new tclsWindowElement[Program.mAPP_clsXMLConfig.mailstWindowLists[miFormIDX].Count]; Program.mAPP_clsXMLConfig.mailstWindowLists[miFormIDX].CopyTo(maclsWindowElement, 0); mlstSegCount.Clear(); mlstPreDPCount.Clear(); /* Count number of elements assigned to this window */ for (iElementIDX = 0; iElementIDX < maclsWindowElement.Length; iElementIDX++) { if (0 == String.Compare(maclsWindowElement[iElementIDX].szElementType, "measure")) { if (-1 != tclsASAM.iGetAvailableMeasIndex(maclsWindowElement[iElementIDX].szA2LName)) { if (true == boSetup) { stActiveMeasureIndices = tclsASAM.stTryAddActiveMeas(maclsWindowElement[iElementIDX].szA2LName, miFormIDX); maastActiveMeasureIndices[miFormIDX, iMeasureIDX].iMeasureQueue = stActiveMeasureIndices.iMeasureQueue; maastActiveMeasureIndices[miFormIDX, iMeasureIDX].iMeasureQueueIDX = stActiveMeasureIndices.iMeasureQueueIDX; maaiMeasCompuMethodIndices[miFormIDX, iMeasureIDX] = tclsASAM.iGetCompuMethodIndexFromMeas(maclsWindowElement[iElementIDX].szA2LName, miFormIDX); } int iCompuMethodIDX = tclsASAM.iGetCompuMethodIndexFromMeas(maclsWindowElement[iElementIDX].szA2LName, miFormIDX); int iSegments = tclsASAM.milstCompuMethodList[iCompuMethodIDX].iPostDPCount + tclsASAM.milstCompuMethodList[iCompuMethodIDX].iPreDPCount; iMaxSegments = iMaxSegments < iSegments ? iSegments : iMaxSegments; mlstSegCount.Add(iSegments); mlstPreDPCount.Add(tclsASAM.milstCompuMethodList[iCompuMethodIDX].iPreDPCount); iMeasureIDX++; } else { Program.vNotifyProgramEvent(tenProgramEvent.enProgramError, 0, "Layout measure element " + maclsWindowElement[iElementIDX].szA2LName + " not found in ASAM database, this element will not be shown"); } } } maaclsDigitalMeter = new LBSoft.IndustrialCtrls.Leds.LB7SegmentDisplay[iMeasureIDX, iMaxSegments]; maclsMeasureLabel = new Label[iMeasureIDX]; iMeasureIDX = 0; /* Loop through and create visual controls required */ for (iElementIDX = 0; iElementIDX < maclsWindowElement.Length; iElementIDX++) { if (0 == String.Compare(maclsWindowElement[iElementIDX].szElementType, "measure")) { int iSegmentIDX; if (-1 != tclsASAM.iGetAvailableMeasIndex(maclsWindowElement[iElementIDX].szA2LName)) { for (iSegmentIDX = 0; iSegmentIDX < mlstSegCount[iMeasureIDX]; iSegmentIDX++) { maaclsDigitalMeter[iMeasureIDX, iSegmentIDX] = new LBSoft.IndustrialCtrls.Leds.LB7SegmentDisplay(); if ((iSegmentIDX == (mlstPreDPCount[iMeasureIDX] - 1)) && (mlstPreDPCount[iMeasureIDX] != mlstSegCount[iMeasureIDX])) { maaclsDigitalMeter[iMeasureIDX, iSegmentIDX].ShowDP = true; } maaclsDigitalMeter[iMeasureIDX, iSegmentIDX].Text = iSegmentIDX.ToString(); maaclsDigitalMeter[iMeasureIDX, iSegmentIDX].Left = 100 + 25 * iSegmentIDX; maaclsDigitalMeter[iMeasureIDX, iSegmentIDX].Top = 40 + 25 * iMeasureIDX; maaclsDigitalMeter[iMeasureIDX, iSegmentIDX].Width = 70; maaclsDigitalMeter[iMeasureIDX, iSegmentIDX].BackColor = Color.FromArgb(255, 255, 255, 200); maaclsDigitalMeter[iMeasureIDX, iSegmentIDX].BackColor = Color.FromArgb(255, 32, 32, 32); maaclsDigitalMeter[iMeasureIDX, iSegmentIDX].ForeColor = Color.OrangeRed; this.Controls.Add(maaclsDigitalMeter[iMeasureIDX, iSegmentIDX]); } maclsMeasureLabel[iMeasureIDX] = new Label(); maclsMeasureLabel[iMeasureIDX].AutoSize = false; maclsMeasureLabel[iMeasureIDX].TextAlign = ContentAlignment.MiddleRight; maclsMeasureLabel[iMeasureIDX].Text = maclsWindowElement[iElementIDX].szLabel; maclsMeasureLabel[iMeasureIDX].Left = 20; maclsMeasureLabel[iMeasureIDX].Top = 40 + 25 * iMeasureIDX; maclsMeasureLabel[iMeasureIDX].Width = 120; maclsMeasureLabel[iMeasureIDX].BackColor = Color.FromArgb(255, 32, 32, 32); maclsMeasureLabel[iMeasureIDX].ForeColor = Color.OrangeRed; this.Controls.Add(maclsMeasureLabel[iMeasureIDX]); iMeasureIDX++; } } if (0 == String.Compare(maclsWindowElement[iElementIDX].szElementType, "window")) { this.Text = ConstantData.APPCONFIG.szAppName + ":" + maclsWindowElement[iElementIDX].szLabel; } } iVerticalElementCount = iMeasureIDX; if (this.Height < 80 + 25 * iVerticalElementCount) { this.Height = 80 + 25 * iVerticalElementCount; } if ((true == boSetup) && (0 < iMeasureIDX)) { tclsASAM.vCalcDDDIAndSetRate(miFormIDX, 500); } //else //{ this.OnResize(EventArgs.Empty); //} mboSuspendUpdates = false; }
public void SetWindowView(bool boSetup) { int iMeasureIDX = 0; int iElementIDX; int iVerticalElementCount = 0; int iMaxSegments = 0; tstActiveMeasureIndices stActiveMeasureIndices; mboSuspendUpdates = true; maclsWindowElement = new tclsWindowElement[Program.mAPP_clsXMLConfig.mailstWindowLists[miFormIDX].Count]; Program.mAPP_clsXMLConfig.mailstWindowLists[miFormIDX].CopyTo(maclsWindowElement, 0); mlstSegCount.Clear(); mlstPreDPCount.Clear(); /* Count number of elements assigned to this window */ for (iElementIDX = 0; iElementIDX < maclsWindowElement.Length; iElementIDX++) { if (0 == String.Compare(maclsWindowElement[iElementIDX].szElementType, "measure")) { if (true == boSetup) { stActiveMeasureIndices = tclsASAM.stTryAddActiveMeas(maclsWindowElement[iElementIDX].szA2LName, miFormIDX); maastActiveMeasureIndices[miFormIDX, iMeasureIDX].iMeasureQueue = stActiveMeasureIndices.iMeasureQueue; maastActiveMeasureIndices[miFormIDX, iMeasureIDX].iMeasureQueueIDX = stActiveMeasureIndices.iMeasureQueueIDX; maaiMeasCompuMethodIndices[miFormIDX, iMeasureIDX] = tclsASAM.iGetCompuMethodIndexFromMeas(maclsWindowElement[iElementIDX].szA2LName, miFormIDX); } int iCompuMethodIDX = tclsASAM.iGetCompuMethodIndexFromMeas(maclsWindowElement[iElementIDX].szA2LName, miFormIDX); int iSegments = tclsASAM.milstCompuMethodList[iCompuMethodIDX].iPostDPCount + tclsASAM.milstCompuMethodList[iCompuMethodIDX].iPreDPCount; iMaxSegments = iMaxSegments < iSegments ? iSegments : iMaxSegments; mlstSegCount.Add(iSegments); mlstPreDPCount.Add(tclsASAM.milstCompuMethodList[iCompuMethodIDX].iPreDPCount); iMeasureIDX++; } } maaclsDigitalMeter = new LBSoft.IndustrialCtrls.Leds.LB7SegmentDisplay[iMeasureIDX, iMaxSegments]; maclsMeasureLabel = new Label[iMeasureIDX]; iMeasureIDX = 0; /* Loop through and create visual controls required */ for (iElementIDX = 0; iElementIDX < maclsWindowElement.Length; iElementIDX++) { if (0 == String.Compare(maclsWindowElement[iElementIDX].szElementType, "measure")) { int iSegmentIDX; for (iSegmentIDX = 0; iSegmentIDX < mlstSegCount[iMeasureIDX]; iSegmentIDX++) { maaclsDigitalMeter[iMeasureIDX, iSegmentIDX] = new LBSoft.IndustrialCtrls.Leds.LB7SegmentDisplay(); if ((iSegmentIDX == (mlstPreDPCount[iMeasureIDX] - 1)) && (mlstPreDPCount[iMeasureIDX] != mlstSegCount[iMeasureIDX])) { maaclsDigitalMeter[iMeasureIDX, iSegmentIDX].ShowDP = true; } maaclsDigitalMeter[iMeasureIDX, iSegmentIDX].Text = iSegmentIDX.ToString(); maaclsDigitalMeter[iMeasureIDX, iSegmentIDX].Left = 550 + 50 * iSegmentIDX; maaclsDigitalMeter[iMeasureIDX, iSegmentIDX].Top = 40 + 65 * iMeasureIDX; maaclsDigitalMeter[iMeasureIDX, iSegmentIDX].Width = 50; maaclsDigitalMeter[iMeasureIDX, iSegmentIDX].BackColor = Color.FromArgb(255, 255, 255, 200); maaclsDigitalMeter[iMeasureIDX, iSegmentIDX].BackColor = Color.FromArgb(255, 32, 32, 32); maaclsDigitalMeter[iMeasureIDX, iSegmentIDX].ForeColor = Color.OrangeRed; this.Controls.Add(maaclsDigitalMeter[iMeasureIDX, iSegmentIDX]); } maclsMeasureLabel[iMeasureIDX] = new Label(); maclsMeasureLabel[iMeasureIDX].AutoSize = false; maclsMeasureLabel[iMeasureIDX].TextAlign = ContentAlignment.MiddleRight; maclsMeasureLabel[iMeasureIDX].Text = maclsWindowElement[iElementIDX].szLabel; maclsMeasureLabel[iMeasureIDX].Left = 330; maclsMeasureLabel[iMeasureIDX].Top = 40 + 65 * iMeasureIDX; maclsMeasureLabel[iMeasureIDX].Width = 220; maclsMeasureLabel[iMeasureIDX].Height = 50; maclsMeasureLabel[iMeasureIDX].BackColor = Color.FromArgb(255, 32, 32, 32); maclsMeasureLabel[iMeasureIDX].ForeColor = Color.OrangeRed; maclsMeasureLabel[iMeasureIDX].Font = new Font("Arial", 18, FontStyle.Regular); this.Controls.Add(maclsMeasureLabel[iMeasureIDX]); iMeasureIDX++; } if (0 == String.Compare(maclsWindowElement[iElementIDX].szElementType, "window")) { this.Text = ConstantData.APPCONFIG.szAppName + ":" + maclsWindowElement[iElementIDX].szLabel; } if (true == boSetup) { SetDSGGraphic(0); } } iVerticalElementCount = iMeasureIDX; if (this.Height < 80 + 25 * iVerticalElementCount) { this.Height = 80 + 25 * iVerticalElementCount; } if ((true == boSetup) && (0 < iMeasureIDX)) { tclsASAM.vCalcDDDIAndSetRate(miFormIDX, 500); } mboSuspendUpdates = false; }