javax.swing.text
Class AsyncBoxView.ChildState
- AsyncBoxView
- Runnable
A record representing the layout state of a
child view. It is runnable as a task on another
thread. All access to the child view that is
based upon a read-lock on the model should synchronize
on this object (i.e. The layout thread and the GUI
thread can both have a read lock on the model at the
same time and are not protected from each other).
Access to a child view hierarchy is serialized via
synchronization on the ChildState instance.
View | getChildView()- Fetch the child view this record represents
|
float | getMajorOffset()- Get the offset along the major axis
|
float | getMajorSpan()- What is the span along the major axis.
|
float | getMinorOffset()- What is the offset along the minor axis
|
float | getMinorSpan()- What is the span along the minor axis.
|
boolean | isLayoutValid()- Has the child view been laid out.
|
void | preferenceChanged(boolean width, boolean height)- Mark preferences changed for this child.
|
void | run()- Update the child state.
|
void | setMajorOffset(float offs)- This method should only be called by the ChildLocator,
it is simply a convenient place to hold the cached
location.
|
clone, equals, extends Object> getClass, finalize, hashCode, notify, notifyAll, toString, wait, wait, wait |
ChildState
public ChildState(View v)
Construct a child status. This needs to start
out as fairly large so we don't falsely begin with
the idea that all of the children are visible.
getChildView
public View getChildView()
Fetch the child view this record represents
getMajorOffset
public float getMajorOffset()
Get the offset along the major axis
getMajorSpan
public float getMajorSpan()
What is the span along the major axis.
getMinorOffset
public float getMinorOffset()
What is the offset along the minor axis
getMinorSpan
public float getMinorSpan()
What is the span along the minor axis.
isLayoutValid
public boolean isLayoutValid()
Has the child view been laid out.
preferenceChanged
public void preferenceChanged(boolean width,
boolean height) Mark preferences changed for this child.
width - true if the width preference has changedheight - true if the height preference has changed
run
public void run()
Update the child state. This should be
called by the thread that desires to spend
time updating the child state (intended to
be the layout thread).
This aquires a read lock on the associated
document for the duration of the update to
ensure the model is not changed while it is
operating. The first thing to do would be
to see if any work actually needs to be done.
The following could have conceivably happened
while the state was waiting to be updated:
- The child may have been removed from the
view hierarchy.
- The child may have been updated by a
higher priority operation (i.e. the child
may have become visible).
- run in interface Runnable
setMajorOffset
public void setMajorOffset(float offs)
This method should only be called by the ChildLocator,
it is simply a convenient place to hold the cached
location.