templates support
This commit is contained in:
27
Inspectron.Epson.Templates/Language/Nodes/ColumnNode.cs
Normal file
27
Inspectron.Epson.Templates/Language/Nodes/ColumnNode.cs
Normal file
@@ -0,0 +1,27 @@
|
||||
namespace Inspectron.Epson.Templates.Language.Nodes;
|
||||
|
||||
public enum ColumnAlignment
|
||||
{
|
||||
Left,
|
||||
Right,
|
||||
Center
|
||||
}
|
||||
|
||||
public record ColumnNode(
|
||||
int Width,
|
||||
ColumnAlignment Alignment,
|
||||
List<ITemplateNode> ContentNodes,
|
||||
SourcePosition Position) : ITemplateNode
|
||||
{
|
||||
public IReadOnlyList<ITemplateNode> Children => ContentNodes;
|
||||
|
||||
public static (int Width, ColumnAlignment Alignment) ParseColumnSpec(string value)
|
||||
{
|
||||
var parts = value.Split(',', 2);
|
||||
var width = int.Parse(parts[0]);
|
||||
var align = parts.Length > 1
|
||||
? Enum.TryParse<ColumnAlignment>(parts[1], true, out var a) ? a : ColumnAlignment.Left
|
||||
: ColumnAlignment.Left;
|
||||
return (width, align);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user