|
Extension SDK 9.0.5 | ||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
A LayoutAssistant is a design time only object representing a LayoutManager and is used by the UICanvas to simplify UI design operations. This might include the offering of convenience functions such as alignment, sizing and spacing, and z-order manipulations, as well as providing textual and/or visual feedback during such operations as adding, moving and resizing of controls. Feedback typically is in the form of a text message on the status line and a bounding box displayed on the design surface to indicate to the user the location and dimensions to be applied for a given add, move or resize operation.
Only a single instance of each LayoutAssitant implementation will ever be constructed. Thus, implementations should be stateless as their single instance will be used for all instances of the represented LayoutManager found in the user's UI construction. Implementations that wish to provide convenience functions which are available to be exposed on the UICanvas' toolbar and/or have an associated accelerator, must register the actions with the appropriate ModelFactory from within a static initializer. Registration is made via the ModelFactory that produces the UICanvas and can be fetched via UIManager.getFactory passing UIModel.class as the argument. The reasons for static registration are twofold: 1) The IdeAction instances must have been constructed and retrievable from the IdeAction.find method for toolbar item creation during initialization of each UIEditor toolbar. 2) The IdeAction instances must have been constructed and retrievable from the IdeAction.find method for accelerator key mappings during initialization of each UIEditor glass pane.
ModelFactory
,
UIManager
,
UICanvas
,
UIModel
Field Summary | |
static java.lang.String |
TOOLBAR_ITEM
Property suffix to use in combination with getToolbarPrefix() for fetching individual Toolbar items for this LayoutAssistant from the IDE settings. |
static java.lang.String |
TOOLBAR_ITEM_COUNT
Property suffix to use in combination with getToolbarPrefix() for fetching the number of available Toolbar items for this LayoutAssistant from the IDE settings. |
Method Summary | |
void |
cleanupRemovedComponent(CmtModelNode parent)
A child of a container has been removed. |
void |
constrainAdd(CmtModelNode toNode,
java.awt.Point mouseOrigin,
java.awt.Point mousePos,
java.awt.Point newPos,
java.awt.Dimension newSize)
Optionally modify size and position of an object being added to conform to the constraints imposed by the LayoutManager being represented. |
java.lang.String |
constrainMove(CmtModelNode node,
CmtModelNode toNode,
java.awt.Point mousePos,
java.awt.Point mouseOffset,
java.awt.Point newPos,
java.awt.Dimension newSize)
Optionally modify size and position of an object being moved to conform to the constraints imposed by the LayoutManager being represented. |
Explorer |
getConstraintsEditor(Context context)
Get an Explorer implementation with which to modify the constraints settings, else null. |
java.lang.String |
getConstraintsType()
Get the fully qualified class name of the type of the constraints used by the LayoutManager being represented. |
javax.swing.JComponent[] |
getContextMenuItems(Context context)
Get an array of JComponent for population onto a ContextMenu. |
javax.swing.JComponent |
getEffects(UICanvas canvas,
java.awt.Container host)
Get a JComponent whose rendering provides any special effects applicable during object creation, object resize or object move for the LayoutManager being represented. |
java.beans.PropertyEditor |
getPropertyEditor()
Get a PropertyEditor for use when editing instances of the constraints used by the LayoutManager being represented. |
java.lang.String |
getToolbarPrefix()
Get the prefix to use in combination with the TOOLBAR_ITEM_COUNT and TOOLBAR_ITEM suffixes in order to fetch Toolbar related properties for this LayoutAssistant from the IDE settings. |
boolean |
handleEvent(IdeAction action,
Context context)
Respond to the given user action within the given context. |
void |
layoutChanged(CmtModelNode container)
Layout has been switched. |
void |
prepareAddComponent(CmtModelNode node,
CmtModelNode toNode,
java.awt.Point location,
java.awt.Point offset,
java.awt.Dimension size)
Perform any preparation on a child component that will be added into to a container. |
java.lang.String |
prepareAddStatus(CmtModelNode node,
CmtModelNode toNode,
java.awt.Point location,
java.awt.Dimension size)
Return a string for display during the add process. |
void |
prepareChangeLayout(CmtModelNode container)
Perform changes on children of a container to best handle a layout type change. |
java.lang.String |
prepareMouseMoveStatus(CmtModelNode node,
CmtModelNode toNode,
java.awt.Point location)
Return a string for display while the user is moving the mouse over a component. |
void |
prepareMoveComponent(CmtModelNode node,
CmtModelNode toNode,
java.awt.Point location,
java.awt.Point offset)
Child is being moved. |
void |
prepareResizeComponent(CmtModelNode node,
SelectionEffects effects,
SelectNib nib)
Perform a requested resize on a child. |
java.lang.String |
prepareResizeStatus(CmtModelNode node,
java.awt.Point location,
java.awt.Dimension size)
Return a string for display during the resize process. |
void |
prepareSelectComponent(CmtModelNode child,
SelectionEffects effects)
An immedate child node has been selected. |
void |
prepareSelectDescendant(CmtModelNode parent,
CmtModelNode child,
SelectionEffects effects)
A descendant node has been selected. |
java.lang.String |
resizeAction(java.awt.Point newNibLocation,
SelectionEffects effects,
SelectNib nib)
Return a status message string that will be displayed while the user is dragging the nib. |
boolean |
update(IdeAction action,
Context context)
Update the enabled state of the given action within the given context. |
boolean |
usesReverseZOrder()
Determine whether or not z-order is reversed. |
Field Detail |
public static final java.lang.String TOOLBAR_ITEM_COUNT
public static final java.lang.String TOOLBAR_ITEM
Method Detail |
public java.lang.String getConstraintsType()
public Explorer getConstraintsEditor(Context context)
context
- the Context describing the selection to be edited.
public java.beans.PropertyEditor getPropertyEditor()
public boolean handleEvent(IdeAction action, Context context)
action
- user action to be responded to.context
- context in which action was initiated.
public boolean update(IdeAction action, Context context)
action
- action whose availability is to be updated.context
- the current context.
public java.lang.String getToolbarPrefix()
TOOLBAR_ITEM_COUNT
,
TOOLBAR_ITEM
public void prepareAddComponent(CmtModelNode node, CmtModelNode toNode, java.awt.Point location, java.awt.Point offset, java.awt.Dimension size)
node
- the node being added.toNode
- CmtModelNode receiving the node.location
- the location in the parent.offset
- the mouse down position relative to the node.size
- the size of the component.public void prepareResizeComponent(CmtModelNode node, SelectionEffects effects, SelectNib nib)
node
- the CmtModelNode that is being resized.effects
- the SelectionEffects associated with the UIEditor upon which
the SelectNib appearsnib
- the SelectNib that is being manipulated.public void prepareMoveComponent(CmtModelNode node, CmtModelNode toNode, java.awt.Point location, java.awt.Point offset)
node
- the CmtModelNode that has moved.toNode
- CmtModelNode receiving the node.location
- the new location.offset
- the mouse down position relative to the node.public java.lang.String prepareMouseMoveStatus(CmtModelNode node, CmtModelNode toNode, java.awt.Point location)
node
- the node that the mouse is over.toNode
- the parent of the node that the mouse is over.location
- Point relative to parent's upper left corner.
public void prepareChangeLayout(CmtModelNode container)
container
- the CmtModelNode for the container that has changed.public void layoutChanged(CmtModelNode container)
container
- teh CmtModelNode for the container that has changed.public java.lang.String resizeAction(java.awt.Point newNibLocation, SelectionEffects effects, SelectNib nib)
newNibLocation
- new position of the SelectNib being manipulated.effects
- the SelectionEffects associated with the UICanvas upon which
the SelectNib appears.nib
- the SelectNib being manipulated.
public void prepareSelectComponent(CmtModelNode child, SelectionEffects effects)
child
- the selected node.effects
- the SelectionEffects associated with the UICanvas
upon which the selection has taken place.prepareSelectDescendant(oracle.jdeveloper.cmt.CmtModelNode, oracle.jdeveloper.cmt.CmtModelNode, oracle.jdeveloper.uieditor.uicanvas.SelectionEffects)
public void prepareSelectDescendant(CmtModelNode parent, CmtModelNode child, SelectionEffects effects)
parent
- the root of the selection pathchild
- the branch of the selection path stemming from parenteffects
- the SelectionEffects associated with the UICanvas
upon which the selection has taken place.public java.lang.String prepareAddStatus(CmtModelNode node, CmtModelNode toNode, java.awt.Point location, java.awt.Dimension size)
node
- the node about to be added.toNode
- the parent that the node will be added to.location
- new Point relative to parent's upper left corner.size
- the size of the new node.
public java.lang.String prepareResizeStatus(CmtModelNode node, java.awt.Point location, java.awt.Dimension size)
node
- the node being resized.location
- new Point relative to parent's upper left corner.size
- the size of the new node.
public void cleanupRemovedComponent(CmtModelNode parent)
parent
- The node that had a child removed.public javax.swing.JComponent[] getContextMenuItems(Context context)
context
- the current context.
ContextMenu
public javax.swing.JComponent getEffects(UICanvas canvas, java.awt.Container host)
canvas
- UICanvas displaying the GUIhost
- Container upon which an object is being added, resized or
moved.
public java.lang.String constrainMove(CmtModelNode node, CmtModelNode toNode, java.awt.Point mousePos, java.awt.Point mouseOffset, java.awt.Point newPos, java.awt.Dimension newSize)
node
- node being manipulated.toNode
- parent of node being manipulated.mousePos
- current mouse position relative to toNode.mouseOffset
- mouse position relative to node at beginning of move.newPos
- output parameter for receiving constrained drop location.newSize
- output parameter for receiving constrained drop size.
public void constrainAdd(CmtModelNode toNode, java.awt.Point mouseOrigin, java.awt.Point mousePos, java.awt.Point newPos, java.awt.Dimension newSize)
toNode
- parent of node being added.mouseOrigin
- mouse position at start of move operation.mousePos
- current mouse position.newPos
- output parameter for receiving constrained add position.newSize
- output parameter for receiving constrained add size.public boolean usesReverseZOrder()
|
Extension SDK | ||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Copyright © 1997, 2004, Oracle. All rights reserved.