public Segment Add(DrawingElement el, Position p) { Remove(p); var seg = Segments.FirstOrDefault (s => s.Position == p); if (seg != null) { seg.AddPrimitives (el.Primitives); } else { seg = new Segment (p, el.Primitives, this) { IsPalette = IsPalette }; Segments.Add (seg); } seg.Type = el.Type; CalculateSize (); //join latch if(el.Primitives.Any(pr => pr is LineElement && ((pr as LineElement).End.Y > 1))) { var pos2 = new Position (seg.Position.X, seg.Position.Y + 1); var seg2 = Segments.FirstOrDefault (s => s.Position == pos2); if (seg2 != null) { seg2.Join.Add (seg); seg.Join.Add (seg2); var conR = el .Primitives .Where (p1 => p1 is Connector) .Cast<Connector> () .Where (c => c.Center.Y > 1); seg2.Connectors.AddRange (conR); if (seg.Selected) { seg2.Selected = true; } } } return seg; }
public override void Remove(DrawingElement c) { Console.WriteLine("Cannot remove from a PrimitiveElement"); }
public abstract void Remove(DrawingElement d);
public abstract void Add(DrawingElement d);
public override void Remove(DrawingElement d) { _elements.Remove(d); }
public void Detach(DrawingElement employee) { _elements.Remove(employee); }
public override void Add(DrawingElement c) { Console.WriteLine("Cannot add to a PrimitiveElement"); }
public LayoutDrawing( IDebugDrawing drawing, DrawingElement page, DebugLayout debugLayout, int headingLevel, bool showButtons) : base( page, "Layout '" + debugLayout.Name + "'", headingLevel) { LeftMargin = 15f; RightMargin = 15f; TopMargin = 15f; BottomMargin = 15f; ChildSpacing = 15f; CssClass = "layout"; var details = new List <string>(); AddDebugInfo(details, debugLayout); if (details.Count > 0) { if (showButtons) { AddDetails(details, AddHeaderButton(page, "Detail")); } else { AddDetails(details, this); } } if (showButtons && !ReferenceEquals(debugLayout.Element, null)) { var elementDebugInfo = debugLayout.Element.GetDebugInfo <DebugLayout>(); if (elementDebugInfo != null) { AddHeaderButton(page, "Definition") .AddChild(new LayoutDrawing( drawing, page, elementDebugInfo, headingLevel + 1, false)); } } if (debugLayout.Children != null) { foreach (var debugRegion in debugLayout.Children) { AddChild(new LayoutRegionDrawing( drawing, page, debugRegion as DebugLayoutRegion, headingLevel, showButtons)); } } }
/// <inheritdoc /> public DrawingElement TryBlend(DrawingElement under, DrawingElement over) { return(_innerDrawingElementBlender.TryBlend(under, over) ?? _innerDrawingElementBlender.TryBlend(over, under)); }
public RegionDrawing( IDebugDrawing drawing, DrawingElement page, DebugRegion debugRegion, int headingLevel, bool showButtons) : base( page, "zone '" + debugRegion.Name + "'", headingLevel) { CssClass = "region"; string repeat = null; if (!ReferenceEquals(debugRegion.RepeatType, null)) { repeat = debugRegion.RepeatType.DisplayName(TypeExtensions.NamespaceOption.None); if (!string.IsNullOrEmpty(debugRegion.RepeatScope)) { repeat = "'" + debugRegion.RepeatScope + "' " + repeat; } if (!string.IsNullOrEmpty(debugRegion.ListScope)) { repeat += " from a list in '" + debugRegion.ListScope + "' scope"; } repeat = "Repeat for each " + repeat; if (showButtons) { AddChild(new TextDrawing { Text = new[] { repeat } }); } } var details = new List <string>(); if (!string.IsNullOrEmpty(repeat)) { details.Add(repeat); } AddDebugInfo(details, debugRegion); if (details.Count > 0) { if (showButtons) { AddDetails(details, AddHeaderButton(page, "Detail")); } else { AddDetails(details, this); } } if (!ReferenceEquals(debugRegion.Scope, null) && debugRegion.Scope.HasData()) { var dataScopeDrawing = new DataScopeRulesDrawing( drawing, page, debugRegion.Scope, headingLevel + 1, false, 0); if (showButtons) { AddHeaderButton(page, "Scope").AddChild(dataScopeDrawing); } else { AddChild(dataScopeDrawing); } } if (!ReferenceEquals(debugRegion.DataContext, null) && debugRegion.DataContext.HasData()) { var dataScopeDrawing = new DataScopeRulesDrawing( drawing, page, debugRegion.DataContext, headingLevel + 1, false, 0); if (showButtons) { AddHeaderButton(page, "Context").AddChild(dataScopeDrawing); } else { AddChild(dataScopeDrawing); } } if (showButtons && !ReferenceEquals(debugRegion.Element, null)) { var elementDebugInfo = debugRegion.Element.GetDebugInfo <DebugRegion>(); if (elementDebugInfo != null && elementDebugInfo.HasData()) { AddHeaderButton(page, "Definition") .AddChild(new RegionDrawing( drawing, page, elementDebugInfo, headingLevel + 1, false)); } } if (debugRegion.Children != null && debugRegion.Children.Count > 0 && debugRegion.Children[0] != null && debugRegion.Children[0].HasData()) { var content = drawing.DrawDebugInfo(page, debugRegion.Children[0], headingLevel, showButtons); AddChild(content); } }
/// <inheritdoc /> public DrawingElement TryBlend(DrawingElement under, DrawingElement over) { return(_blenders.Select(b => b.TryBlend(under, over)).FirstOrDefault(e => !(e is null))); }
public NodeStats(DrawingElement drawing) { ChildSpacing = 30f; }
public CharacterDrawingElement(int column, int row, DrawingElement drawingElement) { Column = column; Row = row; DrawingElement = drawingElement; }
public NodeTile( DrawingElement drawing, string title, string cssClass, bool disabled, int headingLevel = 2, string label = null) : base(drawing, cssClass, disabled) { AddChild(new SpacerDrawing(15, 20)); Header = new HorizontalListDrawing { LeftMargin = 0, RightMargin = 0, TopMargin = 0, BottomMargin = 0, Left = 0, Top = 0, FixedPosition = true, CssClass = CssClass }; AddChild(Header); if (!string.IsNullOrWhiteSpace(label)) { Label = new RectangleDrawing { CssClass = disabled ? "disabled label" : "label", CornerRadius = CornerRadius, LeftMargin = 3, TopMargin = 3, BottomMargin = 2, RightMargin = 2, Width = 18, Height = 22, FixedSize = true, }; LabelText = new TextDrawing { Text = new[] { label }, CssClass = disabled ? "disabled label" : "label" }; if (headingLevel == 3) { Label.Width = 14; Label.Height = 16; Label.TopMargin = 3; Label.LeftMargin = 2; LabelText.TextSize = 9f / 12f; } Label.AddChild(LabelText); Header.AddChild(Label); } else { Header.AddChild(new SpacerDrawing(1, 1)); } Title = new TextDrawing { Text = new[] { title } } .HeadingLevel(headingLevel); if (disabled) { Title.CssClass = "disabled " + Title.CssClass; } Header.AddChild(Title); }
public override void Add(DrawingElement d) { elements.Add(d); }
public override void Remove(DrawingElement d) { elements.Remove(d); }
public override void Add(DrawingElement c) { Console.WriteLine( "Cannot add to a PrimitiveElement"); }
public override void Remove(DrawingElement c) { Console.WriteLine( "Cannot remove from a PrimitiveElement"); }
public override void Add(DrawingElement d) { _elements.Add(d); }
public void Attach(DrawingElement employee) { _elements.Add(employee); }