Text component has a special property: 'for', the 'for' property will let the let the text bind with a number input field that has the same id with the 'for' value. If the text bing with a number input field, you can directly drag on the text component just like a slider, when dragging the text component will change the number input field's value automatically:

gui.label(text, properties, layoutConfig)

Create and return a qc.editor.Label component.

Label is similar with Text, but the Label component can display icon, so it's a litter heavier than Text component. In short, if you just need to display text, use Text component, if you need to display a icon, use Label component.

The 'bind' is a very important property for all mutable component such as numberInput and stringInput. It's a powerful and convinent two-way binding for GUI component and Behavior script. Like the sample above, user can change script's align value by selecting the button, and when script's align value is changed programmly, the result will be displayed on the GUI interface automatically.

gui.angleInput(properties, layoutConfig)

Create and return a qc.editor.AngleInput component. Normally the rotation value is operated in memory by radian, but using angle is much better for reading and setting. So the AngleInput is this kind of component that will display radian value as angle value for reading, but when setting value, it will convert angle to radian automatically.

Click on the component to pop up a color picker dialog to change color:

gui.objectInput(properties, layoutConfig)

Create and return a qc.editor.ObjectInput component for binding with game object or assets object(texture, sound, font, .etc). User can change the value directly by dragging the game object in hierarchy panel or asset in project panel to drop on the object input component.