GNU Classpath (0.20) | |
Prev Class | Next Class | Frames | No Frames |
Summary: Nested | Field | Method | Constr | Detail: Nested | Field | Method | Constr |
java.lang.Object
javax.swing.text.View
javax.swing.text.CompositeView
javax.swing.text.BoxView
public class BoxView
extends CompositeView
CompositeView
that arranges its children in
a box along one axis. This is comparable to how the BoxLayout
works, but for View
children.
Field Summary |
Fields inherited from class javax.swing.text.View | |
BadBreakWeight , ExcellentBreakWeight , ForcedBreakWeight , GoodBreakWeight , X_AXIS , Y_AXIS |
Fields inherited from interface javax.swing.SwingConstants | |
BOTTOM , CENTER , EAST , HORIZONTAL , LEADING , LEFT , NEXT , NORTH , NORTH_EAST , NORTH_WEST , PREVIOUS , RIGHT , SOUTH , SOUTH_EAST , SOUTH_WEST , TOP , TRAILING , VERTICAL , WEST |
Constructor Summary | |
Method Summary | |
protected void |
|
protected SizeRequirements |
|
protected SizeRequirements |
|
protected SizeRequirements |
|
protected void |
|
float |
|
int |
|
int |
|
float |
|
protected int |
|
float |
|
protected int |
|
protected View |
|
int |
|
protected boolean | |
protected boolean |
|
protected boolean | |
protected boolean |
|
protected void |
|
void |
|
protected void |
|
protected void |
|
Shape |
|
void | |
protected void |
|
void |
|
void | |
void |
|
void |
|
Methods inherited from class java.lang.Object | |
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait |
public BoxView(Element element, int axis)
Creates a newBoxView
for the givenElement
and axis. Valid values for the axis areView.X_AXIS
andView.Y_AXIS
.
- Parameters:
element
- the element that is rendered by this BoxViewaxis
- the axis along which the box is laid out
protected void baselineLayout(int span, int axis, int[] offsets, int[] spans)
Calculates the layout of the children of thisBoxView
along the specified axis.
- Parameters:
span
- the target spanaxis
- the axis that is examinedoffsets
- an empty array, filled with the offsets of the childrenspans
- an empty array, filled with the spans of the children
protected SizeRequirements baselineRequirements(int axis, SizeRequirements sr)
Calculates the size requirements for thisBoxView
along the specified axis.
- Parameters:
axis
- the axis that is examinedsr
- theSizeRequirements
object to hold the result, ifnull
, a new one is created
- Returns:
- the size requirements for this
BoxView
along the specified axis
protected SizeRequirements calculateMajorAxisRequirements(int axis, SizeRequirements sr)
Calculates the size requirements of thisBoxView
along its major axis, that is the axis specified in the constructor.
- Parameters:
axis
- the axis that is examinedsr
- theSizeRequirements
object to hold the result, ifnull
, a new one is created
- Returns:
- the size requirements for this
BoxView
along the specified axis
protected SizeRequirements calculateMinorAxisRequirements(int axis, SizeRequirements sr)
Calculates the size requirements of thisBoxView
along its minor axis, that is the axis opposite to the axis specified in the constructor.
- Parameters:
axis
- the axis that is examinedsr
- theSizeRequirements
object to hold the result, ifnull
, a new one is created
- Returns:
- the size requirements for this
BoxView
along the specified axis
protected void childAllocation(int index, Rectangle a)
Computes the allocation for a childView
. The parametera
stores the allocation of thisCompositeView
and is then adjusted to hold the allocation of the child view.
- Overrides:
- childAllocation in interface CompositeView
- Parameters:
index
- the index of the childView
a
- the allocation of thisCompositeView
before the call, the allocation of the child on exit
public float getAlignment(int axis)
Returns the alignment for this box view for the specified axis. The axis that is tiled (the major axis) will be requested to be aligned centered (0.5F). The minor axis alignment depends on the child view's total alignment.
- Overrides:
- getAlignment in interface View
- Parameters:
axis
- the axis which is examined
- Returns:
- the alignment for this box view for the specified axis
public int getAxis()
Returns the axis along which thisBoxView
is laid out.
- Returns:
- the axis along which this
BoxView
is laid out
public int getHeight()
Return the current height of the box. This is the last allocated height.
- Returns:
- the current height of the box
protected int getOffset(int axis, int childIndex)
Returns the offset for the child view with the given index for the specified axis.
- Parameters:
axis
- the axis to examine, eitherX_AXIS
orY_AXIS
childIndex
- the index of the child for for which to return the span
- Returns:
- the offset for the child view with the given index for the specified axis
public float getPreferredSpan(int axis)
Returns the preferred span of the content managed by thisView
along the specifiedaxis
.
- Overrides:
- getPreferredSpan in interface View
- Parameters:
axis
- the axis
- Returns:
- the preferred span of this
View
.
protected int getSpan(int axis, int childIndex)
Returns the span for the child view with the given index for the specified axis.
- Parameters:
axis
- the axis to examine, eitherX_AXIS
orY_AXIS
childIndex
- the index of the child for for which to return the span
- Returns:
- the span for the child view with the given index for the specified axis
protected View getViewAtPoint(int x, int y, Rectangle r)
Returns the childView
at the specified location.
- Overrides:
- getViewAtPoint in interface CompositeView
- Parameters:
x
- the X coordinatey
- the Y coordinater
- the inner allocation of thisBoxView
on entry, the allocation of the found child on exit
- Returns:
- the child
View
at the specified location
public int getWidth()
Return the current width of the box. This is the last allocated width.
- Returns:
- the current width of the box
protected boolean isAfter(int x, int y, Rectangle r)
Returnstrue
if the specified point lies after the givenRectangle
,false
otherwise. "After" is typically defined as being to the right or below.
- Overrides:
- isAfter in interface CompositeView
- Parameters:
x
- the X coordinate of the pointy
- the Y coordinate of the pointr
- the rectangle to test the point against
- Returns:
true
if the specified point lies after the givenRectangle
,false
otherwise
protected boolean isAllocationValid()
Returnstrue
if the cached allocations for the children are still valid,false
otherwise.
- Returns:
true
if the cached allocations for the children are still valid,false
otherwise
protected boolean isBefore(int x, int y, Rectangle r)
Returnstrue
if the specified point lies before the givenRectangle
,false
otherwise. "Before" is typically defined as being to the left or above.
- Overrides:
- isBefore in interface CompositeView
- Parameters:
x
- the X coordinate of the pointy
- the Y coordinate of the pointr
- the rectangle to test the point against
- Returns:
true
if the specified point lies before the givenRectangle
,false
otherwise
protected boolean isLayoutValid(int axis)
Returnstrue
if the layout along the specifiedaxis
is valid,false
otherwise. Valid values for the axis areView.X_AXIS
andView.Y_AXIS
.
- Parameters:
axis
- the axis
- Returns:
true
if the layout along the specifiedaxis
is valid,false
otherwise
protected void layout(int width, int height)
Lays out the children of thisBoxView
with the specified bounds.
- Parameters:
width
- the width of the allocated region for the children (that is the inner allocation of thisBoxView
height
- the height of the allocated region for the children (that is the inner allocation of thisBoxView
public void layoutChanged(int axis)
Marks the layout along the specified axis as invalid. This is triggered automatically when any of the child view changes its preferences viapreferenceChanged(View,boolean,boolean)
. The layout will be updated the next time whensetSize(float,float)
is called, typically from within thepaint(Graphics,Shape)
method. Valid values for the axis areView.X_AXIS
andView.Y_AXIS
.
- Parameters:
axis
- anint
value
protected void layoutMajorAxis(int targetSpan, int axis, int[] offsets, int[] spans)
Performs the layout along the major axis of aBoxView
.
- Parameters:
targetSpan
- the (inner) span of theBoxView
in which to layout the childrenaxis
- the axis along which the layout is performedoffsets
- the array that holds the offsets of the children on exitspans
- the array that holds the spans of the children on exit
protected void layoutMinorAxis(int targetSpan, int axis, int[] offsets, int[] spans)
Performs the layout along the minor axis of aBoxView
.
- Parameters:
targetSpan
- the (inner) span of theBoxView
in which to layout the childrenaxis
- the axis along which the layout is performedoffsets
- the array that holds the offsets of the children on exitspans
- the array that holds the spans of the children on exit
public Shape modelToView(int pos, Shape a, Position.Bias bias) throws BadLocationException
Maps the document model positionpos
to a Shape in the view coordinate space. This method overrides CompositeView's method to make sure the children are allocated properly before calling the super's behaviour.
- Overrides:
- modelToView in interface CompositeView
public void paint(Graphics g, Shape a)
Renders theElement
that is associated with thisView
.
- Parameters:
g
- theGraphics
context to render toa
- the allocated region for theElement
protected void paintChild(Graphics g, Rectangle alloc, int index)
Paints the childView
at the specifiedindex
. This method modifies the actual values inalloc
so make sure you have a copy of the original values if you need them.
- Parameters:
g
- theGraphics
context to paint toalloc
- the allocated region for the child to paint intoindex
- the index of the child to be painted
- See Also:
childAllocation(int,Rectangle)
public void preferenceChanged(View child, boolean width, boolean height)
Called by a child View when its preferred span has changed.
- Overrides:
- preferenceChanged in interface View
- Parameters:
child
- the child View.width
- indicates that the preferred width of the child changed.height
- indicates that the preferred height of the child changed.
public void replace(int offset, int length, View[] views)
Replaces child views by some other child views. If there are no views to remove (length == 0
), the result is a simple insert, if there are no children to add (view == null
) the result is a simple removal. In addition this invalidates the layout and resizes the internal cache for the child allocations. The old children's cached allocations can still be accessed (although they are not guaranteed to be valid), and the new children will have an initial offset and span of 0.
- Overrides:
- replace in interface CompositeView
- Parameters:
offset
- the start offset from where to remove childrenlength
- the number of children to removeviews
- the views that replace the removed children
public void setAxis(int axis)
Sets the axis along which thisBoxView
is laid out. Valid values for the axis areView.X_AXIS
andView.Y_AXIS
.
- Parameters:
axis
- the axis along which thisBoxView
is laid out
GNU Classpath (0.20) |