Layout language AST building now complete with recursive parsing referenced XML files

This commit is contained in:
Keavon Chambers
2020-05-31 22:02:41 -07:00
parent 0c7e6bc883
commit 559833be8e
17 changed files with 429 additions and 288 deletions
+1 -1
View File
@@ -1,3 +1,3 @@
<box content="INNER_XML: (None) = none" :fill="FILL: (Color | None) = none" :round="ROUND: (AbsolutePx) = 0px" :border-thickness="BORDER_THICKNESS: (AbsolutePx) = 0px" :border-color="BORDER_COLOR: (Color | None) = none">
<box content="INNER_XML: (None) = none" :fill="FILL: (Color | None) = none" :round="ROUND: (AbsolutePx | AbsolutePx, AbsolutePx, AbsolutePx, AbsolutePx) = 0px" :border-thickness="BORDER_THICKNESS: (AbsolutePx) = 0px" :border-color="BORDER_COLOR: (Color | None) = none">
{{INNER_XML}}
</box>
+4 -4
View File
@@ -1,16 +1,16 @@
<header:window-buttons :maximized="IS_MAXIMIZED: (Bool) = false">
<box height="100%" y-align="50%" x-padding="18px">
<icon :src="window_minimize.svg" />
<icon :svg="`window_minimize.svg`" />
</box>
<box height="100%" y-align="50%" x-padding="18px">
<if :a="{{IS_MAXIMIZED}}">
<icon :src="window_restore_down.svg" />
<icon :svg="`window_restore_down.svg`" />
</if>
<if :a="{{IS_MAXIMIZED}}" b="false">
<icon :src="maximize.svg" />
<icon :svg="`maximize.svg`" />
</if>
</box>
<box height="100%" y-align="50%" x-padding="18px">
<icon :src="window_close.svg" />
<icon :svg="`window_close.svg`" />
</box>
</header:window-buttons>
+2 -2
View File
@@ -1,3 +1,3 @@
<icon content="SVG_DATA: (None) = none" :src="SVG_SOURCE: (TemplateString | None) = none">
<icon content="INNER_XML: (None) = none" :svg="SVG_SOURCE: (TemplateString) = ``" :style="SVG_STYLE: (TemplateString) = ``">
{{INNER_XML}}
</icon>
+3
View File
@@ -0,0 +1,3 @@
<if content="INNER_XML: (None) = none" :a="CONDITION_A: (Integer | Decimal | AbsolutePx | Percent | PercentRemainder | Inner | Width | Height | TemplateString | Color | Bool | None) = true" :b="CONDITION_B: (Integer | Decimal | AbsolutePx | Percent | PercentRemainder | Inner | Width | Height | TemplateString | Color | Bool | None) = true">
{{RESULT}}
</if>
+1 -1
View File
@@ -1,7 +1,7 @@
<input:checkbox-with-dropdown content="OPTION_LIST: (None) = none" :disabled="DISABLED: (Bool) = false" :checked="CHECKED: (Bool) = false" :selected-index="SELECTED_INDEX: (Integer) = 0">
<!-- Checkbox -->
<col width="height" height="100%">
<box width="100%" height="100%" x-align="50%" y-align="50%" :round="4px 0px 0px 4px" :fill="['accent']">
<box width="100%" height="100%" x-align="50%" y-align="50%" :round="4px, 0px, 0px, 4px" :fill="['accent']">
<input:checkbox :checked="{{CHECKED}}" :disabled="{{DISABLED}}" :inverted="true" />
</box>
</col>
+2 -10
View File
@@ -2,18 +2,10 @@
<box width="14px" height="14px" :fill="{{BOX_COLOR}}" :round="2px">
<if :a="{{CHECKED}}">
<if :a="{{INVERTED}}" :b="false">
<icon>
<svg width="12.84px" height="11.59px" viewBox="0 0 12.84 11.59">
<polygon points="5.53,11.59 0,6.67 1.66,4.8 5.13,7.88 10.82,0 12.84,1.46" fill="#ffffff" />
</svg>
</icon>
<icon :svg="`checkmark_white.svg`" />
</if>
<if :a="{{INVERTED}}">
<icon>
<svg width="12.84px" height="11.59px" viewBox="0 0 12.84 11.59">
<polygon points="5.53,11.59 0,6.67 1.66,4.8 5.13,7.88 10.82,0 12.84,1.46" fill="#4b79a7" />
</svg>
</icon>
<icon :svg="`checkmark_accent.svg`" />
</if>
</if>
</box>
+1 -5
View File
@@ -6,11 +6,7 @@
</col>
<!-- Dropdown arrow icon -->
<col width="8px" height="100%">
<icon width="8px" height="100%" x-align="50%" y-align="50%">
<svg width="7" height="5" viewBox="0 0 7 5">
<path d="M0,.5l3.5,3L7,.5v2l-3.5,3L0,2.5Z" transform="translate(0 -0.5)" fill="#ddd" />
</svg>
</icon>
<icon width="8px" height="100%" x-align="50%" y-align="50%" :svg="`dropdown_arrow.svg`" />
</col>
</box>
</input:dropdown>
+1 -3
View File
@@ -1,3 +1 @@
<text content="TEXT_STRING: (None) = none" :color="COLOR: (Color | None) = ['middlegray']" :size="SIZE: (AbsolutePx) = 12px">
</text>
<text content="TEXT_STRING: (None) = none" :color="COLOR: (Color | None) = ['middlegray']" :size="SIZE: (AbsolutePx) = 12px"></text>
+2 -2
View File
@@ -1,7 +1,7 @@
<viewport:panels>
<checkbox-with-dropdown :checked="true" :selected-index="2">
<input:checkbox-with-dropdown :checked="true" :selected-index="2">
Option A
Option B
Option C
</checkbox-with-dropdown>
</input:checkbox-with-dropdown>
</viewport:panels>