public class JUTreeBinding extends JUCtrlHierBinding implements javax.swing.event.TreeExpansionListener, javax.swing.event.TreeSelectionListener, javax.swing.tree.TreeModel
javax.swing.JTree
to a BC4J RowIterator
and display a selected attribute. Each tree node may
display a set of child nodes bound to another Iterator that is
retrieved via an accessor on the rows of the first iterator.
This binding allows Trees that can have two types of nodes:
RowIterator
,
JTree
,
TreeModel
,
TreeNode
ATTR_CHILDREN, ATTR_ROOTNODE, mRootBinding, mTypeBindings
ATTR_ATTRIBUTE, ATTR_ATTRIBUTE_DEF, ATTR_ATTRIBUTE_DEFS, ATTR_ATTRIBUTE_VALUE, ATTR_ATTRIBUTE_VALUES, ATTR_ATTRIBUTES, ATTR_AUTOSUBMIT, ATTR_CATEGORY, ATTR_DISPLAY_HEIGHT, ATTR_DISPLAY_HINT, ATTR_DISPLAY_WIDTH, ATTR_FIELD_ORDER, ATTR_FORMAT, ATTR_FORMATS, ATTR_HINTS, ATTR_INPUT_VALUE, ATTR_LABEL, ATTR_LABELS, ATTR_LABELSET, ATTR_MANDATORY, ATTR_PATH, ATTR_TOOLTIP, ATTR_UPDATEABLE, ATTR_VIEWABLE, DATACHANGE_EVENT_POLICY, EMPTY_STRING, GET_ALLOWS, mAttrs, mHasInputVal, mInputVal, SEP_LIST_DISPLAY
ATTR_CURRENTROW, ATTR_DEF, ATTR_ERROR, ATTR_ERRORS, ATTR_FULLNAME, ATTR_ITER, ATTR_NAME, DC_BINDING_ERROR, mAttributeListener, mInternalGet_KeyResolved, mPermission, mPermissionInfo, ROW_KEY_STR
MAP_NULL_VALUE
Constructor and Description |
---|
JUTreeBinding(javax.swing.JTree tr,
JUIteratorBinding iterBinding,
JUCtrlHierTypeBinding[] typeBindings)
This constructor binds a JTree with Rows from a given JUIteratorBinding and
displays data as per the node-types passed in typeBindings.
|
JUTreeBinding(javax.swing.JTree tr,
JUIteratorBinding iterBinding,
java.lang.String attrName,
JUCtrlHierTypeBinding[] typeBindings)
*** For internal framework use only ***
|
Modifier and Type | Method and Description |
---|---|
void |
addControlToPanel(java.lang.Object panel,
java.lang.Object layoutObject,
java.lang.Object layoutCons)
*** For internal framework use only ***
|
void |
addTreeModelListener(javax.swing.event.TreeModelListener l) |
protected JUCtrlHierNodeBinding |
createNodeBinding(JUCtrlHierNodeBinding parent,
JUIteratorBinding iterBinding,
JUCtrlHierTypeBinding typeBinding,
Row row,
boolean expandable) |
protected void |
createRootBinding() |
static javax.swing.tree.DefaultTreeModel |
createTreeNodeTypeBinding(JUFormBinding formBinding,
javax.swing.JTree control,
java.lang.String voInstanceName,
java.lang.String voIterName,
java.lang.String voIterBindingName,
JUCtrlHierTypeBinding[] nodeBindings)
This method is used by the JClient model-binding editors to bind a JTree to this binding.
|
java.lang.String[] |
getAttributeNames()
Returns the attribute that is displayed in the first-level nodes of this tree.
|
java.lang.Object |
getChild(java.lang.Object parent,
int index) |
int |
getChildCount(java.lang.Object parent) |
java.lang.Object |
getControlModel(java.lang.Object control)
Gets the associated View's model object.
|
int |
getIndexOfChild(java.lang.Object parent,
java.lang.Object child) |
static javax.swing.tree.DefaultTreeModel |
getInstance(JUFormBinding formBinding,
javax.swing.JTree control,
java.lang.String voInstanceName,
java.lang.String voIterName,
java.lang.String voIterBindingName,
JUCtrlHierTypeBinding[] nodeBindings)
Deprecated.
since 9.0.2
|
java.lang.Object |
getLayoutObject()
*** For internal framework use only ***
|
protected javax.swing.tree.DefaultTreeModel |
getModelImpl(javax.swing.JTree control)
Returns the TreeModel to which the associated JTree is bound.
|
protected JUTreeNodeBinding |
getNodeBinding(javax.swing.tree.DefaultMutableTreeNode treeNode) |
java.lang.Object |
getRoot() |
JUTreeNodeBinding |
getRootBinding()
Returns the root node binding that contains the iterator that the root node is displaying.
|
java.lang.Object |
getValueAt(int rowIndex,
int attrIndex)
Returns null, as tree is not implemented to return attribute values
for a given Row.
|
boolean |
isLeaf(java.lang.Object node) |
void |
removeTreeModelListener(javax.swing.event.TreeModelListener l) |
protected JUCtrlHierNodeBinding |
restoreTreeAndExpand(java.util.ArrayList al)
Advanced method: Applications should not use this method
|
void |
setControl(java.lang.Object ctrl)
Sets the associated Swing control.
|
void |
setLayoutObject(javax.swing.JScrollPane scrollPane)
*** For internal framework use only ***
|
void |
setValueAt(java.lang.Object value,
int rowIndex,
int attrIndex)
This method is a noop.
|
void |
treeCollapsed(javax.swing.event.TreeExpansionEvent e) |
void |
treeExpanded(javax.swing.event.TreeExpansionEvent e) |
void |
updateRangeScrolled(ScrollEvent event)
Method to handle scroll events from the BC4J iterator.
|
void |
updateValuesFromRow(Row row)
This method is called in the framework when values of a single row need to be
updated in a control (typically on a navigation event).
|
void |
valueChanged(javax.swing.event.TreeSelectionEvent e) |
void |
valueForPathChanged(javax.swing.tree.TreePath path,
java.lang.Object newValue) |
bringNodeToRangeKeyPath, clearAttrDefs, clearRootBinding, findNodeByDCEPath, findNodeByKeyPath, getChildren, getDocCategories, getFormats, getHintMap, getHints, getLabels, getMasterNodeForDCE, getRootNodeBinding, getServiceConfiguration, getTypeBindings, internalGet, internalGetRootNodeBinding, isDynamicallyGeneratingAccessorTypes, lookupTypeBinding, lookupTypeBindingForRow, reinitializeForAllNodes, release, setAttributeNames, setAttributes, setDef, setDynamicallyGeneratingAccessorTypes, setTypeBindings, updateValuesFromRows
createValueBindingRef, findOrCreateSelectionAttributeDef, getCurrentRowIndex, getDeferredEstimatedRowCount, getEstimatedRowCount, getInputErrorsForRowKey, getInputValueInRow, getRangeSet, getRangeSize, getRangeStart, isSelectionEnabled, needsEstimatedRowCount, refreshControl, setCurrentRowAtIndex, setInputValueInRow, setRangeStart, updateNavigated, useRowSpecificHints
addBindingContainerChangeListenerForCtxEvent, addDataChangeListener, clearEventsCache, compareAndSetAttribute, createAndNotifyDCE, createEventProducer, displayInShortForm, ensureVariableManager, eventForMyRow, fetchAttrDefs, findAttributeDef, generateDCE, getAttribute, getAttribute, getAttribute, getAttributeCount, getAttributeDef, getAttributeDef, getAttributeDefs, getAttributeDefsForRow, getAttributeFromRow, getAttributeFromRow, getAttributeFromRow, getAttributeFromRow, getAttributeFromRow, getAttributeIndexOf, getAttributes, getAttributes, getAttributeUIHelper, getAttributeValidators, getAttributeValidators, getAttributeValue, getAttributeValue, getAttributeValueFromRow, getAttributeValues, getAttributeValues, getAttrViewExpressions, getBindingHint, getCachedEvents, getCategory, getChangeEventPolicy, getColumnNameForQuery, getControlType, getDataChangeEventPolicy, getDataChangeListener, getDisplayHeight, getDisplayHint, getDisplayWidth, getError, getErrors, getEventProducer, getFieldOrder, getFormat, getFormattedAttributeValue, getHint, getHint, getInputValue, getInputValue, getInputValueHandler, getInputValueOnError, getIteratorBindingForDCE, getIteratorRenderHint, getLabel, getLabel, getLabelSet, getLastEventId, getLocaleContext, getMasterKeyPathForDCE, getMergedAttributeValues, getNullValueString, getPath, getPermissionDef, getPermissionHolder, getPermissionInfo, getState, getTooltip, getTooltip, hasEventProducer, hasFormatInformation, hasServerBindingChanged, hasVariables, initResources, internalGetAttributeIndexOf, internalGetDataControlReference, internalGetRow, internalHasPermission, internalHasPermission, isArrayIteratorType, isAttributeMandatory, isAttributeUpdateable, isAttributeUpdateable, isAttributeUpdateable, isAttributeUpdateable, isAutoSubmit, isEventsCachingEnabled, isMandatory, isNewInputValue, isNullInsertKeyPathForDCE, isPushDataChangeEvents, isPushOrPollDataChangeEvents, isUpdateable, isViewable, lookupAttributeDef, notifyDataChangeEvent, notifyDataExceptionEvent, notifyDCE, pinDataControl, processInputException, processNewInputValue, put, removeAttrName, removeDataChangeListener, removeFromDCExceptions, resetAttributeDefs, resetInputState, resolvePath, restoreFromState, setArrayIteratorType, setAttribute, setAttribute, setAttributeInRow, setAttributeInRow, setAttributeInRow, setAttributeInRow, setAttributeInRow, setAttributeInRow, setAttributeValue, setAttributeValuesInRow, setAttrViewExpressions, setError, setEventProducer, setEventsCaching, setInputValue, setInputValue, setInputValueHandler, setIteratorBinding, setListener, setNullValueString, startEvents, stopEditing, stopEvents, updateRow, updateRowDeleted, updateRowInserted, validateInputValue
getCurrentRow, getFormBinding, getIteratorBinding, reportException, setFormBinding
addToDCExceptions, evaluateBooleanExpression, executeQuery, executeQueryIfNeeded, get, getAllRowsInRange, getApplicationModule, getAttributeListener, getBindingContainer, getControl, getDCIteratorBinding, getDef, getDefFullName, getDefName, getFullName, getName, getPermission, getPermissionTargetName, getRowAtRangeIndex, getRowIterator, getTransaction, getViewableExpr, getViewObject, hasAttributeListener, hashCode, internalGetDataControl, internalSetName, isAssociatedWithDataControl, isControlQueriable, isControlViewable, isReleased, release, reportException, resetAttributeExceptionInRow, setBindingContainer, setDataControlPinned, setListener, setName, setViewableExpr, toString
entrySet, equals, internalPut, setThrowIfPropertyNotFoundOnGet
clear, clone, containsKey, containsValue, isEmpty, keySet, putAll, remove, size, values
finalize, getClass, notify, notifyAll, wait, wait, wait
getLabelSet
setListener
getName, getPath, release, resolvePath, setListener
getDefFullName, getDefName, getFullName, getName
public JUTreeBinding(javax.swing.JTree tr, JUIteratorBinding iterBinding, JUCtrlHierTypeBinding[] typeBindings)
public JUTreeBinding(javax.swing.JTree tr, JUIteratorBinding iterBinding, java.lang.String attrName, JUCtrlHierTypeBinding[] typeBindings)
public java.lang.Object getControlModel(java.lang.Object control)
getControlModel
in class DCControlBinding
public static javax.swing.tree.DefaultTreeModel createTreeNodeTypeBinding(JUFormBinding formBinding, javax.swing.JTree control, java.lang.String voInstanceName, java.lang.String voIterName, java.lang.String voIterBindingName, JUCtrlHierTypeBinding[] nodeBindings)
The rules the govern the node bindings are:
public static javax.swing.tree.DefaultTreeModel getInstance(JUFormBinding formBinding, javax.swing.JTree control, java.lang.String voInstanceName, java.lang.String voIterName, java.lang.String voIterBindingName, JUCtrlHierTypeBinding[] nodeBindings)
public void setControl(java.lang.Object ctrl)
DCControlBinding
setControl
in class DCControlBinding
protected javax.swing.tree.DefaultTreeModel getModelImpl(javax.swing.JTree control)
public void addControlToPanel(java.lang.Object panel, java.lang.Object layoutObject, java.lang.Object layoutCons)
addControlToPanel
in class JUCtrlRangeBinding
public java.lang.Object getLayoutObject()
getLayoutObject
in class DCControlBinding
public void setLayoutObject(javax.swing.JScrollPane scrollPane)
public java.lang.Object getValueAt(int rowIndex, int attrIndex)
getValueAt
in class JUCtrlRangeBinding
public void setValueAt(java.lang.Object value, int rowIndex, int attrIndex)
setValueAt
in class JUCtrlRangeBinding
public java.lang.String[] getAttributeNames()
getAttributeNames
in class JUCtrlValueBinding
public JUTreeNodeBinding getRootBinding()
protected JUTreeNodeBinding getNodeBinding(javax.swing.tree.DefaultMutableTreeNode treeNode)
protected JUCtrlHierNodeBinding createNodeBinding(JUCtrlHierNodeBinding parent, JUIteratorBinding iterBinding, JUCtrlHierTypeBinding typeBinding, Row row, boolean expandable)
createNodeBinding
in class JUCtrlHierBinding
protected void createRootBinding()
createRootBinding
in class JUCtrlHierBinding
protected JUCtrlHierNodeBinding restoreTreeAndExpand(java.util.ArrayList al)
restoreTreeAndExpand
in class JUCtrlHierBinding
public void updateValuesFromRow(Row row)
updateValuesFromRow
in class JUCtrlHierBinding
public void updateRangeScrolled(ScrollEvent event)
JUCtrlRangeBinding
updateRangeScrolled
in class JUCtrlRangeBinding
ScrollEvent
public void treeCollapsed(javax.swing.event.TreeExpansionEvent e)
treeCollapsed
in interface javax.swing.event.TreeExpansionListener
public void treeExpanded(javax.swing.event.TreeExpansionEvent e)
treeExpanded
in interface javax.swing.event.TreeExpansionListener
public void valueChanged(javax.swing.event.TreeSelectionEvent e)
valueChanged
in interface javax.swing.event.TreeSelectionListener
public java.lang.Object getRoot()
getRoot
in interface javax.swing.tree.TreeModel
public java.lang.Object getChild(java.lang.Object parent, int index)
getChild
in interface javax.swing.tree.TreeModel
public int getChildCount(java.lang.Object parent)
getChildCount
in interface javax.swing.tree.TreeModel
public boolean isLeaf(java.lang.Object node)
isLeaf
in interface javax.swing.tree.TreeModel
public void valueForPathChanged(javax.swing.tree.TreePath path, java.lang.Object newValue)
valueForPathChanged
in interface javax.swing.tree.TreeModel
public int getIndexOfChild(java.lang.Object parent, java.lang.Object child)
getIndexOfChild
in interface javax.swing.tree.TreeModel
public void addTreeModelListener(javax.swing.event.TreeModelListener l)
addTreeModelListener
in interface javax.swing.tree.TreeModel
public void removeTreeModelListener(javax.swing.event.TreeModelListener l)
removeTreeModelListener
in interface javax.swing.tree.TreeModel