コード例 #1
0
        public override void SetToolTip()
        {
            wLabel   L = DataGrid.Sets[0].Points[0].ToolTip;
            wGraphic G = L.Graphics;
            wFont    F = G.FontObject;

            DefaultTooltip Tip = (DefaultTooltip)Element.DataTooltip;

            Tip.SelectionMode = TooltipSelectionMode.OnlySender;

            if (L.Enabled)
            {
                Tip.BulletSize = 0;

                Tip.ShowSeries = false;
                Tip.Background = G.GetBackgroundBrush();
                Tip.Foreground = F.GetFontBrush();

                Tip.BorderBrush     = G.GetStrokeBrush();
                Tip.BorderThickness = G.GetStroke();

                Tip.FontFamily = F.ToMediaFont().Family;
                Tip.FontSize   = F.Size;
                Tip.FontStyle  = F.ToMediaFont().Italic;
                Tip.FontWeight = F.ToMediaFont().Bold;
            }

            Element.DataTooltip = Tip;
        }
コード例 #2
0
ファイル: FontSets.cs プロジェクト: pm-Architect/Aviary
        /// <summary>
        /// This is the method that actually does the work.
        /// </summary>
        /// <param name="DA">The DA object is used to retrieve from inputs and store in outputs.</param>
        protected override void SolveInstance(IGH_DataAccess DA)
        {
            int Index = 0;

            if (!DA.GetData(0, ref Index))
            {
                return;
            }

            SelectedFont = FontSet[Index];

            wGraphic G = new wGraphic();

            G.FontObject = SelectedFont;

            DA.SetData(0, SelectedFont.Name);
            DA.SetData(1, SelectedFont.Size);
            DA.SetData(2, SelectedFont.FontColor.ToDrawingColor());
            DA.SetDataList(3, new List <bool> {
                SelectedFont.IsBold, SelectedFont.IsItalic, SelectedFont.IsUnderlined
            });

            DA.SetData(4, SelectedFont);
            DA.SetData(5, G);

            UpdateMessage();
        }
コード例 #3
0
ファイル: pRadialChart.cs プロジェクト: pm-Architect/Aviary
        public PieSeries SetSequenceProperties(DataPt Pt, PieSeries Sequence)
        {
            wGraphic G = Pt.Graphics;
            wFont    F = G.FontObject;

            Sequence.PointGeometry = GetGeometry((int)Pt.Marker.Mode);

            Sequence.DataLabels = true;
            Sequence.LabelPoint = point => string.Format("{0:" + Pt.Label.Format + "}", point.Y);

            Sequence.Fill = G.GetBackgroundBrush();

            Sequence.Foreground = F.GetFontBrush();
            Sequence.FontSize   = F.Size;
            Sequence.FontStyle  = F.ToMediaFont().Italic;
            Sequence.FontWeight = F.ToMediaFont().Bold;

            Sequence.StrokeThickness = G.StrokeWeight[0];
            Sequence.Stroke          = G.GetStrokeBrush();
            Sequence.StrokeDashArray = new DoubleCollection(G.StrokePattern);

            Sequence.PointGeometry = GetGeometry((int)Pt.Marker.Mode);
            if (Pt.Label.Alignment == 0)
            {
                Sequence.LabelPosition = PieLabelPosition.OutsideSlice;
            }
            else
            {
                Sequence.LabelPosition = PieLabelPosition.InsideSlice;
            }

            return(Sequence);
        }
コード例 #4
0
 public void SetDefaultFonts(wFont CustomFont)
 {
     for (int i = 0; i < Sets.Count; i++)
     {
         for (int j = 0; j < Sets[i].Points.Count; j++)
         {
             Sets[i].Points[j].Graphics.FontObject = CustomFont;
         }
     }
 }
コード例 #5
0
        public void Clear()
        {
            Shapes.Clear();

            Graphics = new wGraphic();
            Effects  = new wEffects();
            Fonts    = new wFont();

            Boundary = new wRectangle();
        }
コード例 #6
0
        public hText(wTextObject WindText, wFont WindFont)
        {
            Text   = WindText.Text.Text;
            Font   = WindFont;
            Origin = WindText.Plane.Origin;
            Angle  = WindText.Angle;

            HorizontalAlignment = (hAlign)(int)Font.HorizontalAlignment;
            VerticalAlignment   = (vAlign)(int)Font.VerticalAlignment;
            FontItalic          = (fStyle)Convert.ToInt32(WindFont.IsItalic);
            FontBold            = (fWeight)Convert.ToInt32(WindFont.IsBold);
        }
コード例 #7
0
        public LiveCharts.Wpf.Series SetSequenceProperties(DataPt Pt, LiveCharts.Wpf.Series Sequence)
        {
            wGraphic G = Pt.Graphics;
            wFont    F = G.FontObject;

            Sequence.DataLabels = Pt.Label.Enabled;
            switch (ChartType)
            {
            default:
                Sequence.LabelPoint = point => string.Format("{0:" + Pt.Label.Format + "}", point.Y);
                break;

            case SeriesChartType.BarAdjacent:
            case SeriesChartType.BarStack:
            case SeriesChartType.BarStack100:
                Sequence.LabelPoint = point => string.Format("{0:" + Pt.Label.Format + "}", point.X);
                break;

            case SeriesChartType.Gantt:
                Sequence.LabelPoint = point => (string.Format("{0:" + Pt.Label.Format + "}", point.XStart) + " & " + string.Format("{0:" + Pt.Label.Format + "}", point.X));
                break;

            case SeriesChartType.Scatter:
                Sequence.LabelPoint = point => (string.Format("{0:" + Pt.Label.Format + "}", point.X) + " & " + string.Format("{0:" + Pt.Label.Format + "}", point.Y));
                break;

            case SeriesChartType.Bubble:
                Sequence.LabelPoint = point => string.Format("{0:" + Pt.Label.Format + "}", point.Weight);
                break;
            }

            Sequence.PointGeometry = GetGeometry((int)Pt.Marker.Mode);

            Sequence.Foreground = G.GetFontBrush();
            Sequence.FontFamily = F.ToMediaFont().Family;
            Sequence.FontSize   = F.Size;
            Sequence.FontStyle  = F.ToMediaFont().Italic;
            Sequence.FontWeight = F.ToMediaFont().Bold;

            Sequence.Fill = G.GetBackgroundBrush();

            Sequence.StrokeThickness = G.StrokeWeight[0];
            Sequence.Stroke          = G.GetStrokeBrush();
            Sequence.StrokeDashArray = new DoubleCollection(G.StrokePattern);

            return(Sequence);
        }
コード例 #8
0
 public wText(string StartText, wFont TextFont)
 {
     Text = StartText;
     Font = TextFont;
 }
コード例 #9
0
        /// <summary>
        /// This is the method that actually does the work.
        /// </summary>
        /// <param name="DA">The DA object is used to retrieve from inputs and store in outputs.</param>
        protected override void SolveInstance(IGH_DataAccess DA)
        {
            IGH_Goo Element = null;
            int     J       = vJustify * 3 + hJustify;

            if (!DA.GetData(0, ref Element))
            {
                return;
            }

            wObject W = new wObject();

            if (Element != null)
            {
                Element.CastTo(out W);
            }
            wGraphic G = W.Graphics;

            GetFont.Font  = new wFont(fName, fSize, new wColor(DrawColor), (wFontBase.Justification)J, IsBold, IsItalic, IsUnder, false).ToDrawingFont().FontObject;
            GetFont.Color = DrawColor;

            if (toggle)
            {
                GetFont.ShowDialog();

                fName = GetFont.Font.Name;
                fSize = GetFont.Font.Size;

                IsBold   = GetFont.Font.Bold;
                IsItalic = GetFont.Font.Italic;
                IsUnder  = GetFont.Font.Underline;

                DrawColor = GetFont.Color;

                toggle = false;
            }

            wFont F = new wFont(fName, fSize, new wColor(DrawColor), (wFontBase.Justification)J, IsBold, IsItalic, IsUnder, false);

            G.FontObject   = F;
            G.CustomFonts += 1;

            W.Graphics = G;

            switch (W.Type)
            {
            case "Parrot":
                pElement E = (pElement)W.Element;
                pControl C = (pControl)E.ParrotControl;

                C.Graphics = G;
                C.SetFont();
                break;

            case "Pollen":
                switch (W.SubType)
                {
                case "DataPoint":
                    DataPt tDataPt = (DataPt)W.Element;
                    tDataPt.Graphics = G;

                    W.Element = tDataPt;
                    break;

                case "DataSet":
                    DataSetCollection tDataSet = (DataSetCollection)W.Element;
                    tDataSet.Graphics = G;

                    tDataSet.TotalCustomTitles += 1;

                    W.Element = tDataSet;

                    break;

                case "Chart":
                case "Table":
                    pElement pE = (pElement)W.Element;
                    pChart   pC = pE.PollenControl;
                    pC.Graphics = G;

                    pC.SetFont();

                    pE.PollenControl = pC;
                    W.Element        = pE;
                    break;
                }
                break;

            case "Hoopoe":
                wShapeCollection Shapes = (wShapeCollection)W.Element;

                Shapes.Fonts = F;

                W.Element = Shapes;
                break;
            }

            DA.SetData(0, W);
            DA.SetData(1, G.FontObject);
            DA.SetData(2, G);
        }
コード例 #10
0
ファイル: Font.cs プロジェクト: pm-Architect/Aviary
        /// <summary>
        /// This is the method that actually does the work.
        /// </summary>
        /// <param name="DA">The DA object is used to retrieve from inputs and store in outputs.</param>
        protected override void SolveInstance(IGH_DataAccess DA)
        {
            IGH_Goo Element = null;
            string  N       = "Arial";
            double  S       = 8;

            System.Drawing.Color X = System.Drawing.Color.Black;
            int  J = 0;
            bool B = false;
            bool I = false;
            bool U = false;

            if (!DA.GetData(0, ref Element))
            {
                return;
            }
            if (!DA.GetData(1, ref N))
            {
                return;
            }
            if (!DA.GetData(2, ref S))
            {
                return;
            }
            if (!DA.GetData(3, ref X))
            {
                return;
            }
            if (!DA.GetData(4, ref J))
            {
                return;
            }
            if (!DA.GetData(5, ref B))
            {
                return;
            }
            if (!DA.GetData(6, ref I))
            {
                return;
            }
            if (!DA.GetData(7, ref U))
            {
                return;
            }

            wObject W = new wObject();

            if (Element != null)
            {
                Element.CastTo(out W);
            }
            wGraphic G = W.Graphics;

            wFont F = new wFont(N, S, new wColor(X), (wFontBase.Justification)J, B, I, U, false);

            G.FontObject = F;

            W.Graphics = G;

            switch (W.Type)
            {
            case "Parrot":
                pElement E = (pElement)W.Element;
                pControl C = (pControl)E.ParrotControl;

                C.Graphics = G;
                C.SetFont();
                break;

            case "Pollen":
                switch (W.SubType)
                {
                case "DataPoint":
                    DataPt tDataPt = (DataPt)W.Element;
                    tDataPt.Graphics = G;

                    W.Element = tDataPt;
                    break;

                case "DataSet":
                    DataSetCollection tDataSet = (DataSetCollection)W.Element;
                    tDataSet.Graphics = G;

                    tDataSet.TotalCustomTitles += 1;

                    W.Element = tDataSet;
                    break;

                case "Chart":
                case "Table":
                    pElement pE = (pElement)W.Element;
                    pChart   pC = pE.PollenControl;
                    pC.Graphics = G;

                    pC.SetFont();

                    pE.PollenControl = pC;
                    W.Element        = pE;
                    break;
                }
                break;

            case "Hoopoe":
                wShapeCollection Shapes = (wShapeCollection)W.Element;

                Shapes.Fonts = F;

                W.Element = Shapes;
                break;
            }

            DA.SetData(0, W);
            DA.SetData(1, G.FontObject);
            DA.SetData(2, G);
        }
コード例 #11
0
ファイル: pPointChart.cs プロジェクト: pm-Architect/Aviary
        public override void SetAxisAppearance()
        {
            SetAxisScale();

            wColor HalfTone = new wColor(DataSet.Graphics.StrokeColor);

            HalfTone.Lighten(0.5);

            ChartArea A = ChartObject.ChartAreas[0];
            wAxes     X = DataSet.Axes;
            wGraphic  G = DataSet.Graphics;
            wFont     F = G.FontObject;

            A.AxisX.Interval = X.AxisX.MajorSpacing;
            A.AxisY.Interval = X.AxisY.MajorSpacing;


            // ==================== X Axis Formatting ====================
            if (X.AxisX.Enabled)
            {
                A.AxisX.Enabled = AxisEnabled.True;
            }
            else
            {
                A.AxisX.Enabled = AxisEnabled.False;
            }
            A.AxisX.LineColor               = G.StrokeColor.ToDrawingColor();
            A.AxisX.MajorTickMark.Enabled   = X.AxisX.HasLabel;
            A.AxisX.MajorTickMark.Interval  = X.AxisX.MajorSpacing;
            A.AxisX.MajorTickMark.LineWidth = (int)G.StrokeWeight[0];
            A.AxisX.MajorTickMark.LineColor = G.StrokeColor.ToDrawingColor();
            A.AxisX.MinorTickMark.Enabled   = false;


            //X Major Grid Formatting
            A.AxisX.MajorGrid.Enabled   = X.AxisX.Enabled;
            A.AxisX.MajorGrid.Interval  = X.AxisX.MajorSpacing;
            A.AxisX.MajorGrid.LineWidth = (int)G.StrokeWeight[0];
            A.AxisX.MajorGrid.LineColor = G.StrokeColor.ToDrawingColor();

            //X Minor Grid Formatting
            A.AxisX.MinorGrid.Enabled   = (X.AxisX.MinorSpacing != 0);
            A.AxisX.MinorGrid.Interval  = A.AxisX.MajorGrid.Interval / X.AxisX.MinorSpacing;
            A.AxisX.MinorGrid.LineWidth = (int)G.StrokeWeight[0];
            A.AxisX.MinorGrid.LineColor = HalfTone.ToDrawingColor();

            //X Label Formatting
            A.AxisX.IsMarginVisible         = X.AxisX.HasLabel;
            A.AxisX.Interval                = 0;
            A.AxisX.LabelStyle.Enabled      = X.AxisX.HasLabel;
            A.AxisX.LabelStyle.IntervalType = DateTimeIntervalType.Auto;
            A.AxisX.LabelStyle.Interval     = 1;
            A.AxisX.LabelAutoFitStyle       = LabelAutoFitStyles.DecreaseFont;
            A.AxisX.LabelStyle.Interval     = X.AxisX.MajorSpacing;
            A.AxisX.LabelStyle.Font         = F.ToDrawingFont().FontObject;
            A.AxisX.LabelStyle.ForeColor    = F.FontColor.ToDrawingColor();
            A.AxisX.LabelStyle.Angle        = (int)X.AxisX.Angle;



            // ==================== Y Axis Formatting ====================
            if (X.AxisY.Enabled)
            {
                A.AxisY.Enabled = AxisEnabled.True;
            }
            else
            {
                A.AxisY.Enabled = AxisEnabled.False;
            }
            A.AxisY.LineColor               = G.StrokeColor.ToDrawingColor();
            A.AxisY.MajorTickMark.Enabled   = X.AxisY.HasLabel;
            A.AxisY.MajorTickMark.Interval  = X.AxisY.MajorSpacing;
            A.AxisY.MajorTickMark.LineWidth = (int)G.StrokeWeight[0];
            A.AxisY.MajorTickMark.LineColor = G.StrokeColor.ToDrawingColor();
            A.AxisY.MinorTickMark.Enabled   = false;

            //Y Major Grid Formatting
            A.AxisY.MajorGrid.Enabled   = X.AxisY.Enabled;
            A.AxisY.MajorGrid.Interval  = X.AxisY.MajorSpacing;
            A.AxisY.MajorGrid.LineWidth = (int)G.StrokeWeight[0];
            A.AxisY.MajorGrid.LineColor = G.StrokeColor.ToDrawingColor();

            //Y Minor Grid Formatting
            A.AxisY.MinorGrid.Enabled   = (X.AxisY.MinorSpacing != 0);
            A.AxisY.MinorGrid.LineWidth = (int)G.StrokeWeight[0];
            A.AxisY.MinorGrid.LineColor = HalfTone.ToDrawingColor();
            A.AxisY.MinorGrid.Interval  = A.AxisY.MajorGrid.Interval / X.AxisY.MinorSpacing;

            //Y Label Formatting
            A.AxisY.IsMarginVisible         = X.AxisY.HasLabel;
            A.AxisY.Interval                = 1;
            A.AxisY.LabelStyle.Enabled      = X.AxisY.HasLabel;
            A.AxisY.LabelStyle.IntervalType = DateTimeIntervalType.Auto;
            A.AxisY.LabelAutoFitStyle       = LabelAutoFitStyles.DecreaseFont;
            A.AxisY.LabelStyle.Interval     = X.AxisY.MajorSpacing;
            A.AxisY.LabelStyle.Font         = F.ToDrawingFont().FontObject;
            A.AxisY.LabelStyle.ForeColor    = F.FontColor.ToDrawingColor();
            A.AxisY.LabelStyle.Angle        = (int)X.AxisY.Angle;


            ChartObject.ChartAreas[0] = A;
        }
コード例 #12
0
        /// <summary>
        /// This is the method that actually does the work.
        /// </summary>
        /// <param name="DA">The DA object is used to retrieve from inputs and store in outputs.</param>
        protected override void SolveInstance(IGH_DataAccess DA)
        {
            IGH_Goo Element = null;
            IGH_Goo Gx      = null;
            IGH_Goo Fx      = null;

            if (!DA.GetData(0, ref Element))
            {
                return;
            }
            if (!DA.GetData(1, ref Gx))
            {
                return;
            }
            if (!DA.GetData(2, ref Fx))
            {
                return;
            }

            wObject W;

            Element.CastTo(out W);

            wLabel CustomToolTip = new wLabel();

            wGraphic G = CustomToolTip.Graphics;
            wFont    F = CustomToolTip.Font;

            Gx.CastTo(out G);
            Fx.CastTo(out F);

            CustomToolTip.Graphics = G;
            CustomToolTip.Font     = F;

            switch (W.Type)
            {
            case "Pollen":

                switch (W.SubType)
                {
                case "DataPoint":
                    DataPt Pt = (DataPt)W.Element;

                    Pt.ToolTip.Enabled             = true;
                    Pt.ToolTip.Graphics            = G;
                    Pt.ToolTip.Font                = F;
                    Pt.ToolTip.Graphics.FontObject = F;

                    W.Element = Pt;
                    break;

                case "DataSet":
                    DataSetCollection St = (DataSetCollection)W.Element;
                    St.SetUniformTooltips(CustomToolTip);

                    St.ToolTip.Enabled             = true;
                    St.ToolTip.Graphics            = G;
                    St.ToolTip.Font                = F;
                    St.ToolTip.Graphics.FontObject = F;

                    W.Element = St;
                    break;
                }
                break;
            }

            DA.SetData(0, W);
            DA.SetData(1, CustomToolTip);
        }
コード例 #13
0
ファイル: pDataGrid.cs プロジェクト: pm-Architect/Aviary
        public void SetProperties(DataSetCollection WindDataCollection, bool HasTitles)
        {
            Element.Children.Clear();
            Element.RowDefinitions.Clear();
            Element.ColumnDefinitions.Clear();

            Wc = WindDataCollection;

            for (int i = 0; i < Wc.Sets.Count; i++)
            {
                if (Wc.Sets[i].Title == "")
                {
                    Wc.Sets[i].Title = ("Title " + i.ToString());
                }

                ColumnDefinition col = new ColumnDefinition();
                Element.ColumnDefinitions.Add(col);
            }

            int k = 0;

            if (HasTitles)
            {
                k = 1;

                RowDefinition TitleRow = new RowDefinition();
                Element.RowDefinitions.Add(TitleRow);

                for (int i = 0; i < Wc.Sets.Count; i++)
                {
                    wGraphic G = Wc.Graphics;

                    Label ttxt = new Label();
                    ttxt.Content         = Wc.Sets[i].Title;
                    ttxt.Background      = G.GetBackgroundBrush();
                    ttxt.Foreground      = G.FontObject.GetFontBrush();
                    ttxt.BorderBrush     = G.GetStrokeBrush();
                    ttxt.BorderThickness = G.GetStroke();

                    ttxt.Padding = G.GetPadding();
                    ttxt.Margin  = G.GetMargin();

                    ttxt.FontFamily = G.FontObject.ToMediaFont().Family;
                    ttxt.FontSize   = G.FontObject.Size;
                    ttxt.FontStyle  = G.FontObject.ToMediaFont().Italic;
                    ttxt.FontWeight = G.FontObject.ToMediaFont().Bold;
                    ttxt.HorizontalContentAlignment = G.FontObject.ToMediaFont().HAlign;
                    ttxt.VerticalContentAlignment   = G.FontObject.ToMediaFont().VAlign;

                    Grid.SetColumn(ttxt, i);
                    Grid.SetRow(ttxt, 0);
                    Element.Children.Add(ttxt);
                }
            }

            for (int i = 0; i < Wc.Sets[0].Points.Count; i++)
            {
                RowDefinition row = new RowDefinition();
                Element.RowDefinitions.Add(row);
                for (int j = 0; j < (Wc.Count); j++)
                {
                    DataPt   Pt = Wc.Sets[j].Points[i];
                    wGraphic G  = Pt.Graphics;
                    wFont    F  = G.FontObject;

                    Border brd = new Border();
                    Label  txt = new Label();
                    txt.Content = string.Format("{0:" + Pt.Label.Format + "}", Pt.Number);

                    txt.Background      = Brushes.Transparent;
                    txt.Foreground      = G.GetFontBrush();
                    txt.BorderBrush     = Brushes.Transparent;
                    txt.BorderThickness = new Thickness(0);

                    txt.Padding = G.GetPadding();
                    txt.Margin  = G.GetMargin();

                    txt.FontFamily = F.ToMediaFont().Family;
                    txt.FontSize   = F.Size;
                    txt.FontStyle  = G.FontObject.ToMediaFont().Italic;
                    txt.FontWeight = G.FontObject.ToMediaFont().Bold;
                    txt.HorizontalContentAlignment = F.ToMediaFont().HAlign;
                    txt.VerticalContentAlignment   = F.ToMediaFont().VAlign;

                    if (G.Width > 1)
                    {
                        txt.Width = G.Width;
                    }
                    else
                    {
                        txt.Width = double.NaN;
                    }
                    if (G.Height > 1)
                    {
                        txt.Height = G.Height;
                    }
                    else
                    {
                        txt.Height = double.NaN;
                    }


                    brd.CornerRadius    = G.GetCorner();
                    brd.Background      = G.GetBackgroundBrush();
                    brd.BorderBrush     = G.GetStrokeBrush();
                    brd.BorderThickness = G.GetStroke();

                    brd.Child = txt;

                    Grid.SetColumn(brd, j);
                    Grid.SetRow(brd, i + k);
                    Element.Children.Add(brd);
                }
            }
        }