private NNumericLedDisplay CreateNumericLedDisplay() { NNumericLedDisplay numericLedDisplay = new NNumericLedDisplay(); numericLedDisplay.Value = 0.0; numericLedDisplay.CellCountMode = ENDisplayCellCountMode.Fixed; numericLedDisplay.CellCount = 7; numericLedDisplay.BackgroundFill = new NColorFill(NColor.Black); numericLedDisplay.Border = NBorder.CreateSunken3DBorder(new NUIThemeColorMap(ENUIThemeScheme.WindowsClassic)); numericLedDisplay.BorderThickness = new NMargins(6); numericLedDisplay.Margins = new NMargins(5); numericLedDisplay.Padding = new NMargins(5); numericLedDisplay.CapEffect = new NGelCapEffect(); return(numericLedDisplay); }
void OnCellSizeComboBoxSelectedIndexChanged(NValueChangeEventArgs arg) { double segmentWidth = 0.0; double segmentGap = 0.0; NSize cellSize = new NSize(0.0, 0.0); switch (m_CellSizeComboBox.SelectedIndex) { case 0: // small segmentWidth = 2.0; segmentGap = 1.0; cellSize = new NSize(15, 30); break; case 1: // normal segmentWidth = 3; segmentGap = 1; cellSize = new NSize(20, 40); break; case 2: // large segmentWidth = 4; segmentGap = 2; cellSize = new NSize(26, 52); break; } NNumericLedDisplay[] displays = new NNumericLedDisplay[] { m_NumericDisplay1, m_NumericDisplay2, m_NumericDisplay3 }; for (int i = 0; i < displays.Length; i++) { NNumericLedDisplay display = displays[i]; display.CellSize = cellSize; display.SegmentGap = segmentGap; display.SegmentWidth = segmentWidth; display.DecimalCellSize = cellSize; display.DecimalSegmentGap = segmentGap; display.DecimalSegmentWidth = segmentWidth; } }
protected override NWidget CreateExampleContent() { NStackPanel stack = new NStackPanel(); stack.HorizontalPlacement = Layout.ENHorizontalPlacement.Left; NStackPanel controlStack = new NStackPanel(); stack.Add(controlStack); // create the radial gauge m_RadialGauge = new NRadialGauge(); m_RadialGauge.SweepAngle = new NAngle(270, NUnit.Degree); m_RadialGauge.BeginAngle = new NAngle(-225, NUnit.Degree); m_RadialGauge.PreferredSize = defaultRadialGaugeSize; m_RadialGauge.CapEffect = new NGlassCapEffect(); m_RadialGauge.Dial = new NDial(ENDialShape.CutCircle, new NEdgeDialRim()); m_RadialGauge.Dial.BackgroundFill = new NStockGradientFill(NColor.DarkGray, NColor.Black); // configure scale NGaugeAxis axis = new NGaugeAxis(); m_RadialGauge.Axes.Add(axis); NLinearScale scale = (NLinearScale)axis.Scale; scale.SetPredefinedScale(ENPredefinedScaleStyle.Presentation); scale.Labels.Style.TextStyle.Font = new NFont("Arimo", 10, ENFontStyle.Bold); scale.Labels.Style.TextStyle.Fill = new NColorFill(NColor.White); scale.Labels.Style.Angle = new NScaleLabelAngle(ENScaleLabelAngleMode.Scale, 90.0); scale.MinorTickCount = 4; scale.Ruler.Stroke.Width = 0; scale.Ruler.Fill = new NColorFill(NColor.DarkGray); // add radial gauge indicators m_ValueIndicator = new NNeedleValueIndicator(); m_ValueIndicator.Fill = new NStockGradientFill(ENGradientStyle.Horizontal, ENGradientVariant.Variant1, NColor.White, NColor.Red); m_ValueIndicator.Stroke.Color = NColor.Red; m_ValueIndicator.Width = 15; m_ValueIndicator.OffsetFromScale = -10; m_RadialGauge.Indicators.Add(m_ValueIndicator); NStackPanel verticalStack = new NStackPanel(); verticalStack.Direction = Layout.ENHVDirection.TopToBottom; verticalStack.Padding = new NMargins(80, 200, 80, 0); m_NumericLedDisplay = new NNumericLedDisplay(); m_NumericLedDisplay.Value = 0.0; m_NumericLedDisplay.CellCountMode = ENDisplayCellCountMode.Fixed; m_NumericLedDisplay.CellCount = 7; m_NumericLedDisplay.BackgroundFill = new NColorFill(NColor.Black); m_NumericLedDisplay.Border = NBorder.CreateSunken3DBorder(new NUIThemeColorMap(ENUIThemeScheme.WindowsClassic)); m_NumericLedDisplay.BorderThickness = new NMargins(6); m_NumericLedDisplay.Margins = new NMargins(5); m_NumericLedDisplay.Padding = new NMargins(5); NGelCapEffect gelCap = new NGelCapEffect(); gelCap.Shape = ENCapEffectShape.RoundedRect; m_NumericLedDisplay.CapEffect = gelCap; m_NumericLedDisplay.PreferredHeight = 60; verticalStack.Add(m_NumericLedDisplay); m_RadialGauge.Content = verticalStack; // add radial gauge controlStack.Add(m_RadialGauge); m_DataFeedTimer = new NTimer(); m_DataFeedTimer.Tick += new Function(OnDataFeedTimerTick); m_DataFeedTimer.Start(); return(stack); }
protected override NWidget CreateExampleContent() { NStackPanel stack = new NStackPanel(); stack.HorizontalPlacement = Layout.ENHorizontalPlacement.Left; NStackPanel controlStack = new NStackPanel(); stack.Add(controlStack); // create the radial gauge m_RadialGauge = new NRadialGauge(); // radialGauge.PreferredSize = new NSize(0, 50); // radialGauge.ContentAlignment = ContentAlignment.MiddleCenter; m_RadialGauge.SweepAngle = new NAngle(270, NUnit.Degree); m_RadialGauge.BeginAngle = new NAngle(-225, NUnit.Degree); m_RadialGauge.NeedleCap.Visible = false; m_RadialGauge.PreferredSize = defaultRadialGaugeSize; // configure scale NGaugeAxis axis = new NGaugeAxis(); m_RadialGauge.Axes.Add(axis); NStandardScale scale = (NStandardScale)axis.Scale; scale.SetPredefinedScale(ENPredefinedScaleStyle.PresentationNoStroke); scale.Labels.Style.TextStyle.Font = new NFont("Arimo", 12.0, ENFontStyle.Italic); scale.Labels.Style.TextStyle.Fill = new NColorFill(NColor.Black); scale.Labels.Style.Angle = new NScaleLabelAngle(ENScaleLabelAngleMode.Scale, 0.0); scale.MinorTickCount = 4; scale.Ruler.Stroke.Width = 0; scale.Ruler.Fill = new NColorFill(NColor.DarkGray); // create the knob indicator m_KnobIndicator = new NKnobIndicator(); m_KnobIndicator.OffsetFromScale = -3; m_KnobIndicator.AllowDragging = true; // apply fill style to the marker NAdvancedGradientFill advancedGradientFill = new NAdvancedGradientFill(); advancedGradientFill.BackgroundColor = NColor.Red; advancedGradientFill.Points.Add(new NAdvancedGradientPoint(NColor.White, new NAngle(20, NUnit.Degree), 20, 0, 100, ENAdvancedGradientPointShape.Circle)); m_KnobIndicator.Fill = advancedGradientFill; m_KnobIndicator.ValueChanged += new Function <NValueChangeEventArgs>(OnKnobValueChanged); m_RadialGauge.Indicators.Add(m_KnobIndicator); // create the numeric display m_NumericDisplay = new NNumericLedDisplay(); m_NumericDisplay.PreferredSize = new NSize(0, 60); m_NumericDisplay.BackgroundFill = new NColorFill(NColor.Black); m_NumericDisplay.Border = NBorder.CreateSunken3DBorder(new NUIThemeColorMap(ENUIThemeScheme.WindowsClassic)); m_NumericDisplay.BorderThickness = new NMargins(6); m_NumericDisplay.ContentAlignment = ENContentAlignment.MiddleCenter; m_NumericDisplay.Margins = new NMargins(5); m_NumericDisplay.Padding = new NMargins(5); m_NumericDisplay.CapEffect = new NGelCapEffect(); controlStack.Add(m_RadialGauge); controlStack.Add(m_NumericDisplay); return(stack); }