Often, a Customizer works as a user-friendly user interface to one or more expert properties. For example, the Easy Chart Customizer modifies the contents of the pens, tagPens, calcPens, axes, and subplot dataset properties. This means you can also use Property Bindings and scripting to modify the values of these expert properties at runtime, giving you the ability to dynamically perform complex manipulations of components. |
Some components have styles already setup and others do not. The following example involves a Cylindrical Tank component that already has a styles defined. This example shows you how to change styles using the Style Customizer for the Cylindrical Tank.
For this example, click on Capacity > Liquid Color and then the Add Property icon. Repeat this step for the Show Value and Tank Color Properties.
Next under Styles, click the Add icon.
Click the Expand icon to see the color palette for the Liquid Color.
In this example, we have a Level Indicator component that is displaying the level in a tank. Let's say that you want to have its appearance change based on the alarm state of the tank's temperature. We'll do this using a custom property.
Let's look at another example that uses the Custom Properties and the Styles feature together. For example, the Label component seems pretty plain at first: it just displays a string. You can use its foreground color, background color, and border to make it look interesting.
We could have used the Multi-State Indicator component from the very beginning, but understanding this example will let you create your own types of components by combining the existing components in creative ways.
Some components like the Easy Chart, Table, Power Table, Tab Strip, Multi-State Button, and Multi-State Indicator have default styles already setup, but you can modify them however you like. If you don't like the default styles, change them. They are there to simply help you get started.
You can bind a property that is already being used by a style, but a warning icon will appear on the property, and the property name turns red in the In the Property Editor. This means there is a conflict between the binding on the property, and the style on the component. As a general practice, only the style or binding should write to the property, not both.