Numeric Types | |
---|---|
Boolean | A true/false value. Modeled as 0/1 in Python. Technically, 0 is false and anything else is true. |
Short | A 16-bit signed integer. Can hold values between -32,768 to 32,767, inclusive. |
Integer/int | A 32-bit signed integer. Can hold values between -2,147,483,648 to 2,147,483,647 inclusive. |
Long | A 64-bit signed integer. Can hold values between -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807 inclusive. |
Float | A 32-bit signed floating point number in IEEE 754 format. |
Double | A 64-bit signed floating point number in IEEE 754 format. |
Non-Numeric Types | |
String | A string of characters. Uses UTF-16 format internally to represent the characters. |
Color | A color, in the RGBA color space. Colors can easily be made dynamic or animated using Property Bindings or Styles. |
Date | Represents a point it time with millisecond precision. Internally stored as the number of milliseconds that have passed since the "epoch", Jan 1st 1970, 00:00:00 UTC. |
Dataset | A complex data structure that closely mimics the structure of a database table. A Dataset is a two-dimensional matrix (also known as a table) of data organized in columns and rows. Each column has a name and a datatype. |
Font | A typeface. Each typeface has a name, size, and style. |
Border | A component border is a visual decoration around the component's edges. You can make a border dynamic by using the Style Customizer, the toBorder() expression function, or scripting with the Java border object. |
The Dataset Editor icon appears next to the binding icon for the Data property. Clicking the icon brings up the Dataset Editor window where you can view and make changes to the raw data. Note, that any changes will be overwritten the next time your binding polls.
With the Dataset Editor you can add and delete columns and rows, delete all rows, and copy information to or from the clipboard. When adding columns you have multiple formats to choose from: string, date, integer, double, float, etc.
The Dataset Editor icons and their corresponding actions are shown in the table below.
Icon | Action |
---|---|
Add row | |
![]() | Delete selected rows |
![]() | Add a column |
![]() | Delete selected column |
![]() | Delete all rows |
![]() | Add to clipboard |
![]() | Paste from clipboard |
You can also resize the current selection using the keyboard. To nudge the right or bottom edge of the selection in or out, use Shift combined with the arrow keys, which resizes by the nudge distance, which defaults to one pixel at a time. To nudge the top or left edge of the selection, use Ctrl-Shift combined with arrow keys. To resize faster, hold the Alt key as well, to move the component the alt nudge distance, which defaults to ten pixels at a time.|
To move the component, simply drag it anywhere within the container's bounds. You can also move whatever is currently selected by holding down Alt while dragging, regardless of whether or not the mouse is over the current selection. This is important because it is the primary way to move a Container component. (Normally, dragging in a container draws a selection rectangle inside that container).
While a component is selected, you may also use the keyboard's arrow keys to move a component around the nudge distance. Just like resizing with the arrow keys, to move the alt nudge distance, use the Alt key.
Components can be easily duplicated by dragging them as if you were going to move them and holding down the Ctrl key. This will drop a copy of the component at the desired drop location. It is often useful to also hold down Shift key as you do this to ensure exact alignment. You may also use the Ctrl-D shortcut to quickly duplicate a component in place.
Shapes can be rotated directly using the selection tool. Other components cannot be rotated in this manner. To rotate a shape, first select it using the selection tool so that you see the resize handles around it. Then simply click on it once again and you'll see the rotation handles appear. Clicking (but not double-clicking) on selected shapes toggles back and forth between the resize handles and the rotation handles.
Once you see the rotation handles, simply start dragging one to rotate the shape or shapes. Holding down the Ctrl key will snap your rotation movements to 15° increments. When the rotation handles are present, there is also a small red crosshair handle that starts in the middle of the selection. This is the rotation anchor: the point that the selection will rotate around. You can drag it anywhere you'd like to rotate around a point other than the center of the shape.
Components can also be positioned and resized with the Size and Position window. This window allows you to type in an exact pixel size of the component as well as x/y coordinates that the component will be at (with the upper left point of the component moving to that point). To access the size and position window, right click on the component and select Size and Position.
Relative Layout is the default mode. This is a simple and effective layout mode that simply keeps a component's size and position constant relative to its parent container, even when the parent container grows or shrinks. More precisely, it remembers the component's position and size as a percentage of its parent's bounds at the last time the window was saved. Relative Layout also has the option of scaling a component's font appropriately.
Note, that Relative Layout mode respects aspect ratio. So if the parent component is distorted, the contents will not be. The extra space is distributed evenly on both sides of the contents.
By default, font scaling is enabled on all components, but it can behave differently on some components so it’s good to test it out before putting it into production. You can change the default Component Layout settings in Project Properties under Vision > Design > Relative Layout Options.
When individual components are dragged into a window, the following default Layout settings for each component are applied. All components on the window default to font scaling.
When individual components are grouped together, the default Layout settings are applied to the new group component, and to each component in the group. All the components in the group default to font scaling.
Font scaling on individual components in a group can be disabled by selecting the group, and double clicking on a single component. You will get a red outline around the group, then you can select the individual component(s), and disable font scaling. Note: The individual component font scale setting takes precedence within a group.
When you remove the group (right-click and select Ungroup), all the individual components within that group will get reset to the default Layout settings including font scaling, even if font scaling was set differently.
You can convert a group to a container to change the way scaling works. Ignition remembers the last Layout Settings you made to each individual component in that group prior to the conversion to a container (i.e., if any of the components had font scaling disabled, once the group is converted to a container, those same components will still have font scaling disabled).
Anchored Layout lets you specify various "anchors" for the component. The anchors dictate how far each of the 4 edges of the component stay from their corresponding edges in the parent container.
Anchored Layout Options
For example, if you anchor top and left, then your component will stay a constant distance from top and left edges of its parent. Since you didn't specify an anchor for the right or bottom sides, they won't be affected by the layout.
If you anchor bottom and right instead, the components will again stay the same size (since you didn't specify an anchor for their other edges, but they will stay a constant distance from their parent's right and bottom edges.
Of course, you can mix and match the various modes for the different components in a given container. The following image shows the following: