synit/protocols/schemas/ui.prs

64 lines
1.5 KiB
Plaintext

version 1 .
# Assertion. Creates a space for Widget/Parent/Attribute assertions etc.
Window = <window @id WidgetId @space #:any> .
# Assertions, within the space created as part of a Window assertion.
Widget = <widget @id WidgetId @type WidgetType> .
Parent = <parent @id WidgetId @parentId WidgetId @order SortKey> .
Root = <root @id WidgetId @order SortKey> .
Attribute = <attribute @id WidgetId @key symbol @value any> .
# Assertion
WidgetInstance = <widget-instance @id WidgetId @instance #:any> .
# Assertion
Touch = <touch @widget WidgetId @touchId any> .
# Message
Click = <click @widget WidgetId> .
# Assertion
State = <state @widget WidgetId @key any @value any> .
# Assertion. Marks the window as closeable.
WindowCloseable = <window-closeable> .
# Assertion.
WindowTitle = <window-title @title string> .
# Data types
WidgetId = any .
SortKey = @double double / @string string .
WidgetType = NodeType / LeafType .
NodeType =
/ =column
/ =row
.
LeafType =
/ =blank
/ =text
/ =slider
/ =image
/ =icon
.
Color = <rgba @red double @green double @blue double @alpha double> .
# Box-and-glue layout
Fill = @fixed double / <fill @weight int @rank int> .
Sizing = <sizing @ideal double @stretch Fill @shrink Fill> .
BoxSize = <box-size @horizontal Sizing @vertical Sizing> .
# Scrollable panels
VisibleScrollRange =
/ =none
/ @visibleScrollRange <visible-scroll-range
<min @minId WidgetId @minSortKey SortKey>
<max @maxId WidgetId @maxSortKey SortKey>>
.