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; }
/// <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(); }
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); }
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; } } }
public void Clear() { Shapes.Clear(); Graphics = new wGraphic(); Effects = new wEffects(); Fonts = new wFont(); Boundary = new wRectangle(); }
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); }
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); }
public wText(string StartText, wFont TextFont) { Text = StartText; Font = TextFont; }
/// <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); }
/// <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); }
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; }
/// <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); }
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); } } }