Attribute Editor


The Attribute Editor is located by default in the top-left area of the main window. It’s visibility can be toggled with the tb button found in the quick dock-bar button group:



The Attribute Editor lets you edit the properties of the currently selected items (nodes). If nothing is selected, only the document settings are displayed. If more than one item is selected, the properties of the active item are shown.


Main elements of the Attribute Editor displaying the properties of a selected shape.

The attribute editor contains several Property Sheets. Beside the Construction History details, one Property Sheet always corresponds to one Node. The amount and arrangement of these sheets depends on the type of the selected nodes. For most node types, only one sheet is displayed [1]. However for transform nodes, (eg. if an element is picked up by the mouse with one of the Transform Tools) at least sheets with the transform settings (transform node) and shape settings (shape node) and document settings are displayed. If the shape or transform mode have either incoming connections or a construction history, an additional “Construction History details” sheet is present (see figure below).


Different active Property Sheets of the same selected shape (left: Transform settings, middle: Shape settings, left: Shape history).

Each sheet has a header on its top. To open display the contents of a Property Sheet, simply click on the sheet header. While in the inactive sheet headers only the undock button is visible, headers of active sheets have more buttons:


Elements of an active Property Sheet header. The first part (left) shows information abut the note type and name. on the right side, the header contains several buttons.

In detail, these buttons (when clicked on them) do the following:

Open Help for this Node
Opens the Help Browser and displays the node reference help pages.
Add an Attribute
Opens the Add dynamic Attributes dialog. See ???? for more information on Dynamic Attributes.
Undock window

Un-docks the property sheet.


Undocked Property Sheets are frozen, meaning they keep displaying the same properties also after the selection has been changed.


Frozen/Undocked Property Sheets are handy to quickly create connections between nodes with drag-n-drop

Working with the Attribute Editor

The Attribute Editor might be the most used editor, when editing structures. Therefore it is important to understand how it works and to know it’s features. Beside the knowledge of the Attribute Editors features it is also important to understand how smile2 organized data, especially the concept of nodes and plugs.

Each Property Sheet displays the plugs (Attributes) of one node. Depending on the node type, these contents are organized in groups. Depending o the type of the plug, a specific plug control is used to display the plug content.


Controls for different plug types.

The intention of this chapter is to give en overview on how to work with plug controls. For a complete reference of all built-in control types, refer to the Plug Control Reference chapter.

Drag and Drop

All Control types support drag-n-drop with the middle mouse button.


Example of a drag and drop operation in progress. The Translation control on the right has been grabbed with the middle mouse button and is about to be dropped (mouse release) on the Width control.

With the help of drag-n-drop, connections between different plugs can be created. If the types match exactly, and have no sub-plugs the connection is made immediately after the mouse release. If not, a dialog is opened, and sub-plugs can be chosen.

Context Menu

All Controls have a context menu. It can be activated with the right mouse button. Some elements in the context might differ, depending on the control type, but all Controls have the following common context menu entries:

Reset to default
Resets the value to the plugs default value
Cut input connection
Only present, if an input connection exists. Cuts this connection.
Go to input node
Only present, if an input connection exists. Displays the property sheet of the node the input plug belongs to.
Go to output node <Name>
Only present, if output connections exists. Displays the property sheet of the node the selected output plug belongs to.

Automatic connection

The controls for numbers (and 2D vectors) can be not only used to perform calculation but they can be used to either grab values from other plugs or to establish connections (with automatic addition of expression nodes).

To grab the value from an other plug type the qualified plug name in. (eg.: myRect.rotation*2)

To connect the value from an other plug type the qualified plug name after a leading ‘=’. (eg: =myRect.rotation*2)

A simple example:



It is a quite common task to set a property value to more objects. The attribute editor supports a convenient way to do this. Simply select all related objects, navigate to the property in the attribute editor, and change the desired value. The corresponding property of all selected objects (that actually have this property) will be changed. This works not only for “front nodes”, but also for any history node.

The following animated gif demonstrates this with three rectangles:



[1]The Document Settings Sheet is always present. Even if nothing is selected.