Neuron®
The Neuron® is the basis for the creation of open and secure federated networks for smart societies.
Loading...
Searching...
No Matches
Grid.cs
1using System.Threading.Tasks;
2using System.Xml;
4
6{
11 {
12 private PositiveIntegerAttribute columns;
13
19 public Grid(Layout2DDocument Document, ILayoutElement Parent)
20 : base(Document, Parent)
21 {
22 }
23
27 public override string LocalName => "Grid";
28
33 {
34 get => this.columns;
35 set => this.columns = value;
36 }
37
42 public override Task FromXml(XmlElement Input)
43 {
44 this.columns = new PositiveIntegerAttribute(Input, "columns", this.Document);
45 return base.FromXml(Input);
46 }
47
52 public override void ExportAttributes(XmlWriter Output)
53 {
54 base.ExportAttributes(Output);
55
56 this.columns?.Export(Output);
57 }
58
65 public override ILayoutElement Create(Layout2DDocument Document, ILayoutElement Parent)
66 {
67 return new Grid(Document, Parent);
68 }
69
74 public override void CopyContents(ILayoutElement Destination)
75 {
76 base.CopyContents(Destination);
77
78 if (Destination is Grid Dest)
79 Dest.columns = this.columns?.CopyIfNotPreset(Destination.Document);
80 }
81
87 public override async Task<ICellLayout> GetCellLayout(DrawingState State)
88 {
89 int NrColumns = await this.columns.Evaluate(State.Session, 1);
90
91 return new GridCells(State.Session, NrColumns);
92 }
93
98 public override void ExportStateAttributes(XmlWriter Output)
99 {
100 base.ExportStateAttributes(Output);
101
102 this.columns?.ExportState(Output);
103 }
104
105 }
106}
Contains a 2D layout document.
void Export(XmlWriter Output)
Exports the attribute.
Definition: Attribute.cs:187
void ExportState(XmlWriter Output)
Exports the state of the attribute.
Definition: Attribute.cs:199
PositiveIntegerAttribute CopyIfNotPreset(Layout2DDocument ForDocument)
Copies the attribute object if undefined, or defined by an expression. Returns a reference to itself,...
Variables Session
Current session.
Definition: DrawingState.cs:91
override ILayoutElement Create(Layout2DDocument Document, ILayoutElement Parent)
Creates a new instance of the layout element.
Definition: Grid.cs:65
override void ExportStateAttributes(XmlWriter Output)
Exports the local attributes of the current element.
Definition: Grid.cs:98
override string LocalName
Local name of type of element.
Definition: Grid.cs:27
override void ExportAttributes(XmlWriter Output)
Exports attributes to XML.
Definition: Grid.cs:52
override async Task< ICellLayout > GetCellLayout(DrawingState State)
Gets a cell layout object that will be responsible for laying out cells.
Definition: Grid.cs:87
override void CopyContents(ILayoutElement Destination)
Copies contents (attributes and children) to the destination element.
Definition: Grid.cs:74
PositiveIntegerAttribute ColumnsAttribute
Columns
Definition: Grid.cs:33
Grid(Layout2DDocument Document, ILayoutElement Parent)
A grid of cells
Definition: Grid.cs:19
override Task FromXml(XmlElement Input)
Populates the element (including children) with information from its XML definition.
Definition: Grid.cs:42
Abstract base class of elements that do spatial distribution of children.
Layout2DDocument Document
Layout document.
Base interface for all layout elements.
Layout2DDocument Document
Layout document.