GO Attributes
Project Explorer -> GO -> Attributes
 |
Since the last release we have enhanced the functionality of the Graphical Object Attributes section. Indeed this window is more important then ever before. From 'ViewIDs' to the optimization of the devices´ - the settings are made here. So we should have a closer look
at this section.
The way in which Single GOs are displayed is in general based on the hierarchy of their
appearance in the Module as well as the GO Tree.
The top most elements are displayed in the background and the element at the bottom
of the list is displayed in the foreground. This rule
applies to all objects on the same level within a group. The
hierarchy of the visualization can be altered by adjusting the top level value
of a GO. This value overwrites the position obtained through the Module as well as the GO Tree. When using the top level value lower values represent
objects in the background and vice versa. Again these settings only apply to
objects on the same level within a group. An object
can be forced to the background by setting its top value to –1. The range of top
level is from –1 to 1000.
Generally speaking you can adjust the appearance and the handling of the graphical objects, GOTrees and ViewTrees with this window. As you have different types of graphical objects - like the group, different types of text, bitmaps etc. - this window does not always show the same flags.
|
| | |
Let us distinguish between GOs, GOTrees and ViewTrees. GOs are simple graphical objects like
text, a bitmap, an animation and so on. A GOTree is a composition of multiple GOs - like most of the surface elements. A button
for example consists at least of a Background, a ButtonOn bitmap and a ButtonOff bitmap. In the picture you see the GOTree of a two-state button. It consists of a 'Background', a 'BitmapOn' and a 'BitmapOff' GO. So there are three simple GOs, one is marked red to indicate that this is a single GO.
|  |
 | A ViewTree is a hierarchy of surface elements, this means different surface elements grouped together. The ViewTree is created from a hierarchical structure of surface modules and therefore it is a composition of multiple GOTrees. But the structure of the ViewTree is not the same as that of the equivalent module hierarchy (which is also a tree and which directly determines the content of the ViewTree). In fact the structure of the ViewTree depends on the used GOs/GOTrees.
In the picture you see a module hierarchy - a controls group - that has a related ViewTree. |
As a GOTree is a hierarchical structure there is a parent-child-relation. The parent passes most of the GO Attributes to the children - as long as you do not manually set contrary flags for the children. This is not true for the ViewTree.
The GO Attributes Settings
ViewID
Lets you adjust the ViewID of the selected module. Elements with their ViewID set to 'Surface' are only visible in 'surface view', ViewID 'Circuit' is only visible in 'circuit view' and 'None' is not visible at all.
|  |
Z-Order value (works in conjunction with the 'On Top' flag)
To design sophisticated interfaces for your devices Scope allows you to place different GOTrees on top of each other. This order is the so-called Z-Depth or Z-Order. With this value you may adjust the Z-position of the element. A GOTree with a higher value is positioned on top of these with lower values.
|  |
Information Field
Tells you which GO-type is currently selected.
|  |
Visible
Controls the ViewID and therfore the visibility of the selected GO/GOTree depending on the view context.
Selectable
Adjusts if the current GO/GOTree can be selected in the Project Window or on the surface. This flag does not affect the Project Explorer.
You can always select a module in the Project Explorer no matter what this flag is set to.
Fixed Z-Order
This flag forces all GOs into a fixed hierarchy. The top level hierarchy is determined by the hierarchy of the Project Explorer followed by
the hierarchy determined in the GOTree. The GOTree is a composition of simple GOs as shown in the GO Window. Generally speaking this flag
affects GOs that are located on the same level in the GOTree as well as GoTrees
on the same level in the Project Explorer.
Draw ClipChildren
For performance issues the 'Draw ClipChildren' flag should be always set (with exception for the 'close group'). This flag effects groups of
surface elements (a number of sliders and their names, etc.) and forces the group to only draw/redraw GOs that are inside the group's borders.
Everything outside the group is clipped. If this flag is not set the group looks for its elements on the whole surface to (re)draw them.
This could be time consuming.
If you use your own graphical objects you should give the object the appropriate dimensions when creating them. That way a group that holds
these elements will automatically be adjusted to the right size. Otherwise it might be necessary to resize the group manually in
Edit mode.
In former versions we advised to calculate the shadows into the GOs. Because we have improved the algorithm and integrated shadows this can
cause problems with the 'Draw ClipChildren' attribute. It is no longer preferable to do so. The overhead for dynamic
shadows has been greatly reduced and we recommend using them.
Select ClipChildren
Maybe you decide to not set the 'Draw ClipChildren' flag because you have some GOs that you have
positioned outside the group and you want them to be displayed. In such cases you might want to use the
'Select ClipChildren'. This flag prevents these elements from being selected, and thus the group does not need to check inputs from them.
Custom horizontal size
If you set this flag you can resize a Go Group manually in horizontal direction. If you uncheck this flag and the 'ViewTree Group' flag is active the vertical size will resize so it fits the children exactly.
Custom vertical size
If you set this flag you can resize a Go Group manually in vertical direction. If you uncheck this flag and the 'ViewTree Group' flag is active the vertical size will resize so it fits the children exactly.
ViewTree Group
If you set this flag, the GO Group grows to include all its children. For performance issues you should set the two custom size flags and turn off this flag. Please use 'ViewTree Groups' only to calculate the custom size of the selected group. Then set the 'Custom horizontal size' and 'Custom vertical size' flags and turn the flag off again! A modules context menu in the Project Explorer will give you an option to check how many 'ViewTree Groups' are currently be used in this module (RMB -> Tools -> Check Performance).
Behave like view
This flag determines that the children are positioned at the upper left border of the group.Generally you will want to set this flag but there are some exceptions - with the button2 it is necessary to position the buttons not at the upper/left border but with a distance of 2 pixels for the highlight.
|