The Class Browser is designed to display and edit UBIK® objects in a hierarchical manner.
It is also meant to be the superior of all other controls and the only one where at least one instance of it is actually mandatory in a UBIK Studio session. So it can be considered as the root of object manipulation in UBIK.
In addition, it makes use of Namespaces and uses them for structuring the displayed objects even further.

Depending on the current view style, the control displays different types of UBIK® classes.
Each major class type is by default associated with a unique icon in order to provide a visual distinction of the class types. However, these icons can be replaced by more specific ones during the customization process, which means that it is not a reliable indicator whether an object is of a certain type.
The coloring of an icon indicates another object status:
Hovering with the mouse over a tree node will bring up a tooltip showing:
Depending on the actual type of the object, additional information may be presented in the tooltip.
The nodes always display the string representation of the respective object.
By default:
MetaClasses
Name Description
Content Objects
Description (Name)
As this behavior can be customized, nodes may display different text.
The Class Browser is a source for drag-and-drop operations.
Any object, with the exception of namespaces, can be dragged from here.
| Item | Purpose |
|---|---|
| View Style | Indicates or changes the view style of the control. Changing it reloads the control. |
| Search | Allows a visual search through the labels of the tree nodes. Found objects are highlighted accordingly. |
class-browser-context-menu.png
Right-clicking a node opens a standard context menu for each node except namespaces.
Depending on the selected view style, additional options may be available. All nodes provide at least the following menu items:
| Menu Item | Object Type | Purpose |
|---|---|---|
| Derive New Object | MetaClass | Creates a new derivative of the context MetaClass. |
| Navigate To | All | Opens the navigation menu. |
| Save | All | Saves changes on the object to the database. |
| Delete | All | Deletes the object from cache. It is only removed from the database after a save operation. |
| Start Workflow... | All | Provides all workflows assigned to this object, categorized. Clicking an item starts the workflow and passes the current context object. |
| Switch Branch To... | MetaClass | Opens a submenu to transfer a MetaClass, including all sub-objects, into Live Mode (Released) or back into Sandbox Mode. This option is only available for administrators in the Release State view style. System objects and objects already in the target mode are not affected. |
| Switch to Sandbox Mode / Live Mode | MetaClass | Transfers the MetaClass into Live Mode (Released) or back into Sandbox Mode. This option is only available for administrators in the Release State view style. |
class-browser-view-styles.png
The Class Browser has three different view styles, each providing different views and functionality.
In this view mode, the Derivates relation from every MetaClass deriving directly or indirectly from BaseClass is evaluated.
This is also the view style where new MetaClasses should be created by deriving from existing ones.
In this view mode, the Inheritance relation of all MetaClasses is evaluated.
Expanding a node displays its inheritance owner below it, which implies that there can only ever be exactly one node below another in this view.
In this view mode, the Instances of all MetaClasses are evaluated.
Edit the label of any node except namespaces using F2 and press Enter when finished.
The text left of the first blank is assigned to the Name property (NAME) of the object, while the text right of the first blank is assigned to its Description property (DESCR).
If the object does not possess the NAME or DESCR property, or if it is locked, editing is not possible.
Edit the label of a namespace node using F2 and press Enter when finished.
This attempts to set the namespace property (NAMESPACE) of all direct child objects (first level only) to the new value.