private void OnRadioGroupSelectedIndexChanged(NValueChangeEventArgs args)
        {
            if (m_Table == null)
            {
                return;
            }

            ENAdvancedGradientColorScheme[] predefinedGradientSchemes = NEnum.GetValues <ENAdvancedGradientColorScheme>();
            INIterator <NNode> iterator = m_Table.GetSubtreeIterator(ENTreeTraversalOrder.DepthFirstPreOrder, new NInstanceOfSchemaFilter(NCanvas.NCanvasSchema));

            int gradientVariant = (int)args.NewValue;
            int schemeIndex     = 0;

            while (iterator.MoveNext())
            {
                NCanvas canvas = (NCanvas)iterator.Current;
                canvas.Tag = NAdvancedGradientFill.Create(predefinedGradientSchemes[schemeIndex++], gradientVariant);
                canvas.InvalidateDisplay();
            }
        }
        protected override NWidget CreateExampleContent()
        {
            // Create a table panel to hold the canvases and the labels
            m_Table = new NTableFlowPanel();
            m_Table.HorizontalPlacement = ENHorizontalPlacement.Left;
            m_Table.VerticalPlacement   = ENVerticalPlacement.Top;
            m_Table.Padding             = new NMargins(30);
            m_Table.HorizontalSpacing   = 30;
            m_Table.VerticalSpacing     = 30;
            m_Table.MaxOrdinal          = 4;

            ENAdvancedGradientColorScheme[] predefinedGradientSchemes = NEnum.GetValues <ENAdvancedGradientColorScheme>();

            for (int i = 0; i < predefinedGradientSchemes.Length; i++)
            {
                NStackPanel stack = new NStackPanel();
                m_Table.Add(stack);
                stack.Direction = ENHVDirection.TopToBottom;
                stack.FillMode  = ENStackFillMode.First;
                stack.FitMode   = ENStackFitMode.First;

                // Create a widget with the proper filling
                NCanvas canvas = new NCanvas();
                canvas.PreferredSize = new NSize(defaultCanvasWidth, defaultCanvasHeight);
                canvas.Tag           = NAdvancedGradientFill.Create(predefinedGradientSchemes[i], 0);
                stack.Add(canvas);
                canvas.PrePaint += new Function <NCanvasPaintEventArgs>(OnCanvasPrePaint);

                // Create a label with the corresponding name
                NLabel label = new NLabel(predefinedGradientSchemes[i].ToString());
                stack.Add(label);
                label.HorizontalPlacement = ENHorizontalPlacement.Center;
            }

            // The table must be scrollable
            NScrollContent scroll = new NScrollContent();

            scroll.Content = m_Table;
            return(scroll);
        }
Exemple #3
0
        protected override NWidget CreateExampleContent()
        {
            // Create a table panel to hold the canvases and the labels
            m_Table = new NTableFlowPanel();
            m_Table.HorizontalPlacement = ENHorizontalPlacement.Left;
            m_Table.VerticalPlacement   = ENVerticalPlacement.Top;
            m_Table.Padding             = new NMargins(30);
            m_Table.HorizontalSpacing   = 30;
            m_Table.VerticalSpacing     = 30;
            m_Table.MaxOrdinal          = 3;

            string[] texts = new string[]
            {
                "Azure",
                "Flow",
                "Bulb",
                "Eclipse",
                "The Eye",
                "Medusa",
                "Kaleidoscope",
                "Reactor",
                "Green"
            };

            // Create the advanced gradients
            NAdvancedGradientFill[] fills = new NAdvancedGradientFill[]
            {
                AzureLight,
                Flow,
                Bulb,
                Eclipse,
                TheEye,
                Medusa,
                Kaleidoscope,
                Reactor,
                Green
            };

            // Add a canvas for each demonstrated gradient
            for (int i = 0; i < fills.Length; i++)
            {
                NStackPanel stack = new NStackPanel();
                m_Table.Add(stack);
                stack.Direction = ENHVDirection.TopToBottom;
                stack.FillMode  = ENStackFillMode.First;
                stack.FitMode   = ENStackFitMode.First;

                // Create a widget with the proper filling
                NCanvas canvas = new NCanvas();
                canvas.PreferredSize = new NSize(defaultCanvasWidth, defaultCanvasHeight);
                canvas.Tag           = fills[i];
                stack.Add(canvas);
                canvas.PrePaint += new Function <NCanvasPaintEventArgs>(OnCanvasPrePaint);

                // Create a label with the corresponding name
                NLabel label = new NLabel(texts[i]);
                stack.Add(label);
                label.HorizontalPlacement = ENHorizontalPlacement.Center;
            }

            // The table must be scrollable
            NScrollContent scroll = new NScrollContent();

            scroll.Content = m_Table;
            return(scroll);
        }
Exemple #4
0
        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        protected override NWidget CreateExampleContent()
        {
            NStackPanel stack = new NStackPanel();

            NStackPanel controlStack = new NStackPanel();

            controlStack.Direction = ENHVDirection.LeftToRight;
            stack.Add(controlStack);

            m_LinearGauge                 = new NLinearGauge();
            m_LinearGauge.Orientation     = ENLinearGaugeOrientation.Vertical;
            m_LinearGauge.PreferredSize   = defaultLinearVerticalGaugeSize;
            m_LinearGauge.CapEffect       = new NGelCapEffect();
            m_LinearGauge.Border          = base.CreateBorder();
            m_LinearGauge.Padding         = new NMargins(20);
            m_LinearGauge.BorderThickness = new NMargins(6);
            controlStack.Add(m_LinearGauge);

            // create the background panel
            NAdvancedGradientFill advGradient = new NAdvancedGradientFill();

            advGradient.BackgroundColor = NColor.Black;
            advGradient.Points.Add(new NAdvancedGradientPoint(NColor.LightGray, new NAngle(10, NUnit.Degree), 0.1f, 0, 1.0f, ENAdvancedGradientPointShape.Circle));
            m_LinearGauge.BackgroundFill = advGradient;

            m_LinearGauge.Axes.Clear();
            NGaugeAxis axis = new NGaugeAxis();

            m_LinearGauge.Axes.Add(axis);
            axis.Anchor = new NModelGaugeAxisAnchor(24.0, ENVerticalAlignment.Center, ENScaleOrientation.Left);

            ConfigureScale((NLinearScale)axis.Scale);

            // add some indicators
            m_LinearGauge.Indicators.Add(new NMarkerValueIndicator(60));

            // create the radial gauge
            m_RadialGauge = new NRadialGauge();
            controlStack.Add(m_RadialGauge);

            m_RadialGauge.CapEffect = new NGlassCapEffect();
            m_RadialGauge.Dial      = new NDial(ENDialShape.Circle, new NEdgeDialRim());

            // set some background
            advGradient = new NAdvancedGradientFill();
            advGradient.BackgroundColor = NColor.Black;
            advGradient.Points.Add(new NAdvancedGradientPoint(NColor.LightGray, new NAngle(10, NUnit.Degree), 0.1f, 0, 1.0f, ENAdvancedGradientPointShape.Circle));
            m_RadialGauge.Dial.BackgroundFill = advGradient;
            m_RadialGauge.CapEffect           = new NGlassCapEffect(ENCapEffectShape.Ellipse);

            // create the radial gauge
            m_RadialGauge.SweepAngle = new NAngle(270, NUnit.Degree);
            m_RadialGauge.BeginAngle = new NAngle(-90, NUnit.Degree);

            // FIX remove
            axis.Scale.Title.Text = "Axis Title";

            NStandardScale scale = axis.Scale as NStandardScale;

            scale.MajorTickMode   = ENMajorTickMode.AutoMinDistance;
            scale.MinTickDistance = 50;

            // configure the axis
            m_RadialGauge.Axes.Clear();
            axis       = new NGaugeAxis();
            axis.Range = new NRange(0, 100);
            axis.Anchor.ScaleOrientation = ENScaleOrientation.Right;
            axis.Anchor = new NDockGaugeAxisAnchor(ENGaugeAxisDockZone.Top, true, ENScaleOrientation.Right, 0, 100);
            m_RadialGauge.Axes.Add(axis);

            ConfigureScale((NLinearScale)axis.Scale);

            // add some indicators
            NNeedleValueIndicator needle = new NNeedleValueIndicator(60);

            needle.OffsetOriginMode = ENIndicatorOffsetOriginMode.ScaleMiddle;
            needle.OffsetFromScale  = 15;
            m_RadialGauge.Indicators.Add(needle);

            return(stack);
        }
Exemple #5
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);
        }