Org.simantics.views

From Developer Documents
Revision as of 13:33, 24 October 2011 by Antti Villberg (talk | contribs)
Jump to navigation Jump to search

Modelled views are structural models of graphical user interfaces defined in org.simantics.views*

Basic concepts

A modelled view is a structural model of controls. The model configuration can be evaluated to produce a scene graph as defined in org.simantics.scenegraph. A single view configuration can be evaluated into multiple different scene graphs with different node types (e.g. SWT, AWT, PDF, HTML). The evaluation is done in the context of org.simantics.db.layer0.variable.Variable.

The properties of controls in a modelled view are often defined as functions of an external input assigned to the evaluation context e.g. a view can be defined to represent the current workspace selection. In the control hierarchy, relative references can also be modelled e.g. an action can be applied on an output of a specific control. It is also possible to declare a substructure of controls as a type such that some properties in the substructure are defined as functions of some interface properties declared in the type and defined in instances of that type.

Modelling

Composite

Composites are used mainly to lay out other controls.

Label

Labels display read-only text.

Text

Text represents an editable text, which produces instant notification of any changes.

Button

Button represents a standard button.

Combo

Combo represents a standard drop-down.

Tracked Text

Tracked text represents an editable text, which produces change notifications only when the editing operation ends.

Explorer

Explorer represents a browse context as tree.

TabFolder

Tab folders represent a stack of composites.

Scrolled Composite

Scrolled composite is a composite which does not impose its size restrictions on its children.

Combo2

Combo2 is a variation of Combo.

Implementation

SWT

SWT view scene graphs are created using org.simantics.views.swt.SWTViewLoaderProcess. The loader creates a scene graph based on org.simantics.views.swt.client.base.ISWTViewNode, which allows for creating the view under a SWT composite.


public interface ISWTViewNode extends INode {

	Control getControl();
	IWorkbenchSite getSite();
	void createControls(Composite parent);
	
}