public abstract class PresentationListView extends BasicPresentationListView
BasicPresentationListView.ElementData, BasicPresentationListView.GuiState
PresentationView.MainRoot, PresentationView.Settings, PresentationView.SizeLimitDialog
BACK_LINKS, CONTAINER, END_LINK_TO_START, HEADER, LINK_IGNORE, LINK_NULL, LINKED, START_LINK_TO_END, VALUE
ANIMATE, CCW, REVERSIBLE, ROUND, VERTICAL
Constructor and Description |
---|
PresentationListView(ViewerCreateData vcd,
int flags)
Creates a new PresentationListView.
|
Modifier and Type | Method and Description |
---|---|
void |
build(ViewerInitData vid,
Element initDataIn)
Builds the viewer non-gui internals.
|
boolean |
elementUsed(Value value,
Value container,
Value element,
int index,
DebugContext context,
Object elementContext)
Determines if an element is used, where the meaning of used is
implementation dependent.
|
int |
getAutoscrollIndex(Value value,
DebugContext context)
Gets an index that should be made visible during an update.
|
abstract Value |
getContainer(Value value,
int index,
DebugContext context,
Object elementContext)
Gets a value container, for linked lists.
|
abstract Value |
getElement(Value value,
int index,
DebugContext context,
Object elementContext)
Gets a value.
|
Object |
getElementContext(Value value,
DebugContext context)
Override this to return a context object, which may be used to
efficiently return neighboring values for a linked list.
|
abstract int |
getFullLimit()
Gets the item count at which this viewer will switch to a more efficient
mode.
|
abstract String |
getLeftIndexMarker()
Gets the left index marker.
|
abstract int |
getLength(Value value,
DebugContext context)
Gets the item count.
|
List<IndexItem> |
getMarkers(Value value,
DebugContext context)
Gets a list of index markers.
|
int |
getPriority(ViewerPriorityData vpd)
Gets the viewer priority.
|
abstract String |
getRightIndexMarker()
Gets the right index marker.
|
String |
getViewName()
Gets the display name of the viewer.
|
abstract boolean |
isObjectList(Value value,
DebugContext context)
Determines if this is a list of objects.
|
void |
update(ViewerValueData valueData,
ViewerUpdateData data,
DebugContext context)
Updates the viewer.
|
center, configure, createGlobalSettings, createGui, destroy, getGuiState, getScrollableUnitIncrement, getSettingsCopy, hasHeader, noSimpleForPrimitives, setItemCount, setLinkage, setSelection, setSelectionViewValue, showLinked, updateGui, updateGui, updateView
addToolBarButton, animate, changeSizeLimit, getAnimateDelay, getCurrentSettings, getElementChars, getElementWidth, getNewSizeLimit, getPerClassSettings, getRefSettings, init, isEmbedded, isReversed, isRound, isSimple, isVertical, isViewerTransparent, scaleFont, setError, setLabelLocation, setSizeLabelText, setValuesAreObjects, showEmbedded, showReversed, showRound, showSimple, showVertical, sizeLimitExceeded, toXML, valuesAreObjects
public PresentationListView(ViewerCreateData vcd, int flags)
vcd
- creation data.flags
- constructor flags. A combination of BasicPresentationListView.LINKED
,
BasicPresentationListView.BACK_LINKS
, BasicPresentationListView.HEADER
, BasicPresentationListView.END_LINK_TO_START
, and
BasicPresentationListView.START_LINK_TO_END
.public void build(ViewerInitData vid, Element initDataIn)
build
in interface Viewer
build
in class BasicPresentationListView
vid
- initialization and control element for the viewer.initDataIn
- XML initialization data for the viewer.public boolean elementUsed(Value value, Value container, Value element, int index, DebugContext context, Object elementContext) throws ViewerException
value
- the current value being viewed.container
- container for the element of interest.element
- the element of interest.index
- the index of the element of interest.context
- the current debugger context.elementContext
- the current element context, or null if an element
context has not been supplied.ViewerException
- if any exceptions are occur and are not caught
while using jgrdi.ViewerException
- if any exceptions are occur and are not caught
while using jgrdi.public int getAutoscrollIndex(Value value, DebugContext context) throws ViewerException
value
- the current value being viewed.context
- the current debugger context.ViewerException
- if any exceptions are occur and are not caught
while using jgrdi.public abstract Value getContainer(Value value, int index, DebugContext context, Object elementContext) throws ViewerException
value
- the current value being viewed.index
- the index of the element of interest.context
- the current debugger context.elementContext
- the current element context, or null if an element
context has not been supplied.ViewerException
- if any exceptions are occur and are not caught
while using jgrdi.public abstract Value getElement(Value value, int index, DebugContext context, Object elementContext) throws ViewerException
value
- the current value being viewed.index
- the index of the element of interest.context
- the current debugger context.elementContext
- the current element context, or null if an element
context has not been supplied.ViewerException
- if any exceptions are occur and are not caught
while using jgrdi.public Object getElementContext(Value value, DebugContext context) throws ViewerException
update()
call, so the underlying data
structure will not change during the life of the element context object.
Consecutive calls to getElement()
will commonly have
consecutive indices, and getContainer()
will
commonly follow getElement() with the same index. This will not always be
the case though, and it is highly recommended that you first develop your
viewer without using an element context, then add the element context for
efficiency once the viewer is working.value
- the value being viewed.context
- the current debugger context.ViewerException
- if any exceptions are occur and are not caught
while using jgrdi.public abstract int getFullLimit()
public abstract String getLeftIndexMarker()
public abstract int getLength(Value value, DebugContext context) throws ViewerException
value
- the current value being viewed.context
- the current debugger context.ViewerException
- if any exceptions are occur and are not caught
while using jgrdi.public List<IndexItem> getMarkers(Value value, DebugContext context) throws ViewerException
value
- the current value being viewed.context
- the current debugger context.ViewerException
- if any exceptions are occur and are not caught
while using jgrdi.public int getPriority(ViewerPriorityData vpd)
Viewer
getPriority
in interface Viewer
getPriority
in class BasicPresentationListView
vpd
- data about how the viewer will be used.Integer.MIN_VALUE
indicates that the viewer
dialog or canvas should change viewers.public abstract String getRightIndexMarker()
public String getViewName()
Viewer
getViewName
in interface Viewer
getViewName
in class BasicPresentationListView
public abstract boolean isObjectList(Value value, DebugContext context) throws ViewerException
value
- the current value being viewed.context
- the current debugger context.ViewerException
- if any exceptions are occur and are not caught
while using jgrdi.public void update(ViewerValueData valueData, ViewerUpdateData data, DebugContext context) throws ViewerException
valueData
- the new value and associated information, such as
declared type. This will be null for animation updates.data
- information about this update, such as why it was triggered,
and if it was triggered by a flagged method entry, the method argument
values.context
- debugger context that is necessary for working with
values, and provides some global debugger access. This will be null for
animation updates.ViewerException
- if an exception is encountered.