Пример #1
0
        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);
        }
Пример #2
0
        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);
        }
Пример #4
0
        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);
        }