All Packages Class Hierarchy This Package Previous Next Index
Class CH.ifa.draw.contrib.xcomp.FrameComposite
CH.ifa.draw.standard.AbstractFigure
|
+----CH.ifa.draw.standard.CompositeFigure
|
+----CH.ifa.draw.contrib.xcomp.ManagedComposite
|
+----CH.ifa.draw.contrib.xcomp.FrameComposite
- public abstract class FrameComposite
- extends ManagedComposite
A structured (nested) composite, that keeps its children
within a root figure, that is, a frame. The root figure
can be any Figure that implements the RootFigure interface.
A FrameComposite delegates the mehtods concerning display box, handles,
and connectors to the root figure.
A FrameComposite can/should implement a layout policy for subfigures.
Like windows, FrameComposites can be nested to an arbitrary depth.
-
fHandleChangeEvents
-
-
fRootFigure
-
-
FrameComposite()
-
-
FrameComposite(Point, Point)
-
-
accept(Figure)
- Default is to accept all figures.
-
acceptChange(Point, Point)
- Return true if the change in the display box is acceptable.
-
basicDisplayBox(Point, Point)
- Change the display box of this.
-
basicMoveBy(int, int)
- Moves all the given figures by x and y.
-
changed()
- Informs that a figure changed the area of its display box.
-
connectorAt(int, int)
- Returns the Figures connector for the specified location.
-
connectorVisibility(boolean)
- Sets whether the connectors should be visible.
-
constrainDisplayBox(Point, Point, Point)
- Constrain the box defined by its origin and (left-down) corner
by the minimum size dimensions.
-
constrainDisplayBox(Rectangle, Point, Point)
- Constrain the box defined by its origin and (left-down) corner
by the minimum size dimensions.
-
createRootFigure()
- A factory method (or a hook) for creating the root figure.
-
createRootFigure(Point, Point)
- A factory method (or a hook) for creating the root figure.
-
displayBox()
- Gets the display box of a figure.
-
displayBox(Point, Point)
- Changes the display box of a composite figure.
-
doLayout()
- By default, does nothing.
-
draw(Graphics)
- Draws all the contained figures.
-
drop(Figure)
- Add the dragged figure to this.
-
figureChanged(FigureChangeEvent)
- Handle a subfigure change.
-
figureRequestRemove(FigureChangeEvent)
- Propagates the removeFromDrawing request up to the container.
-
findConnectable(int, int, Figure)
- Find the subfigure that can be connected at the given point
or return this, if no subfigure is found.
-
findCtrlSelectable(int, int)
- Returns null.
-
findDropTarget(int, int, Figure)
- Traverse the hieararchy of contained figures to find the subfigure
at x,y that accepts the figure to be dropped on it.
-
findSelectable(int, int)
- Find the subfigure that can be selected at the given point
or return this, if no subfigure is found.
-
getAttribute(String)
- Returns the named attribute or null if a
a figure doesn't have an attribute.
-
getInsets()
- Returns insets of (3,3,3,3).
-
getMinimumSize()
- Returns the minimum size of this composite.
-
getPreferredSize()
- Returns the preferred size of this composite.
-
handles()
- Return the handles of this.
-
read(StorableInput)
- Reads the figures from StorableInput.
-
release()
- Releases the figure and all its children.
-
setAttribute(String, Object)
- Sets the named attribute to the new value.
-
setHighlighted(boolean)
- Highlights this.
fRootFigure
protected RootFigure fRootFigure
fHandleChangeEvents
protected boolean fHandleChangeEvents
FrameComposite
public FrameComposite()
FrameComposite
public FrameComposite(Point origin,
Point corner)
setHighlighted
public void setHighlighted(boolean isHighlighted)
- Highlights this. Forwards the request to the root figure, too.
- Overrides:
- setHighlighted in class AbstractFigure
createRootFigure
protected abstract RootFigure createRootFigure()
- A factory method (or a hook) for creating the root figure.
Implement in a concrete subclass.
createRootFigure
protected abstract RootFigure createRootFigure(Point origin,
Point corner)
- A factory method (or a hook) for creating the root figure.
Implement in a concrete subclass.
basicMoveBy
public void basicMoveBy(int x,
int y)
- Moves all the given figures by x and y. Doesn't announce
any changes. Moves first the root figure and then the subfigures.
- Overrides:
- basicMoveBy in class CompositeFigure
handles
public Vector handles()
- Return the handles of this. Delegate to the root figure.
- Overrides:
- handles in class AbstractFigure
constrainDisplayBox
protected Pair constrainDisplayBox(Rectangle minimum,
Point origin,
Point corner)
- Constrain the box defined by its origin and (left-down) corner
by the minimum size dimensions. Returns a pair of points giving
the absolute origin and corner of the constrained box.
Takes into account the possible change of the origin to facilitate
resizing from any corner of the display box.
constrainDisplayBox
protected Pair constrainDisplayBox(Point minimum,
Point origin,
Point corner)
- Constrain the box defined by its origin and (left-down) corner
by the minimum size dimensions. Returns a pair of points giving
the absolute origin and corner of the constrained box.
Takes into account the possible change of the origin to facilitate
resizing from any corner of the display box.
acceptChange
protected boolean acceptChange(Point origin,
Point corner)
- Return true if the change in the display box is acceptable.
The default implementation just checks the minimum size constraint
(if a constraint is set). Override this in subclasses for more
specific checking.
getMinimumSize
public Dimension getMinimumSize()
- Returns the minimum size of this composite.
- Overrides:
- getMinimumSize in class AbstractFigure
getPreferredSize
public Dimension getPreferredSize()
- Returns the preferred size of this composite. Because the size
of the frame is adjustable by handles, the method extends the
dimensions returned by the layout manager to the width/height of the
current display box if they exceed the dimensions. The effect is that
changes in the sizes of the contained figures can only make the
preferred size larger, not smaller. Redefine this method in sublcasses
if different behavior is wanted.
- Overrides:
- getPreferredSize in class AbstractFigure
changed
public void changed()
- Informs that a figure changed the area of its display box.
Suppress propagation of change if fHandleChangeEvents is
set to
false
.
- Overrides:
- changed in class AbstractFigure
- See Also:
- FigureChangeEvent, changed
basicDisplayBox
public void basicDisplayBox(Point origin,
Point corner)
- Change the display box of this. Delegate the change to the root figure.
Checks the validity of the change by calling acceptChange. If the change
is not accepted and a minimum size is set, tries to constrain the change
according to the dimensions of the constraint by calling constrainDisplayBox.
- Overrides:
- basicDisplayBox in class AbstractFigure
- See Also:
- acceptChange, constrainDisplayBox
displayBox
public void displayBox(Point origin,
Point corner)
- Changes the display box of a composite figure. Clients usually
call this method. It changes the display box
and announces the corresponding change. Marks the layout
invalid (dirty).
- Parameters:
- origin - the new origin
- corner - the new corner
- Overrides:
- displayBox in class CompositeFigure
- See Also:
- displayBox
getInsets
public Insets getInsets()
- Returns insets of (3,3,3,3).
- Overrides:
- getInsets in class CompositeFigure
accept
public boolean accept(Figure figure)
- Default is to accept all figures. Override this in subclasses
to selectively accept subfigures.
- Overrides:
- accept in class AbstractFigure
drop
public Figure drop(Figure dragTarget)
- Add the dragged figure to this.
- Overrides:
- drop in class AbstractFigure
findDropTarget
public Figure findDropTarget(int x,
int y,
Figure dragTarget)
- Traverse the hieararchy of contained figures to find the subfigure
at x,y that accepts the figure to be dropped on it. The protocol does not
assume
that whoever calls findDropTarget tests first whether the called figure
contains the point and is different from dragTarget.
- Overrides:
- findDropTarget in class AbstractFigure
displayBox
public Rectangle displayBox()
- Gets the display box of a figure. Delegate to the root figure.
- Overrides:
- displayBox in class AbstractFigure
connectorVisibility
public void connectorVisibility(boolean isVisible)
- Sets whether the connectors should be visible.
Invalidates this. Delegate to the root figure.
- Overrides:
- connectorVisibility in class AbstractFigure
connectorAt
public Connector connectorAt(int x,
int y)
- Returns the Figures connector for the specified location.
Delegate to the root figure.
- Overrides:
- connectorAt in class AbstractFigure
getAttribute
public Object getAttribute(String name)
- Returns the named attribute or null if a
a figure doesn't have an attribute.
Delegate to the root figure.
setAttribute
public void setAttribute(String name,
Object value)
- Sets the named attribute to the new value. Delegate to the root figure.
draw
public void draw(Graphics g)
- Draws all the contained figures. Sets the current clip
to the displaybox of this - warning! assumes the clip shape
to be a Rectangle. Descends to children and if a child
is about to move adjusts the clip to the displaybox of the
child to let it be drawn properly (i.e. outside the display box
of the panel).
findSelectable
public Figure findSelectable(int x,
int y)
- Find the subfigure that can be selected at the given point
or return this, if no subfigure is found.
- Overrides:
- findSelectable in class AbstractFigure
findCtrlSelectable
public Figure findCtrlSelectable(int x,
int y)
- Returns null.
- Overrides:
- findCtrlSelectable in class AbstractFigure
findConnectable
public Figure findConnectable(int x,
int y,
Figure connection)
- Find the subfigure that can be connected at the given point
or return this, if no subfigure is found. If this is not connectable,
return null.
- Overrides:
- findConnectable in class AbstractFigure
release
public void release()
- Releases the figure and all its children.
- Overrides:
- release in class CompositeFigure
figureRequestRemove
public void figureRequestRemove(FigureChangeEvent e)
- Propagates the removeFromDrawing request up to the container.
- Overrides:
- figureRequestRemove in class CompositeFigure
- See Also:
- FigureChangeListener
figureChanged
public void figureChanged(FigureChangeEvent e)
- Handle a subfigure change. Ignore subfigures in transit (being dragged),
connection figures, subfigures brought to front, and event if itself in
transit. Otherwise accommodate the changed subfigure.
- Overrides:
- figureChanged in class CompositeFigure
doLayout
public void doLayout()
- By default, does nothing. Containers (composites) that maintain
a lay out of subfigures should implement this.
- Overrides:
- doLayout in class CompositeFigure
read
public void read(StorableInput dr) throws IOException
- Reads the figures from StorableInput.
- Overrides:
- read in class CompositeFigure
All Packages Class Hierarchy This Package Previous Next Index