javax.swing.text
Class ZoneView
- SwingConstants
A View implementation that delays loading of sub views until they are
needed for display or internal transformations. This can be used for
editors that need to handle large documents more effectivly than the
standard
BoxView
.
BOTTOM , CENTER , EAST , HORIZONTAL , LEADING , LEFT , NEXT , NORTH , NORTH_EAST , NORTH_WEST , PREVIOUS , RIGHT , SOUTH , SOUTH_EAST , SOUTH_WEST , TOP , TRAILING , VERTICAL , WEST |
ZoneView(Element element, int axis) - Creates a new ZoneView for the specified element and axis.
|
baselineLayout , baselineRequirements , calculateMajorAxisRequirements , calculateMinorAxisRequirements , childAllocation , flipEastAndWestAtEnds , forwardUpdate , getAlignment , getAxis , getChildAllocation , getHeight , getMaximumSpan , getMinimumSpan , getOffset , getPreferredSpan , getResizeWeight , getSpan , getViewAtPoint , getWidth , isAfter , isAllocationValid , isBefore , isLayoutValid , layout , layoutChanged , layoutMajorAxis , layoutMinorAxis , modelToView , paint , paintChild , preferenceChanged , replace , setAxis , setSize , viewToModel |
childAllocation , flipEastAndWestAtEnds , getBottomInset , getChildAllocation , getInsideAllocation , getLeftInset , getNextEastWestVisualPositionFrom , getNextNorthSouthVisualPositionFrom , getNextVisualPositionFrom , getRightInset , getTopInset , getView , getViewAtPoint , getViewAtPosition , getViewCount , getViewIndex , getViewIndexAtPosition , isAfter , isBefore , loadChildren , modelToView , modelToView , replace , setInsets , setParagraphInsets , setParent , viewToModel |
append , breakView , changedUpdate , createFragment , dump , forwardUpdate , forwardUpdateToView , getAlignment , getAttributes , getBreakWeight , getChildAllocation , getContainer , getDocument , getElement , getEndOffset , getGraphics , getMaximumSpan , getMinimumSpan , getNextVisualPositionFrom , getParent , getPreferredSpan , getResizeWeight , getStartOffset , getToolTipText , getView , getViewCount , getViewFactory , getViewIndex , getViewIndex , insert , insertUpdate , isVisible , modelToView , modelToView , modelToView , paint , preferenceChanged , remove , removeAll , removeUpdate , replace , setParent , setSize , updateChildren , updateLayout , viewToModel , viewToModel |
clone , equals , extends Object> getClass , finalize , hashCode , notify , notifyAll , toString , wait , wait , wait |
ZoneView
public ZoneView(Element element,
int axis)
Creates a new ZoneView for the specified element and axis.
element
- the element for which to create a ZoneViewaxis
- the major layout axis for the box
createZone
protected View createZone(int p0,
int p1)
Creates a zone for the specified range. Subclasses can override this
to provide a custom implementation for the zones.
p0
- the start of the rangep1
- the end of the range
getMaxZonesLoaded
public int getMaxZonesLoaded()
Returns the number of zones that are allowed to be loaded.
- the number of zones that are allowed to be loaded
getMaximumZoneSize
public int getMaximumZoneSize()
Returns the maximum zone size. Note that zones might still become larger
then the size specified when a singe child view is larger for itself,
because zones are formed on child view boundaries.
getViewIndexAtPosition
protected int getViewIndexAtPosition(int pos)
Returns the index of the child view at the document position
pos
.
This overrides the CompositeView implementation because the ZoneView does
not provide a one to one mapping from Elements to Views.
- getViewIndexAtPosition in interface CompositeView
pos
- the document position
- the index of the child view at the document position
pos
isZoneLoaded
protected boolean isZoneLoaded(View zone)
Returns true
when the specified zone is loaded,
false
otherwise. The default implementation checks if
the zone view has child elements.
zone
- the zone view to check
true
when the specified zone is loaded,
false
otherwise
setMaxZonesLoaded
public void setMaxZonesLoaded(int num)
Sets the maximum number of zones that are allowed to be loaded at the
same time. If the new number of allowed zones is smaller then the
previous settings, this unloads all zones the aren't allowed to be
loaded anymore.
num
- the number of zones allowed to be loaded at the same time
setMaximumZoneSize
public void setMaximumZoneSize(int size)
Sets the maximum zone size. Note that zones might still become larger
then the size specified when a singe child view is larger for itself,
because zones are formed on child view boundaries.
size
- the maximum zone size to set
unloadZone
protected void unloadZone(View zone)
This unloads the specified zone. This is implemented to simply remove
all child views from that zone.
zone
- the zone to be unloaded
updateChildren
protected boolean updateChildren(DocumentEvent.ElementChange ec,
DocumentEvent e,
ViewFactory vf)
Updates the list of children that is returned by
View.getView(int)
and
View.getViewCount()
.
Element that are specified as beeing added in the ElementChange record are
assigned a view for using the ViewFactory. Views of Elements that
are specified as beeing removed are removed from the list.
- updateChildren in interface View
ec
- the ElementChange record that describes the change of the
elementvf
- the ViewFactory to use for creating new views
- whether or not the child views represent the child elements of
the element that this view is responsible for. Some views may
create views that are responsible only for parts of the element
that they are responsible for and should then return false.
zoneWasLoaded
protected void zoneWasLoaded(View zone)
Gets called after a zone has been loaded. This unloads the oldest zone(s)
when the maximum number of zones is reached.
zone
- the zone that has been loaded
ZoneView.java -- An effective BoxView subclass
Copyright (C) 2006 Free Software Foundation, Inc.
This file is part of GNU Classpath.
GNU Classpath is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
GNU Classpath is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Classpath; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301 USA.
Linking this library statically or dynamically with other modules is
making a combined work based on this library. Thus, the terms and
conditions of the GNU General Public License cover the whole
combination.
As a special exception, the copyright holders of this library give you
permission to link this library with independent modules to produce an
executable, regardless of the license terms of these independent
modules, and to copy and distribute the resulting executable under
terms of your choice, provided that you also meet, for each linked
independent module, the terms and conditions of the license of that
module. An independent module is a module which is not derived from
or based on this library. If you modify this library, you may extend
this exception to your version of the library, but you are not
obligated to do so. If you do not wish to do so, delete this
exception statement from your version.