IlpNetwork
as follows:
networkComponent = new IlpNetwork(myConfigurationFile);
ilog.cpl.network.defaultConfiguration.css
from the
jviews-tgo-all.jar
file.
<?xml version="1.0"?> <tgo xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation = "ilog/cpl/schema/project.xsd" style="configurationFile1.css,configurationFile2.css"> <datasource javaClass="ilog.tgo.datasource.IltDefaultDataSource" fileName="network.xml"/> </tgo>
networkComponent = new IlpNetwork(); networkComponent.setStyleSheets( new String[] { myConfigurationFile1, myConfigurationFile2 });
setStyleSheets
as follows:
networkComponent = new IlpNetwork(); networkComponent.setStyleSheets( new String[] { IlpNetwork.DefaultConfigurationFileName, myExtraConfigurationFile });
<installdir>
is the directory where you have installed JViews TGO.
// *************************************************** // * COMPONENT CUSTOMIZATION * // * * // * This section is enclosed by * // * Network { * // * } * // * and specifies which feature will be customized: * // * - toolbar (Network Component's toolbar) * // * - view (Scrollbar configuration) * // * - overview (Presence of an overview) * // * - interactor (Default view interactor) * // * - zooming (Zoom policy set in the view) * // * - graphlayout (Layout for the nodes) * // * - linklayout (Layout for the links) * // * - labellayout (Layout for the labels) * // * - positioning (Position policy for objects) * // * - backgrounds (Backgrounds set in the view) * // * - adapter (Network adapter customization) * // *************************************************** Network { toolbar: true; interactor: true; zooming: true; adapter: true; }
GraphLayout
is not taken into account unless
graphlayout: true;
is declared in the Network rule.
GraphLayout
customizations in a default CSS file and then turn them on or off
in another CSS file.
ilog.cpl.network.renderer
.
Property
|
Rule
Type |
---|---|
adapter
|
Adapter
|
toolbar
|
ToolBar
|
view
|
View |
overview
|
Overview
|
interactor
|
Interactor
|
zooming
|
Zooming
|
graphLayout
|
GraphLayout
|
linkLayout
|
LinkLayout
|
labelLayout
|
LabelLayout
|
backgrounds
|
Backgrounds
|
positioning
|
Positioning
|
enabled
is a Boolean property, with default value
true
. It controls whether the toolbar is visible or not.
external
is a Boolean property, with default value
false
. It specifies whether the placement and visibility of the
toolbar are managed by user code instead of internally by the
network component.
button[i]: @+ButtonId;
followed by the customization setting of the button with the
given
ButtonId
.
actionType
. This property specifies the action triggered by the button or a
separator that is added to the toolbar. The value can be:
Select
, used for predefined actions, or
AbstractButton
with a constructor that takes an instance of IlpViewsView as argument, or
Separator
short name to indicate that a separator should be placed in
the specified position.
Separator
. This button action supports an optional property,
dimension
, which allows you to specify the dimensions of the separator
in the toolbar.
ToolBar { enabled: true; button[0]: @+SelectButton; button[1]: @+Separator; button[2]: @+PanButton; } Subobject#Separator { actionType: "Separator"; dimension: "20,10"; }
actionType
property are the following:
actionType
Values
|
Bean
Class |
Description
|
---|---|---|
ZoomIn
|
Allows
you to zoom in the view |
|
ZoomOut
|
Allows
you to zoom out of the view |
|
ZoomBack
|
Allows
you to go back to the previous zoom level |
|
ZoomReset
|
Allows
you to reset the zoom level to the original level |
|
ZoomView
|
Allows
you to specify a rectangular area on which to zoom |
|
FitToContents
|
Allows
you to fit the contents of the view to the size of the view
|
|
ScrollToContents
|
Allows
you to recenter the view |
|
Pan
|
Allows
you to pan the view |
|
Select
|
Allows
you to select and move objects |
|
MakeLink
|
Allows
you to create links |
|
MakeLinearGroup
|
Allows
you to create linear groups |
|
MakePolyGroup
|
Allows
you to create polygonal groups |
|
MakeRectGroup
|
Allows
you to create rectangular groups |
|
EditGroup
|
Allows
you to edit the shape of groups |
|
EditLabel
|
Allows
you to edit labels |
|
EditEquipmentObject
|
Allows
you to edit equipment objects |
|
LabelLayout
|
Allows
you to trigger the label layout |
permanent
. This is a Boolean property, with default value
true
. For interactor buttons, this property denotes whether the
interactor remains attached after it has performed its action.
name
. This property specifies the name by which other elements in
the file refer to the button. The default name is the short
name used as
actionType
.
Select
button has the properties
multipleSelectionMode
,
moveAllowed
,
dragAllowed
,
editingAllowed
,
moveThreshold
,
opaqueMove
,
showingMovingObject
,
opaqueDragSelection
,
opaqueResize
,
opaquePolyPointsEdition
,
multipleSelectionModifier
,
selectionModifier
, which are documented in the class
ilog.cpl.network.action.toolbar.IlpNetworkSelectButton
.
action[i]: @+ActionId;
followed by a customization setting for the action.
class
, which specifies the Java class of the
javax.swing.Action
object. Bean properties of this class are also customizable and
the properties
key
and
gesture
can be set to specify when the action is to be executed. These
two properties are not used in combination. For example, if you
specify:
key: "control A"; gesture: "BUTTON1_CLICKED";
BUTTON1
is clicked. To define the property
gesture
, specify one of the predefined user gestures defined in class
IlpGesture. To define the property
key
, specify a string that will be converted to a keystroke by the
type converter ( IlpTypeConverter).
popupMenuFactory
. The value of this property should be a bean that implements
the interface IlpPopupMenuFactory. For example,
Subobject#SelectButton { actionType: "Select"; popupMenuFactory: @+popupMenuFactory; } Subobject#popupMenuFactory { class: 'CustomPopupMenuFactory'; }
popupMenuFactory
" is a bean that is defined by the class
CustomPopupMenuFactory
. This class should implement the interface IlpPopupMenuFactory.
actionType
property
).
select
interactor. When this interactor is enabled, you can customize
actions, pop-up menus and interactor properties as illustrated
here:
ToolBar { enabled: true; button[0]: @+SelectButton; } Subobject#SelectButton { actionType: "Select"; usingObjectInteractor: true; opaqueMove: true; action[0]: @+action0; popupMenuFactory: @+popupMenuFactory; } Subobject#popupMenuFactory { class: 'CustomPopupMenuFactory'; } Subobject#action0 { key: "control A"; class: 'ilog.cpl.graph.action.IlpSelectAllObjectsAction'; }
public class CustomButtonAction extends IlpNetworkInteractorAction { public CustomButtonAction(IlpViewsView view) { super(view); // Do any needed initialization // Define your own view interactor that will be active when the button is selected // in the toolbar IlpViewsViewInteractor interactor = new IlpViewsViewInteractor(); // Register the interactor in this action setIlpInteractor(interactor); } }
ToolBar { enabled: true; button[0]: @+MyButton; } Subobject#MyButton { actionType: 'CustomButtonAction'; toolTipText: "Custom"; icon: @+customIcon; } Subobject#customIcon { class: 'javax.swing.ImageIcon'; image: '@|image("custom.png")'; }
name
usingObjectInteractor
popupMenuFactory
Property
Name |
Type |
Default
Value |
Description
|
---|---|---|---|
horizontalScrollBarPolicy
|
int
|
IlvJScrollManagerView.HORIZONTAL_SCROLLBAR_AS_NEEDED
|
Defines
the policy for the visibility of the horizontal scrollbar |
verticalScrollBarPolicy
|
int
|
IlvJScrollManagerView.VERTICAL_SCROLLBAR_AS_NEEDED
|
Defines
the policy for the visibility of the vertical scrollbar |
keepingAspectRatio
|
boolean
|
false
|
Defines
whether the view keeps the aspect ratio when zooming |
minZoomXFactor
|
double
|
0
|
Specifies
the minimum zoom factor allowed on the X (horizontal) axis of
the view |
maxZoomXFactor
|
double
|
Double.MAX_VALUE
|
Specifies
the maximum zoom factor allowed on the X (horizontal) axis of
the view |
minZoomYFactor
|
double
|
0
|
Specifies
the minimum zoom factor allowed on the Y (vertical) axis of
the view |
maxZoomYFactor
|
double
|
Double.MAX_VALUE
|
Specifies
the maximum zoom factor allowed on the Y (vertical) axis of
the view |
wheelZoomingEnabled
|
boolean
|
true
|
Defines
whether the view zooms in response to moving the mouse wheel
while pressing the Control key |
wheelScrollingEnabled
|
boolean
|
true
|
Defines
whether the view scrolls in response to moving the mouse
wheel |
View { horizontalScrollBarPolicy: AsNeeded; verticalScrollBarPolicy: Never; keepingAspectRatio: true; }
enabled
controls the visibility of the overview window. The default value
is
false
.
Overview { enabled: true; }
Property
Name |
Type |
Default
Value |
Description
|
---|---|---|---|
name
|
String
|
none |
Specifies
the name of a toolbar button that activates an interactor.
This button is activated at startup. Its interactor becomes
the initial view interactor, as well as the default view
interactor when another interactor stops its interaction.
This property is only considered when the view has a toolbar
configured and enabled. |
viewInteractor
|
IlpViewsViewInteractor
|
none |
Specifies
the interactor instance that becomes the initial view
interactor, and the default view interactor when another
interactor stops its interaction. |
Network { interactor: true; }
name
, whose value must be the name of one of the configured toolbar
buttons.
Select
toolbar button as the default view interactor:
Interactor { name: "Select"; }
Interactor { viewInteractor: @+viewInt; } Subobject#viewInt { class: 'ilog.cpl.graphic.views.IlpViewsViewInteractor'; }
interactor
. For further information, refer to IlpInteractorRenderer .
type
specifies the type of zoom. The possible values are
Logical
,
Physical
, or
Mixed
. Each zoom policy may have additional properties that you can
also set using CSS:
Property
Name |
Type
|
Default
|
Description
|
---|---|---|---|
additionalZoom
|
double
|
1
|
Specifies
an additional zoom factor that is implicitly added to the
zoom transformer of the view. This property is useful when
printing with non standard transformers. |
Property
Name |
Type
|
Default
|
Description
|
---|---|---|---|
decorationNames
|
String[]
|
null
|
Specifies a list of decoration names that are customized
at the zoom policy level. See IltGraphicElementName for a list of
decoration names that can be used.
|
visibilityThresholds
|
double[]
|
null
|
Specifies a list of thresholds, one for each decoration
name customized with property
decorationNames
. These thresholds indicate the zoom level below which the
decorations become invisible in the view. It allows you to
hide decorations as the user zooms out in the view.
|
Property
Name |
Type
|
Default
|
Description
|
---|---|---|---|
zoomThreshold
|
double
|
1 |
Specifies
the zoom threshold when the physical zoom or the logical
zoom should be used |
subnetworkZoomFactor
|
double
|
1 |
Specifies
an additional zoom threshold that is applied to expanded
subnetworks |
decorationNames
|
String[]
|
null
|
Specifies a list of decoration names that are customized
at the zoom policy level. See IltGraphicElementName for a list of
decoration names that can be used.
|
visibilityThresholds
|
double[]
|
null
|
Specifies a list of thresholds, one for each decoration
name customized with property
decorationNames
. These thresholds indicate the zoom level below which the
decorations become invisible in the view. It allows you to
hide decorations as the user zooms out in the view.
|
Zooming { type: "Mixed"; zoomThreshold: 1.0; subNetworkZoomFactor: 1.0; }
decorationNames
and
visibilityThresholds
. Property
decorationNames
specifies each decoration that is configured for the view (see
IltGraphicElementName for the list of
decoration names that can be customized). Property
visibilityThresholds
specifies, for each decoration name, the visibility threshold
below which the decoration becomes invisible. This
configuration is illustrated by the following example:
Zooming { type: "Mixed"; decorationNames[0]: Name; decorationNames[1]: AlarmBalloon; decorationNames[2]: AlarmCount; decorationNames[3]: Plinth; visibilityThresholds[0]: 0.5; visibilityThresholds[1]: 0.8; visibilityThresholds[2]: 0.5; visibilityThresholds[3]: 0.5; }
class
. This property specifies the graph layout class, a subclass of
IlvGraphLayout. Additional Bean
properties can be specified, depending on the class.
GraphLayout { class: 'ilog.views.graphlayout.uniformlengthedges.IlvUniformLengthEdgesLayout'; respectNodeSizes: true; preferredLinksLength: 200; forceFitToLayoutRegion: true; layoutRegion: "50, 50, 700, 450"; }
preserveFixedNodes
" property. This property allows you to switch the support of
fixed nodes on or off. You can set a node as fixed in the
business object customization.
IlvGraphLayout
subclasses conform to the following JavaBeans™ convention: if a
class has a pair of methods called
setMyProp
(with a single parameter) and
getMyProp
(without parameters), then you can set the property
myProp
in the style sheet.
globalLinkStyle: "ORTHOGONAL_LINKS";
globalLinkStyle:
"IlvHierarchicalLayout.ORTHOGONAL_LINKS";
globalLinkStyle:
"ilog.views.graphlayout.hierarchical.IlvHierarchicalLayout.ORTHOGONAL_LINKS";
layouts
and
autoLayoutIndex
, as illustrated below:
GraphLayout { layouts[0]: @+treeLayout; layouts[1]: @+hierarchicalLayout; layouts[2]: @+springEmbedderLayout; autoLayoutIndex: 1; } Subobject#treeLayout { class: 'ilog.views.graphlayout.tree.IlvTreeLayout'; flowDirection: Bottom; } Subobject#hierarchicalLayout { class: 'ilog.views.graphlayout.hierarchical.IlvHierarchicalLayout'; flowDirection: Bottom; } Subobject#springEmbedderLayout { class: 'ilog.views.graphlayout.springembedder.IlvSpringEmbedderLayout'; respectNodeSizes: true; preferredLinksLength: 200; forceFitToLayoutRegion: true; layoutRegion: "50, 50, 700, 450"; }
autoLayoutIndex
as the index of the hierarchical layout defined through the
layouts
property. The other node layouts can be performed on demand
using the API (see
IlpGraphView.performAttachedLayout
).
autoLayoutIndex
to
-1
, as illustrated below:
GraphLayout { layouts[0]: @+treeLayout; layouts[1]: @+hierarchicalLayout; layouts[2]: @+springEmbedderLayout; autoLayoutIndex: -1; } Subobject#treeLayout { class: 'ilog.views.graphlayout.tree.IlvTreeLayout'; flowDirection: Bottom; } Subobject#hierarchicalLayout { class: 'ilog.views.graphlayout.hierarchical.IlvHierarchicalLayout'; flowDirection: Bottom; } Subobject#springEmbedderLayout { class: 'ilog.views.graphlayout.springembedder.IlvSpringEmbedderLayout'; respectNodeSizes: true; preferredLinksLength: 200; forceFitToLayoutRegion: true; layoutRegion: "50, 50, 700, 450"; }
layouts
and
autoLayoutIndex
).
graphLayoutRenderer
, as illustrated below:
GraphLayout { layouts[0]: @+treeLayout; autoLayoutIndex: 0; } Subobject#treeLayout { class: 'ilog.views.graphlayout.tree.IlvTreeLayout'; flowDirection: Bottom; } #SubNetwork:graphLayoutRenderer { layouts[0]: @+hierarchicalLayout; autoLayoutIndex: 0; } Subobject#hierarchicalLayout { class: 'ilog.views.graphlayout.hierarchical.IlvHierarchicalLayout'; flowDirection: Top; }
autoLayoutIndex
, when used in an object selector with the
graphLayoutRenderer
pseudoclass, specifies the automatic node layout that is
applied to the subnetwork.
layouts
property with multiple node layouts and the
autoLayoutIndex
set to
-1
).
performAttachedLayout(int index)
, it is applied recursively in the model hierarchy. Therefore
if a node layout is configured for the given index in the
subnetwork, this specific layout is performed. Otherwise, the
node layout configured for the parent network is executed.
setMyParam(Object node, value);
setMyParam(Object link, value);
object."ilog.tgo.model.IltObject":graphLayoutRenderer { myParam: "value"; }
set
. The pseudoclass
graphLayoutRenderer
indicates that the declarations apply to the node layouts that
are configured in the graph layout rule.
setFixed
method that lets you specify whether a node or link is fixed.
Fixed nodes or links are not moved when the layout is applied.
The signature of the method is:
setFixed(Object nodeOrLink, boolean fixed);
object."ilog.tgo.model.IltObject":graphLayoutRenderer { fixed: true; }
WEST
, which is defined in the class
IlvHierarchicalLayout
.
GraphLayout { layouts[0]: @+treeLayout; layouts[1]: @+hierarchical; autoLayoutIndex: 0; } Subobject#treeLayout { class: 'ilog.views.graphlayout.tree.IlvTreeLayout'; flowDirection: Bottom; } Subobject#hierarchicalLayout { class: 'ilog.views.graphlayout.hierarchical.IlvHierarchicalLayout'; flowDirection: Top; } #NE1:graphLayoutRenderer:tree { root: true; } #NE1:graphLayoutRenderer:hierarchical { specNodeLevelIndex: 0; } #NE2:graphLayoutRenderer:hierarchical { specNodeLevelIndex: 1; }
NE1
is configured as the root object for the Tree Layout algorithm.
This is achieved by declaring the property
root
in a selector that contains the pseudoclasses
graphLayoutRenderer
(indicates that this is a graph layout renderer per-object
property) and
tree
(indicates that this is a property specific to the IlvTreeLayout algorithm).
NE1
is configured to be placed at level 0 in case of a hierarchical
layout. This is achieved using pseudoclasses
graphLayoutRenderer
and
hierarchical
(indicates that this is a graph layout per-object property
specific to the IlvHierarchicalLayout algorithm).
ilog.cpl.graph.css.renderer.graphlayout
.
layoutIgnored
: If this property is set to
true
, the object is completely ignored by the graph model (using
an IlvLayoutGraphicFilter).
markedForIncremental
: If the layout algorithm is an
IlvHierarchicalLayout
, you can use the property
markedForIncremental
. When this property is set to
true
for an object, the method
IlvHierarchicalLayout.markForIncremental(java.lang.Object)
is called for this object. This means that the position of
the object is recomputed during the next incremental layout.
This property has an effect only if the
incrementalMode
property of the layout itself is set to
true
. For example:
GraphLayout { layouts[0]: @+hierarchicalLayout; } Subobject#hierarchicalLayout { class: 'ilog.views.graphlayout.hierarchical.IlvHierarchicalLayout'; incrementalMode: true; } #NE1:graphLayoutRenderer:hierarchical { markedForIncremental : "true"; }
IlpGraphLayoutRenderer.setUsePerObjectParameters(false)
. This will remove the overhead of testing the parameters and
speed up the rendering process significantly.
GraphLayout { layouts[0]: @+hierarchicalLayout; usePerObjectParameters: false; }
class
specifies the link layout class, a subclass of
IlvGraphLayout
. Additional Bean properties can be specified, depending on the
class.
LinkLayout { class: "ilog.views.graphlayout.link.IlvLinkLayout"; globalLinkStyle: MIXED_STYLE; }
preserveFixedLinks
" property. This property allows you to switch the support of
fixed links on or off.
linkLayout
and the pseudoclass
linkLayoutRenderer
, as illustrated below:
LinkLayout { class:'ilog.views.graphlayout.link.IlvLinkLayout'; } #SubNetwork:linkLayoutRenderer { linkLayout: @+shortLinkLayout; } Subobject#shortLinkLayout{ class: 'ilog.tgo.graphic.graphlayout.IltShortLinkLayout'; }
object."ilog.tgo.model.IltAbstractLink":linkLayoutRenderer { linkStyle: ORTHOGONAL_STYLE; } #Link1:linkLayoutRenderer { linkStyle: DIRECT_STYLE; }
IlpLinkLayoutRenderer.setUsePerObjectParameters(false)
. This will remove the overhead of testing the parameters and
speed up the rendering process significantly.
LinkLayout { class: 'ilog.views.graphlayout.link.IlvLinkLayout'; usePerObjectParameters: false; }
class
specifies the label layout class, a subclass of IlvLabelLayout. Additional Bean properties
can be specified, depending on the class. The usual setting is IltAnnealingLabelLayout.
LabelLayout { class: 'ilog.tgo.graphic.graphlayout.labellayout.IltAnnealingLabelLayout'; obstacleOffset: 10; labelOffset: 15; }
Backgrounds { background[i]: "URL"; }
Backgrounds { background[0]: "backgrounds/sf-bayarea.png"; }
Backgrounds { background[i]: @+background0; } Subobject#background0 { class: "ilog.cpl.graph.background.css.IlpBackgroundCSSConfiguration"; PROPERTY : PROPERTY_VALUE; ... }
IlpBackgroundCSSConfiguration
encapsulates all the properties supported by the predefined
background types. You should use it if want to use one of
the predefined types.
Backgrounds { background[0]: @+background0; } Subobject#background0 { class: "ilog.cpl.graph.background.css.IlpBackgroundCSSConfiguration"; ////////////////////// //Background properties ////////////////////// url : "backgrounds/sf-bayarea.png"; loadOnDemand : "true"; threaded : "false"; }
IlpBackgroundCSSConfiguration
and use it with the additional bean properties. Or you can
provide a bean that contains all the required properties to
configure the
IlpBackground
implementation. All bean properties are automatically
communicated and stored in the
IlpBackground
implementation through its
IlpBackground.setProperty
interface method.
IlpBackground
implementation, see Background support.
IlpImageTileBackground
), only the
url
property can be configured through CSS. For the other
properties, use the XML configuration. See Background support.
Backgrounds { PROPERTY : PROPERTY_VALUE; }
Backgrounds { backgroundColor : "white"; }
Property
Name |
Type
|
Default
|
Sample
|
Description
|
---|---|---|---|---|
backgroundColor
|
Color
|
null
|
backgroundColor:"black";
|
Specifies
the color to be used to fill the background of the view. |
backgroundPattern
|
String
|
null
|
backgroundPattern:"pattern.png";
|
Specifies
the location of the pattern image to be used to fill the
background of the view. |
IlpPosition
types such as
IlpPoint
,
IlpRect
, and
IlpPolygon
. The default position converter, IlpDefaultPositionConverter, acts as a
pass-through, enabling conversion of these coordinates to x- and
y-based view coordinates.
IlpObject
) may define a position system that is not a direct mapping to
the view coordinate system, and may require some adaptation to be
properly positioned. For these cases, the
positioning
rule associates an
IlpPosition
type with a customized position converter.
positionClass
denotes the Java class name of the class or interface that
implements
IlpPosition
.
converterClass
denotes a Java class name or CSS bean that implements the IlpPositionConverter interface and
determines the conversion between business data coordinates and
(x,y) coordinates in the view.
Positioning { positionClass: 'my.package.MyPosition'; converterClass: 'my.package.MyPositionConverter'; }
Property
Name |
Property
Type |
---|---|
filter
|
|
origins
|
list
of object identifiers |
networkNodeFactory
|
|
networkLinkFactory
|
|
expansionStrategyFactory
|
|
acceptedClasses
|
list of IlpClass
|
excludedClasses
|
list of IlpClass
|
Network { adapter: true; }
Adapter { filter: @+Filter; } Subobject#Filter { class: 'CustomFilter'; rejectObject[0]: "NE1"; rejectObject[1]: "Link5"; }
getMutableStyleSheet()
method in the network adapter API:
IlpMutableStyleSheet mutable = adapter.getMutableStyleSheet();
setStyleSheet()
API:
IlpMutableStyleSheet mutable = new IlpMutableStyleSheet(adapter); try { adapter.setStyleSheets(new String[] { mutable.toString() }); } catch (Exception x) { x.printStackTrace(); }
mutable.setDeclaration("#myObjectId", "expansion", "NO_EXPANSION");
#myObjectId { expansion: NO_EXPANSION; }
setStyleSheet()
method:
try { adapter.setStyleSheets(new String[] { mutable.toString() }); } catch (Exception x) { x.printStackTrace(); }
// Update the expansion type for 'myObjectId' mutable.setDeclaration("#myObjectId", "expansion", "IN_PLACE"); // Add a new declaration mutable.setDeclaration("#myOtherId", "expansion", "IN_PLACE");
setStyleSheet()
API is invoked and a new set of style sheets is applied to
the adapter.
setUpdateMask()
and
setAdjusting()
.
setUpdateMask()
Adapter { origins[0]: id0; origins[1]: id1; showOrigin: true; filter: @+myFilter; }
#myObjectId { expansion: IN_PLACE; }
setUpdateMask()
are:
IlpStylable.UPDATE_COMPONENT_MASK
: Only the adapter part is recustomized.
IlpStylable.UPDATE_OBJECTS_MASK
: Only the representation object part is recustomized.
IlpStylable.UPDATE_ALL_MASK
: Bot the adapter and representation object parts are
recustomized.
IlpStylable.UPDATE_NONE_MASK
: Nothing is recustomized.
UPDATE_OBJECTS_MASK
as there is no need to reapply the CSS configuration for the
adapter part:
mutable.setUpdateMask(IlpStylable.UPDATE_OBJECTS_MASK); mutable.setDeclaration("object", "expansion", "IN_PLACE");
setAdjusting()
true
, the mutable style sheet puts all the calls to
setDeclaration()
into a queue. When the method is set back to
false
, all the queued declarations are processed in a batch:
mutable.setAdjusting(true); mutable.setDeclaration("#myObjectId", "expansion", "IN_PLACE"); mutable.setDeclaration("#myOtherId", "expansion", "IN_PLACE"); mutable.setAdjusting(false);