ProntoGUI Reference Guide
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. |
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 |
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 |
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
// A JSON string specifying the embodiment to use for this primitive. This can be assigned explicitly or by an update from the App.
Embodiment string
// The primitive to show on the left side of the card.
LeadingItem Primitive
// The primitive to show on the main or title portion of the card.
MainItem Primitive
// The primitive to show on the lower or subtitle portion of the card.
SubItem Primitive
// The primitive to show on the right or trailing portion of the card.
TrailingItem Primitive
Embodiments
default
A regular checkbox.
Properties
Check
Displays a checkbox.
Fields
// A JSON string specifying the embodiment to use for this primitive. This can be assigned explicitly or by an update from the App.
Embodiment string
// True if the item appears checked.
Checked bool
// The text to show in the item.
Label string
Embodiments
default
A regular checkbox.
Properties
Choice
Displays choice and provide means of selecting from a list of choices.
Fields
// A JSON string specifying the embodiment to use for this primitive. This can be assigned explicitly or by an update from the App.
Embodiment string
// The current choice that is selected, or empty string if nothing chosen.
Choice string
// The choice values.
Choices []string
// The labels to show corresponding to each item in Choices.
ChoiceLabels []string
Embodiments
default
Edit styled field with pull down list.
Properties
button
Button styled dropdown choice.
Properties
Command
Displays a button or equivalent
Fields
// A JSON string specifying the embodiment to use for this primitive. This can be assigned explicitly or by an update from the App.
Embodiment string
// True when the user has clicked the command.
CommandIssued bool
// The text to show in the item.
Label string
// 0 = normal, 1 = item disabled, 2 = ite hidden.
Status int
Embodiments
default
An elevated button.
Properties
outlined-button
A button with an outline.
Properties
ExportFile
Exports a file from the server.
Fields
// The blob of data representing the binary contents of the file.
Data []byte
// True when the file has been exported (stored to a file) by the app. This field is updated by the app.
Exported bool
// The file name including its extension separated by a period.
Name string
Embodiments
default
Default
Properties
Frame
Holds arbitrary primitives for display and interaction.
Fields
// A JSON string specifying the embodiment to use for this primitive. This can be assigned explicitly or by an update from the App.
Embodiment string
// The collection of primitives that comprise the GUI frame.
FrameItems []Primitive
// The primitive (Icon) to show.
Icon Primitive
//
Showing bool
// The title to show for the frame.
Title string
Embodiments
default
Shows primitives in allocated space.
Properties
Property Name | Description |
---|---|
flowDirection | The direction of content flow within the primitive |
layoutMethod | How child primitives are arranged |
full-view
Shows primitives in allocated space.
Properties
Property Name | Description |
---|---|
flowDirection | The direction of content flow within the primitive |
layoutMethod | How child primitives are arranged |
dialog-view
Shows primitives in a dialog view.
Properties
Property Name | Description |
---|---|
flowDirection | The direction of content flow within the primitive |
layoutMethod | How child primitives are arranged |
snackbar
Shows primitives in a snackbar.
Properties
Property Name | Description |
---|---|
snackbarBehavior | Snackbar behavior |
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
// A collection of primitives to show together.
GroupItems []Primitive
// 0 = normal, 1 = item disabled, 2 = ite hidden.
Status int
Embodiments
default
Default
Properties
Icon
A graphical icon from Material design.
Fields
// The ID of the material icon to show.
IconID string
Embodiments
default
Default
Properties
Property Name | Description |
---|---|
color | Color of embodiment (typically the foreground) |
size | Size expressed in logical pixels |
ImportFile
Imports a file into the server.
Fields
// The blob of data representing the binary contents of the file.
Data []byte
// True when the file has been imported from the app.
Imported bool
// The file name including its extension separated by a period.
Name string
// The allowed file extensions for the file.
ValidExtensions []string
Embodiments
default
Default
Properties
List
Displays a list of items.
Fields
// The primitives to show in the list.
ListItems []Primitive
// A model primitive that models what each item in the list will look like.
ModelItem Primitive
// The index of the currently selected item in the list, or -1 if none selected.
SelectedIndex int
Embodiments
card
A list of card items.
Properties
Property Name | Description |
---|---|
horizontal | List is arranged horizontally instead of the default vertical fashion. |
itemHeight | Height of items expressed in logical pixels |
itemWidth | Width of items expressed in logical pixels |
normal
A list of text items.
Properties
Property Name | Description |
---|---|
horizontal | List is arranged horizontally instead of the default vertical fashion. |
itemHeight | Height of items expressed in logical pixels |
itemWidth | Width of items expressed in logical pixels |
property
A list of property items.
Properties
Property Name | Description |
---|---|
horizontal | List is arranged horizontally instead of the default vertical fashion. |
itemHeight | Height of items expressed in logical pixels |
itemWidth | Width of items expressed in logical pixels |
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
// The primitive held at this node
NodeItem Primitive
// Ths sub or child nodes under this node.
SubNodes []Primitive
Embodiments
default
Default
Properties
Nothing
Shows nothing and acts as a filler where a primitive is normally shown.
Fields
Embodiments
default
Default
Properties
NumericField
Field for editing numberic values.
Fields
// The number entered or the number to edit.
NumericEntry string
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 |
displayThousandths | Whether to display the thousandths separators. |
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
font-size
Field for specifying a font size.
Properties
Table
Presents a 2D array of primitives in a table consisting of rows and columns.
Fields
// The text headings to show above each column.
Headings []string
// A row of model primitives that model what each cell in each column will look like.
ModelRow []Primitive
// The rows of primitives to show in the table.
Rows [][]Primitive
// 0 = normal, 1 = item disabled, 2 = ite hidden.
Status int
Embodiments
default
Default
Properties
Text
Displays a piece of text.
Fields
// The text to show.
Content string
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 |
fontWeight | Font weight |
TextField
Field for entering text.
Fields
// The entered text or the initial text to edit.
TextEntry string
Embodiments
default
Default
Properties
Timer
Performs updates on a regular interval.
Fields
// The amount of time in milliseconds between each timer tick.
PeriodMs int
// True when the timer is fired in the app.
TimerFired bool
Embodiments
default
Default
Properties
Tree
A tree of primitives.
Fields
// A model primitive that models what each item in the list will look like.
ModelItem Primitive
// The root node of the tree.
Root Primitive
// The sequence of sub node traversals to reach the selected node.
SelectedPath []int
Embodiments
default
Default
Properties
Tristate
A true, false, or indeterminate choice.
Fields
// The text to show in the item.
Label string
// The state of the option (0 = Negative, 1 = Affirmative, and -1 = Indeterminate).
State int
Embodiments
default
Default