ProntoGUI™ Primitive Reference
Overview of Primitives
| Primitive Type | Description |
|---|---|
| Card | Displays a card of information. |
| Check | Displays a checkbox. |
| Choice | Displays choice and provide means of selecting from a list of choices. |
| Command | Displays a button or equivalent |
| ExportFile | Exports a file from the server. |
| Frame | Holds arbitrary primitives for display and interaction. |
| Group | Logically groups arbitrary primitives for display and interaction. |
| Icon | A graphical icon from Material design. |
| Image | A graphical image. |
| ImportFile | Imports a file into the server. |
| List | Displays a list of items. |
| Node | A node that appears in a Tree primitive. |
| Nothing | Shows nothing and acts as a filler where a primitive is normally shown. |
| NumericField | Field for editing numberic values. |
| Table | Presents a 2D array of primitives in a table consisting of rows and columns. |
| Text | Displays a piece of text. |
| TextField | Field for entering text. |
| Timer | Performs updates on a regular interval. |
| Tree | A tree of primitives. |
| Tristate | A true, false, or indeterminate choice. |
Common Embodiment Properties
| Property Name | Description |
|---|---|
| borderAll | Border width for all sides, expressed in logical pixels |
| borderBottom | Border width for the bottom side, expressed in logical pixels |
| borderColor | Border color for all sides |
| borderLeft | Border width for the left side, expressed in logical pixels |
| borderRight | Border width for the right side, expressed in logical pixels |
| borderTop | Border width for the top side, expressed in logical pixels |
| bottom | Bottom position expressed in logical pixels |
| height | Height expressed in logical pixels |
| horizontalAlignment | Horizontal alignment Values: => left – Left aligned (default)=> center – Center aligned=> right – Right aligned=> expand – Expanded |
| left | Left position expressed in logical pixels |
| marginAll | Margin width for all sides, expressed in logical pixels |
| marginBottom | Margin width for the bottom side, expressed in logical pixels |
| marginLeft | Margin width for the left side, expressed in logical pixels |
| marginRight | Margin width for the right side, expressed in logical pixels |
| marginTop | Margin width for the top side, expressed in logical pixels |
| paddingAll | Padding for all sides, expressed in logical pixels |
| paddingBottom | Padding on the bottom side, expressed in logical pixels |
| paddingLeft | Padding on the left side, expressed in logical pixels |
| paddingRight | Padding on the right side, expressed in logical pixels |
| paddingTop | Padding on the top side, expressed in logical pixels |
| right | Position of the right side, expressed in logical pixels |
| top | Position of the top side, expressed in logical pixels |
| verticallAlignment | Vertical alignment Values: => top – Top aligned=> middle – Middle aligned (default)=> bottom – Bottom aligned=> expand – Expanded |
| width | Width expressed in logical pixels |
Card
Displays a card of information. A card can show summarized information with a title and optional image and buttons.
Fields
| Field Name | Type | Description |
|---|---|---|
| Embodiment | string |
A JSON string specifying the embodiment to use for this primitive. This can be assigned explicitly or by an update from the App. |
| LeadingItem | Primitive |
The primitive to show on the left side of the card. |
| MainItem | Primitive |
The primitive to show on the main or title portion of the card. |
| Status | int |
0 = Normal, 1 = Disabled, 2 = Hidden, 3 = Collapsed. |
| SubItem | Primitive |
The primitive to show on the lower or subtitle portion of the card. |
| Tag | string |
An optional and arbitrary string to identify this primitive. |
| TrailingItem | Primitive |
The primitive to show on the right or trailing portion of the card. |
Embodiments
default
A regular card.
Properties
tile
A tile-styled card.
Properties
Check
Displays a checkbox.
Fields
| Field Name | Type | Description |
|---|---|---|
| Embodiment | string |
A JSON string specifying the embodiment to use for this primitive. This can be assigned explicitly or by an update from the App. |
| Checked | bool |
True if the item appears checked. |
| Label | string |
The text to show in the item. |
| LabelItem | Primitive |
A primitive to show as the label. |
| Status | int |
0 = Normal, 1 = Disabled, 2 = Hidden, 3 = Collapsed. |
| Tag | string |
An optional and arbitrary string to identify this primitive. |
Embodiments
default
A regular checkbox.
Properties
toggle-button
A toggle button.
Properties
Choice
Displays choice and provide means of selecting from a list of choices.
Fields
| Field Name | Type | Description |
|---|---|---|
| Embodiment | string |
A JSON string specifying the embodiment to use for this primitive. This can be assigned explicitly or by an update from the App. |
| Choice | string |
The current choice that is selected, or empty string if nothing chosen. |
| Choices | []string |
The choice values. |
| ChoiceLabels | []string |
The labels to show corresponding to each item in Choices. |
| Status | int |
0 = Normal, 1 = Disabled, 2 = Hidden, 3 = Collapsed. |
| Tag | string |
An optional and arbitrary string to identify this primitive. |
Embodiments
default
Edit styled field with pull down list.
Properties
| Property Name | Description |
|---|---|
| focusSelection | How the edited content should be selected upon getting keyboard focus. Values: => begin – Select the beginning of content=> end – Select the end of content (default)=> all – Select all of the content |
button
Button styled dropdown choice.
Properties
Command
Displays a button or equivalent
Fields
| Field Name | Type | Description |
|---|---|---|
| Embodiment | string |
A JSON string specifying the embodiment to use for this primitive. This can be assigned explicitly or by an update from the App. |
| CommandIssued | bool |
True when the user has clicked the command. |
| Label | string |
The text to show in the item. |
| LabelItem | Primitive |
A primitive to show as the label. |
| Status | int |
0 = Normal, 1 = Disabled, 2 = Hidden, 3 = Collapsed. |
| Tag | string |
An optional and arbitrary string to identify this primitive. |
Embodiments
default
An elevated button.
Properties
outlined-button
A button with an outline.
Properties
ExportFile
Exports a file from the server.
Fields
| Field Name | Type | Description |
|---|---|---|
| Data | []byte |
The blob of data representing the binary contents of the file. |
| Embodiment | string |
A JSON string specifying the embodiment to use for this primitive. This can be assigned explicitly or by an update from the App. |
| Exported | bool |
True when the file has been exported (stored to a file) by the app. This field is updated by the app. |
| Name | string |
The file name including its extension separated by a period. |
| Status | int |
0 = Normal, 1 = Disabled, 2 = Hidden, 3 = Collapsed. |
| Tag | string |
An optional and arbitrary string to identify this primitive. |
Embodiments
default
Default
Properties
Frame
Holds arbitrary primitives for display and interaction. For a detailed explanation see: Frame Primitive
Fields
| Field Name | Type | Description |
|---|---|---|
| Embodiment | string |
A JSON string specifying the embodiment to use for this primitive. This can be assigned explicitly or by an update from the App. |
| FrameItems | []Primitive |
The collection of primitives that comprise the GUI frame. |
| Icon | Primitive |
The primitive (Icon) to show. |
| Showing | bool |
True if this top-level frame should be active. For more information: Frame Primitive |
| Status | int |
0 = Normal, 1 = Disabled, 2 = Hidden, 3 = Collapsed. |
| Tag | string |
An optional and arbitrary string to identify this primitive. |
| Title | string |
The title to show for the frame. |
Embodiments
default
Shows primitives in allocated space.
Properties
| Property Name | Description |
|---|---|
| flowDirection | The direction of content flow within the primitive Values: => leftToRight – Content flows from left to right (default)=> topToBottom – Content flows from top to bottom |
| layoutMethod | How child primitives are arranged Values: => flow – Child primitives are laid out in a manner consistent with parent/child breakdown. (default)=> positioned – Child primitives are manually positioned relative to child area of parent. |
full-view
Shows primitives in allocated space.
Properties
| Property Name | Description |
|---|---|
| flowDirection | The direction of content flow within the primitive Values: => leftToRight – Content flows from left to right (default)=> topToBottom – Content flows from top to bottom |
| layoutMethod | How child primitives are arranged Values: => flow – Child primitives are laid out in a manner consistent with parent/child breakdown. (default)=> positioned – Child primitives are manually positioned relative to child area of parent. |
dialog-view
Shows primitives in a dialog view.
Properties
| Property Name | Description |
|---|---|
| flowDirection | The direction of content flow within the primitive Values: => leftToRight – Content flows from left to right (default)=> topToBottom – Content flows from top to bottom |
| layoutMethod | How child primitives are arranged Values: => flow – Child primitives are laid out in a manner consistent with parent/child breakdown. (default)=> positioned – Child primitives are manually positioned relative to child area of parent. |
snackbar
Shows primitives in a snackbar.
Properties
| Property Name | Description |
|---|---|
| snackbarBehavior | Snackbar behavior Values: => fixed – Fixed location (default)=> floating – Floating above content |
| snackbarDuration | Time duration, expressed in seconds, to show the snack bar |
| snackbarShowCloseIcon | Whether the icon for closing the snackbar should appear |
Group
Logically groups arbitrary primitives for display and interaction.
Fields
| Field Name | Type | Description |
|---|---|---|
| Embodiment | string |
A JSON string specifying the embodiment to use for this primitive. This can be assigned explicitly or by an update from the App. |
| GroupItems | []Primitive |
A collection of primitives to show together. |
| Status | int |
0 = Normal, 1 = Disabled, 2 = Hidden, 3 = Collapsed. |
| Tag | string |
An optional and arbitrary string to identify this primitive. |
Embodiments
default
Default
Properties
Icon
A graphical icon from Material design.
Fields
| Field Name | Type | Description |
|---|---|---|
| Embodiment | string |
A JSON string specifying the embodiment to use for this primitive. This can be assigned explicitly or by an update from the App. |
| IconID | string |
The ID of the material icon to show. |
| Status | int |
0 = Normal, 1 = Disabled, 2 = Hidden, 3 = Collapsed. |
| Tag | string |
An optional and arbitrary string to identify this primitive. |
Embodiments
default
Default
Properties
| Property Name | Description |
|---|---|
| color | Color of embodiment (typically the foreground) |
| size | Size expressed in logical pixels |
Image
A graphical image.
Fields
| Field Name | Type | Description |
|---|---|---|
| Embodiment | string |
A JSON string specifying the embodiment to use for this primitive. This can be assigned explicitly or by an update from the App. |
| ID | string |
The ID assigned to a primitive. |
| Image | []byte |
The blob of data representing a graphical image. |
| Ref | string |
The ID that references another primitive. |
| Status | int |
0 = Normal, 1 = Disabled, 2 = Hidden, 3 = Collapsed. |
| Tag | string |
An optional and arbitrary string to identify this primitive. |
Embodiments
default
Default
Properties
| Property Name | Description |
|---|---|
| imageFit | How the image is fitted inside its enclosing box Values: => fill – Fill the enclosing box by distorting the aspect ratio of the image=> contain – Expand the image as much as possible in the enclosing box while preserving its aspect ratio. (default)=> cover – Reduce the image as much as possible in the enclosing box while still covering the box.=> fitWidth – Expand the image to the full width of the enclosing box, regardless of whether it overflows in vertical direction.=> fitHeight – Expand the image to the full height of the enclosing box, regardless of whether it overflows in horizontal direction.=> none – Align the image in the enclosing box and clip portions outside the box.=> scaleDown – Align the image in the enclosing box and scale it down if it doesn’t fit in the box. |
ImportFile
Imports a file into the server.
Fields
| Field Name | Type | Description |
|---|---|---|
| Data | []byte |
The blob of data representing the binary contents of the file. |
| Embodiment | string |
A JSON string specifying the embodiment to use for this primitive. This can be assigned explicitly or by an update from the App. |
| Imported | bool |
True when the file has been imported from the app. |
| Name | string |
The file name including its extension separated by a period. |
| Status | int |
0 = Normal, 1 = Disabled, 2 = Hidden, 3 = Collapsed. |
| Tag | string |
An optional and arbitrary string to identify this primitive. |
| ValidExtensions | []string |
The allowed file extensions for the file. |
Embodiments
default
Default
Properties
List
Displays a list of items.
Fields
| Field Name | Type | Description |
|---|---|---|
| Embodiment | string |
A JSON string specifying the embodiment to use for this primitive. This can be assigned explicitly or by an update from the App. |
| ListItems | []Primitive |
The primitives to show in the list. |
| ModelItem | Primitive |
A model primitive that models what each item in the list will look like. |
| SelectedItems | []int |
The indices of selected items. |
| SelectionChanged | event |
Fires when selection changes. |
| SelectionMode | int |
The selection mode: 0=None, 1=One Always, 2=One or None, 3=Multiple. |
| Status | int |
0 = Normal, 1 = Disabled, 2 = Hidden, 3 = Collapsed. |
| Tag | string |
An optional and arbitrary string to identify this primitive. |
Embodiments
default
A list of items.
Properties
| Property Name | Description |
|---|---|
| horizontal | List is arranged horizontally instead of the default vertical fashion. |
tabbed
A list of frames organized with tabs.
Properties
| Property Name | Description |
|---|---|
| animationPeriod | Animation period in milliseconds |
| tabHeight | Height of tabs expressed in logical pixels |
Node
A node that appears in a Tree primitive.
Fields
| Field Name | Type | Description |
|---|---|---|
| Embodiment | string |
A JSON string specifying the embodiment to use for this primitive. This can be assigned explicitly or by an update from the App. |
| NodeItem | Primitive |
The primitive held at this node |
| SubNodes | []Primitive |
The sub or child nodes under this node. |
| Tag | string |
An optional and arbitrary string to identify this primitive. |
Embodiments
default
Default
Properties
Nothing
Shows nothing and acts as a filler where a primitive is normally shown.
Fields
| Field Name | Type | Description |
|---|
Embodiments
default
Default
Properties
NumericField
Field for editing numberic values.
Fields
| Field Name | Type | Description |
|---|---|---|
| Embodiment | string |
A JSON string specifying the embodiment to use for this primitive. This can be assigned explicitly or by an update from the App. |
| NumericEntry | string |
The number entered or the number to edit. |
| Status | int |
0 = Normal, 1 = Disabled, 2 = Hidden, 3 = Collapsed. |
| Tag | string |
An optional and arbitrary string to identify this primitive. |
Embodiments
default
Default
Properties
| Property Name | Description |
|---|---|
| displayDecimalPlaces | The fixed decimal places to display (1-15), or optional decimal places to display (-1 to -15), or no display of fractional portion (0). |
| displayNegativeFormat | The format for displaying negative numbers Values: => absolute – Display the absolute value of number without any symbols representing negative numbers.=> minusSignPrefix – Prefix the number with a minus sign. (default)=> parens – Surround the number with parentheses. |
| displayThousandths | Whether to display the thousandths separators. |
| focusSelection | How the edited content should be selected upon getting keyboard focus. Values: => begin – Select the beginning of content=> end – Select the end of content (default)=> all – Select all of the content |
| maxValue | Maximum allowed value for the field. |
| minValue | Minimum allowed value for the field. |
| popupChoices | Choices to display in popup list |
color
Field for entering and selecting color values.
Properties
| Property Name | Description |
|---|---|
| focusSelection | How the edited content should be selected upon getting keyboard focus. Values: => begin – Select the beginning of content=> end – Select the end of content (default)=> all – Select all of the content |
font-size
Field for specifying a font size.
Properties
| Property Name | Description |
|---|---|
| focusSelection | How the edited content should be selected upon getting keyboard focus. Values: => begin – Select the beginning of content=> end – Select the end of content (default)=> all – Select all of the content |
Table
Presents a 2D array of primitives in a table consisting of rows and columns.
Fields
| Field Name | Type | Description |
|---|---|---|
| Embodiment | string |
A JSON string specifying the embodiment to use for this primitive. This can be assigned explicitly or by an update from the App. |
| HeaderRow | []Primitive |
The headings to show above each column. |
| ModelRow | []Primitive |
A row of model primitives that model what each cell in each column will look like. |
| Rows | [][]Primitive |
The rows of primitives to show in the table. |
| SelectedRows | []int |
The indices of the selected rows. |
| SelectionChanged | event |
Fires when selection changes. |
| SelectionMode | int |
The selection mode: 0=None, 1=One Always, 2=One or None, 3=Multiple. |
| Status | int |
0 = Normal, 1 = Disabled, 2 = Hidden, 3 = Collapsed. |
| Tag | string |
An optional and arbitrary string to identify this primitive. |
Embodiments
default
Default
Properties
| Property Name | Description |
|---|---|
| columnSettings | Array of settings for each column |
| insideBorderAll | Border width for all interior sides of table cells, expressed in logical pixels |
| insideBorderBottom | Border width for the interior bottom side of a table, expressed in logical pixels |
| insideBorderColor | Border color for all interior sides of a table |
| insideBorderHorizontals | Border width for the interior horizontal dividers of a table, expressed in logical pixels |
| insideBorderLeft | Border width for the interior left side of a table, expressed in logical pixels |
| insideBorderRight | Border width for the interior right side of a table, expressed in logical pixels |
| insideBorderTop | Border width for the interior top side of a table, expressed in logical pixels |
| insideBorderVerticals | Border width for the interior vertical dividers of a table, expressed in logical pixels |
paged
A table of primitives shown as a series of pages.
Properties
| Property Name | Description |
|---|---|
| columnSettings | Array of settings for each column |
| rowsPerPage | Number of rows to display for each page of table information |
Text
Displays a piece of text.
Fields
| Field Name | Type | Description |
|---|---|---|
| Content | string |
The text to show. |
| Embodiment | string |
A JSON string specifying the embodiment to use for this primitive. This can be assigned explicitly or by an update from the App. |
| Status | int |
0 = Normal, 1 = Disabled, 2 = Hidden, 3 = Collapsed. |
| Tag | string |
An optional and arbitrary string to identify this primitive. |
Embodiments
default
Default
Properties
| Property Name | Description |
|---|---|
| backgroundColor | Background color |
| color | Color of embodiment (typically the foreground) |
| fontFamily | Font family |
| fontSize | Font size |
| fontStyle | Font style Values: => normal – Normal weight (default)=> italic – Italic font |
| fontWeight | Font weight Values: => normal – Normal weight (default)=> bold – Bold weight=> w1 – Weight 10%=> w2 – Weight 20%=> w3 – Weight 30%=> w4 – Weight 40%=> w5 – Weight 50%=> w6 – Weight 60%=> w7 – Weight 70%=> w8 – Weight 80%=> w9 – Weight 90% |
TextField
Field for entering text.
Fields
| Field Name | Type | Description |
|---|---|---|
| Embodiment | string |
A JSON string specifying the embodiment to use for this primitive. This can be assigned explicitly or by an update from the App. |
| Status | int |
0 = Normal, 1 = Disabled, 2 = Hidden, 3 = Collapsed. |
| Tag | string |
An optional and arbitrary string to identify this primitive. |
| TextEntry | string |
The entered text or the initial text to edit. |
Embodiments
default
Default
Properties
| Property Name | Description |
|---|---|
| focusSelection | How the edited content should be selected upon getting keyboard focus. Values: => begin – Select the beginning of content=> end – Select the end of content (default)=> all – Select all of the content |
| hideText | Hide the input text. |
| hidingCharacter | Character to use for hiding the input text. If not specified then the asterisk * character is used. |
| maxDisplayLines | Maximum lines to be displayed. |
| maxLength | Maximum allowed length for text entry. |
| maxLines | Maximum allowed lines for text entry. |
| minDisplayLines | Minimum lines to be displayed. |
Timer
Performs updates on a regular interval.
Fields
| Field Name | Type | Description |
|---|---|---|
| Embodiment | string |
A JSON string specifying the embodiment to use for this primitive. This can be assigned explicitly or by an update from the App. |
| PeriodMs | int |
The amount of time in milliseconds between each timer tick. |
| Status | int |
0 = Normal, 1 = Disabled, 2 = Hidden, 3 = Collapsed. |
| Tag | string |
An optional and arbitrary string to identify this primitive. |
| TimerFired | bool |
True when the timer is fired in the app. |
Embodiments
default
Default
Properties
Tree
A tree of primitives.
Fields
| Field Name | Type | Description |
|---|---|---|
| Embodiment | string |
A JSON string specifying the embodiment to use for this primitive. This can be assigned explicitly or by an update from the App. |
| ModelItem | Primitive |
A model primitive that models what each item in the list will look like. |
| Root | Primitive |
The root node of the tree. |
| SelectedPath | []int |
The sequence of sub node traversals to reach the selected node. |
| Status | int |
0 = Normal, 1 = Disabled, 2 = Hidden, 3 = Collapsed. |
| Tag | string |
An optional and arbitrary string to identify this primitive. |
Embodiments
default
Default
Properties
Tristate
A true, false, or indeterminate choice.
Fields
| Field Name | Type | Description |
|---|---|---|
| Embodiment | string |
A JSON string specifying the embodiment to use for this primitive. This can be assigned explicitly or by an update from the App. |
| Label | string |
The text to show in the item. |
| LabelItem | Primitive |
A primitive to show as the label. |
| State | int |
The state of the option (0 = Negative, 1 = Affirmative, and -1 = Indeterminate). |
| Status | int |
0 = Normal, 1 = Disabled, 2 = Hidden, 3 = Collapsed. |
| Tag | string |
An optional and arbitrary string to identify this primitive. |
Embodiments
default
Default