Package com.iizigo.vs.prop
Class EditorVSTable
- java.lang.Object
- com.iizix.prop.GProp<GProp<?>[]>
- com.iizix.prop.PropCnr
- com.iizix.prop.vs.VSComponent
- com.iizix.prop.vs.VSTable
- com.iizigo.vs.prop.EditorVSTable
- All Implemented Interfaces:
IShowJavaSource
,ILinkCapable
,IUICreationFromVS
,IPropDesigner
,IPropRenameable
,IEVSComponent
,IBackReferenceProvider
,EventListener
,IFocusComp
,IMessageBox
,ICustomDataProvider
,IGProp<GProp<?>[]>
,IPropCnr
,IVSComponent
,IVSComponentListener
,IVSComponentState
,IVSMessageComponent
,java.lang.Cloneable
,org.eclipse.core.runtime.IAdaptable
public class EditorVSTable extends VSTable implements IEVSComponent, IBackReferenceProvider, IUICreationFromVS
The Editor VirtualSpace Field property class.- Author:
- Christopher Mindus
Nested Class Summary
Nested classes/interfaces inherited from interface com.iizix.gyro.IMessageBox
IMessageBox.Icon
Nested classes/interfaces inherited from interface com.iizix.prop.vs.IVSComponentState
IVSComponentState.State
Field Summary
Fields inherited from class com.iizix.prop.vs.VSTable
EMPTY_LISTENERS, header, rows
Fields inherited from class com.iizix.prop.vs.VSComponent
statesMap
Fields inherited from class com.iizix.prop.PropCnr
EMPTY, EMPTY_CLASSES, EMPTY_CNRS, EXTENDS_FRAMEWORK_ERROR_ID
Fields inherited from class com.iizix.prop.GProp
GPDEBUG, PROP_ATTR_STRING_EDITOR_PROP, PROP_ATTR_STRING_ERRORED_NAME, PROP_ATTR_STRING_EXTENDS, PROP_ATTR_STRING_EXTENDS_FINAL, PROP_ATTR_STRING_EXTENDS_PRIVATE, PROP_ATTR_STRING_NULLABLE, PROP_ATTR_STRING_PRIVATE, PROP_ATTR_STRING_PRIVATE_CHANGE_EVENT, PROP_ATTR_STRING_READ_ONLY, PROP_USER_1, PROP_USER_2
Fields inherited from interface com.iizix.prop.IGProp
EQC_ERROR_IGNORE_ALL, EQC_ERROR_IGNORE_REFERENCES, EQC_IGNORE_ARRAY, EQC_IGNORE_VOLATILE_OR_EDITOR, EQC_PRIVATE, EQC_SAVE_FILE, EXT_CONTAINER_EXTENDS, EXT_CONTAINER_EXTENDS_VALID, EXT_EXTENDED, EXT_FINAL, EXT_OVERRIDES, EXT_OVERRIDES_FINAL_ERR, EXT_PRIVATE
Fields inherited from interface com.iizigo.link.ILinkCapable
STATUS_LINK_NOT_SUPPORTED
Fields inherited from interface com.iizix.gyro.IMessageBox
ICON_ERROR, ICON_INFORMATION, ICON_MAP, ICON_NONE, ICON_QUESTION, ICON_WARNING
Fields inherited from interface com.iizix.prop.vs.IVSComponent
ERROR, INFORMATION, NONE, PN_IGNORE_UI_FOCUS, WARNING
Constructor Summary
Constructors Constructor Description EditorVSTable()
Creates the VirtualSpace Field property container without a name.EditorVSTable(Atom propertyAtom)
Creates the VirtualSpace Field property container with the specified name.
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description EditorVSTable
clone()
Clone must be overridden.protected VSRow
createHeader()
Creates the header property container.protected VSRow
createRow(Atom a, VSColumnHeader[] columns)
Creates a row property.protected VSRow
createRow(Atom a, VSField[] fields)
Creates a row property.protected EditorVSRows
createRows()
Creates the header property container.static EditorVSTable
createTable(PropCnr parent, java.lang.String suggestedName, CreateColumnData[] columns)
Creates a table with the suggested name to be placed in a container.PropCnr
getBaseJavaReference()
Gets the base reference path for the Java reference, from the owner of this container, e.g.EditorVSColumnHeader
getColumnHeader(int columnIndex)
Gets the headers columns for the row.EditorVSColumnHeader[]
getColumnHeaders()
Gets the headers columns for the row.VirtualSpaceDesignerProp
getDesigner()
Gets the Designer Extension for Properties.java.lang.Class<?>[]
getExtendsPossibleClasses()
Gets the possible classes this container supports for the Extends Framework.EditorVSRow
getHeader()
Gets the header.EditorVSRow
getRow(int row)
Gets the row of a certain index.EditorVSRow[]
getRows()
Gets the rows in this table.EditorVSRows
getRowsContainer()
Gets the rows property container.EditorVirtualSpace
getVirtualSpace()
Gets the VirtualSpace instance.java.lang.String
isBackReferenceValid(AnnotationType annotationType, java.lang.String name, boolean isRefOnly)
Validates if the back-reference specified is referenced in the first place, i.e.void
onEventSelf(GEvent event)
Checks for state change events and fires it to listeners.protected void
onListenerChanged(IVSTableListener listener)
Called when a listener is added or removed.boolean
verify(PropVerification verification)
Verifies this property container.Methods inherited from class com.iizix.prop.vs.VSTable
addListener, addListener, addPredefinedProps, addRow, addRow, clear, clearSelection, clearSelection, createRow, fireRowSelection, getColumnCount, getColumnHeader, getComponentIsDisabled, getComponentIsHidden, getFirstSelectedRow, getPredefinedProps, getRowCount, getRowFields, getRowValues, getSelectedIndex, getSelectedIndicies, getSelectedRows, getSelectionType, getTableListeners, insertRow, insertRow, invokeVSChange, isSelectionRequired, onParentStateChanged, refreshContentProviders, removeListener, removeListener, removeRow, setHeader, setRow, setSelection, setSelection, setSelection, setSelection
Methods inherited from class com.iizix.prop.vs.VSComponent
addListener, areFree, areFree, canRequestFocus, couldRequestFocusIfVirtualized, forbiddenGetCustomDataMap, getClientSessionGyro, getComponentListeners, getDescription, getNonVirtualized, initPropCnr, isFree, isFree, onFocusGained, onFocusLost, onListenerChanged, onPrepare, onPropDispose, onRemoteEvent, onVirtualizationCompleted, onVirtualized, removeListener
Methods inherited from class com.iizix.prop.PropCnr
__transferChildProps, addProp, addProp, addProp2, addProp2, appendPropValue, canRequestFocus, completeVirtualize, containsProp, containsProp, convertLoadedProp, couldRequestFocusIfVirtualized, createCopyOfAtom, createUniqueAtom, createUniqueAtom, createUniqueAtom, createVSReference, doPropEqualsArrayValues, doVirtualizePropCnr, enablePropCommunication, enablePropHashMap, equalsTree, equalsTree, getAllProps, getAllProps, getAllProps, getAllProps, getAllProps, getAllProps, getAllProps, getAllProps, getBool, getBool, getBool, getBool, getChildPropError, getChildPropError, getChildPropErrorSeverity, getChildPropErrorSeverity, getErrorsProp, getExtendsContainer, getExtendsError, getExtendsName, getExtendsOverride, getFirstProp, getFirstProp, getFocusEngine, getInt, getInt, getInt, getInt, getLong, getLong, getLong, getLong, getNumber, getNumber, getNumber, getNumber, getPossibleChildren, getProp, getProp, getProp, getProp, getProp, getProp, getProp, getProp, getProp, getProp, getProp, getPropBaseReference, getPropCnr, getPropCount, getPropCount, getPropIndex, getPropIndex, getPropIndexes, getProps, getProps, getPropValue, getPropValue, getPropValue, getPropValue, getPropValue, getPropValue, getPropValue, getPropValue0, getReferences, getRetargetedVerifyContainer, getString, getString, getString, getString, getValueClasses, getVSReference, hasFocus, hasSendData, initializeElement, initializeExtendsFramework, initializeProp, initializeValue, insertProp, insertProp2, isChild, isExtendsOverriden, isExtendsPropertyValid, isExtendsRoot, isPropAddRemoveAllowed, isPropCommunicating, isPropExtended, isSibling, list, list, logPropNotFound, maybeAddProp, onInsertProp, onPropRemoved, onPropTreeInitialized, onReferenceEvent, paramString, prepare, removeAllProps, removeAllProps2, removeProp, removeProp, removeProp, removeProp, removeProp, removeProp, removeProp, removeProp2, removeProp2, removeProp2, removeProp2, removeProp2, removeProp2, removeProp2, reorderProps, replaceProps, requestFocus, requestFocus, requestFocusEx, requestFocusEx, resolveReferences, resolveRuntimeReferences, setBool, setBool, setBool, setBool, setCreateRequiredProp, setExtendsName, setExtendsOverride, setInt, setInt, setInt, setLong, setLong, setLong, setLong, setNumber, setNumber, setNumber, setNumber, setProp, setProp, setProp, setProp2, setProp2, setPropValue, setPropValue, setPropValue, setPropValue, setPropValue, setPropValue, setString, setString, setString, setString, shouldCreateProps, shouldSerializeToXML, toElementString, toNativeValue0, usePropHashMap, usesPropIndex, validateChildPropInValue, validateClassInstances, validatePropType, validatePropValue, verifyInternalUseOnly, verifyTree, virtualize
Methods inherited from class com.iizix.prop.GProp
addPropError, addPropListener, convertPropError, dispose, equals, equals, equalsErrors, equalsObj, equalsPropValue, equalValues, extendsClone, finalize, fine, fine, finer, finer, finest, finest, fromElementString, getAliasName, getAppSessionGyro, getAppWorker, getAtomPath, getAttribute, getChildReferencePropName, getClientWorker, getConstraints, getEnvironment, getErroredPropItems, getErroredProps, getErrorsProp, getExtendsRootContainer, getFullPropName, getFullPropName, getFullPropNameDebug, getFullPropNameDebug, getListeners, getModuleFolder, getModuleFolder, getParent, getParent, getProjectName, getPropAtom, getPropError, getPropError, getPropErroredName, getPropErrorSeverity, getPropExtendsFlags, getPropFromPath, getPropFromPath, getPropFromReference, getPropFromReference, getPropIndex, getPropName, getPropPath, getPropPath, getPropReferenceTarget, getPropRootPropMgr, getPropTreeErrorSeverity, getPropValue, getPropValue, getPropValueObject, getReferencePropName, getRelativePropName, getRootFromName, getRootName, getRootParent, getRootParent, getTreeLock, hasChanged, hasPrivateChangeEventProp, hasPropError, hasPropTreeError, info, info, initializeGElement, initializeGProp, isDisposed, isPropChildOf, isPropClientCreated, isPropCreateRequired, isPropExtended, isPropExtendsFinal, isPropExtendsPrivate, isPropExtendsPrivateInRoot, isPropExtendsPrivateInRoot, isPropFile, isPropFolder, isPropForEditor, isPropNullable, isPropPrivate, isPropPrivateAtCreation, isPropReadOnly, isPropReferenceTreeValid, isPropRoot, isPropUSER, isPropValueTreeLockNeeded, isPropVirtualized, isPropVirtualizing, isPropVolatile, isPropVolatileOrEditorOnly, isProxied, list, list, list, mapAliasToReference, mapAliasToReference, mapReferenceToAlias, mapReferenceToAlias, mapReferenceToProjectRelative, modifyPropValue, moveProp, moveProp, moveProp, onEvent, onPropInvalidateCache, onPropParentChanged, onPropValueSet, paramValue, post, post, removePropError, removePropListener, removePropUSER, renameProp, renameProp2, resetChangedTree, setChanged, setConstraints, setConstraints, setParent, setPrivateChangeEventProp, setPrivateCreateRequiredProp, setPropError, setPropErroredName, setPropExtended, setPropExtendsFinal, setPropExtendsPrivate, setPropForEditor, setPropNullable, setPropPrivate, setPropReadOnly, setPropUSER, setPropValue, setPropValue, setPropValue, setPropValueIncognito, setPropVolatile, severe, severe, severe, shouldSerializeToXML, throwIfReadOnly, toNativeValue, toString, toString, triggerRemoteEvent, triggerRemoteEvent, validateProp, verifyHasPropertyItem, warning, warning, warning
Methods inherited from class java.lang.Object
getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface com.iizix.prop.ICustomDataProvider
forbiddenGetCustomDataMap, getCustomData, putCustomData, putCustomDataIfAbsent
Methods inherited from interface com.iizix.gyro.IFocusComp
onFocusGained, onFocusLost, requestFocus, requestFocus, requestFocusEx, requestFocusEx
Methods inherited from interface com.iizix.prop.IGProp
addPropError, addPropListener, dispose, equals, fine, fine, finer, finer, finest, finest, fromElementString, getAppSessionGyro, getAtomPath, getClientSessionGyro, getConstraints, getEnvironment, getErroredPropItems, getErroredProps, getErrorsProp, getExtendsRootContainer, getFullPropName, getFullPropNameDebug, getModuleFolder, getModuleFolder, getParent, getParent, getPropAtom, getPropBaseReference, getPropError, getPropError, getPropErrorSeverity, getPropExtendsFlags, getPropFromPath, getPropFromReference, getPropIndex, getPropName, getPropPath, getPropPath, getPropRootPropMgr, getPropTreeErrorSeverity, getPropValue, getPropValue, getReferencePropName, getReferences, getRelativePropName, getRootParent, getTreeLock, getValueClasses, getVSReference, hasChanged, hasPrivateChangeEventProp, hasPropError, hasPropTreeError, info, info, initializeGElement, initializeGProp, isDisposed, isPropChildOf, isPropClientCreated, isPropCommunicating, isPropCreateRequired, isPropExtended, isPropExtendsFinal, isPropExtendsPrivate, isPropExtendsPrivateInRoot, isPropExtendsPrivateInRoot, isPropFile, isPropFolder, isPropNullable, isPropPrivate, isPropReadOnly, isPropReferenceTreeValid, isPropRoot, isPropVirtualized, list, list, list, list, list, mapAliasToReference, mapReferenceToAlias, mapReferenceToProjectRelative, moveProp, moveProp, moveProp, onEvent, onPropTreeInitialized, onRemoteEvent, removePropError, removePropListener, renameProp, resolveRuntimeReferences, setChanged, setConstraints, setConstraints, setParent, setPrivateChangeEventProp, setPropError, setPropExtendsFinal, setPropExtendsPrivate, setPropNullable, setPropPrivate, setPropReadOnly, setPropValue, setPropValue, severe, severe, severe, toElementString, toNativeValue, triggerRemoteEvent, triggerRemoteEvent, validateProp, validatePropType, validatePropValue, verifyHasPropertyItem, warning, warning, warning
Methods inherited from interface com.iizigo.link.ILinkCapable
getDragDropHTML
Methods inherited from interface com.iizix.gyro.IMessageBox
messageBox, messageBox
Methods inherited from interface com.iizix.prop.IPropCnr
addProp, addProp, addProp2, addProp2, canRequestFocus, canRequestFocus, canRequestFocus, containsProp, containsProp, couldRequestFocusIfVirtualized, couldRequestFocusIfVirtualized, couldRequestFocusIfVirtualized, createCopyOfAtom, createUniqueAtom, createUniqueAtom, enablePropCommunication, enablePropHashMap, getAllProps, getAllProps, getAllProps, getAllProps, getAllProps, getAllProps, getAllProps, getAllProps, getBool, getBool, getBool, getBool, getChildPropError, getChildPropError, getChildPropErrorSeverity, getChildPropErrorSeverity, getErrorsProp, getExtendsError, getExtendsName, getFirstProp, getFirstProp, getFocusEngine, getInt, getInt, getInt, getInt, getLong, getLong, getLong, getLong, getNumber, getNumber, getNumber, getNumber, getPossibleChildren, getProp, getProp, getProp, getProp, getProp, getProp, getProp, getProp, getProp, getProp, getProp, getPropCnr, getPropCount, getPropIndex, getPropIndex, getPropIndexes, getProps, getProps, getPropValue, getPropValue, getPropValue, getPropValue, getPropValue, getPropValue, getPropValue, getString, getString, getString, getString, hasFocus, initializeExtendsFramework, insertProp, insertProp2, isChild, isExtendsOverriden, isExtendsRoot, isPropAddRemoveAllowed, isPropExtended, isSibling, removeAllProps, removeAllProps2, removeProp, removeProp, removeProp, removeProp, removeProp, removeProp, removeProp, removeProp2, removeProp2, removeProp2, removeProp2, removeProp2, removeProp2, removeProp2, reorderProps, requestFocus, requestFocusEx, setBool, setBool, setBool, setBool, setExtendsName, setExtendsOverride, setInt, setInt, setInt, setLong, setLong, setLong, setLong, setNumber, setNumber, setNumber, setNumber, setProp, setProp, setProp, setProp2, setProp2, setPropValue, setPropValue, setPropValue, setPropValue, setPropValue, setPropValue, setString, setString, setString, setString, usePropHashMap, usesPropIndex, validateClassInstances
Methods inherited from interface com.iizigo.prop.IPropDesigner
findIResource, getAdapter
Methods inherited from interface com.iizigo.prop.IPropRenameable
canRenameProperty
Methods inherited from interface com.iizigo.java.IShowJavaSource
showJava, showJava
Methods inherited from interface com.iizigo.link.vs.IUICreationFromVS
addCreateUILinkOperations, canCreateUI, getDragDropText, getLinkOperations, isLinkCapable
Methods inherited from interface com.iizix.prop.vs.IVSComponent
getAction, getAction2, getActionNull, getActionNull2, getDescription, getField, getField2, getFieldNull, getFieldNull2, getGroup, getGroup2, getGroupNull, getGroupNull2, getNonVirtualized, getTable, getTable2, getTableNull, getTableNull2, getVirtualizedVirtualSpace, getVSComponent, getVSComponent2, getVSComponentNull, getVSComponentNull2, getVSRef, isEnabled, isEnabledInParent, isReadOnly, isReadOnlyInParent, isSelected, isVisible, isVisibleInParent, messageBox, setEnabled, setEnabled, setIgnoreFocusFromUI, setReadOnly, setReadOnly, setSelected, setSelected, setVirtualizeSupportFocus, setVirtualizeSupportFocus, setVisible, setVisible, shouldIgnoreFocusFromUI
Methods inherited from interface com.iizix.prop.vs.IVSMessageComponent
clearMessage, getMessage, getMessageCategory, getMessageString, isValid, setErrorMessage, setMessage, setMessage
Constructor Detail
EditorVSTable
public EditorVSTable()
Creates the VirtualSpace Field property container without a name. The name must be set in all cases using thesetPropertyAtom
call.
EditorVSTable
public EditorVSTable(Atom propertyAtom)
Creates the VirtualSpace Field property container with the specified name. All system-reserved names for components begins with "$".- Parameters:
propertyAtom
- the name of the component, unique within it's parent.
Method Detail
getVirtualSpace
public EditorVirtualSpace getVirtualSpace()
Gets the VirtualSpace instance.- Specified by:
getVirtualSpace
in interfaceIUICreationFromVS
- Specified by:
getVirtualSpace
in interfaceIVSComponent
- Overrides:
getVirtualSpace
in classVSComponent
- Returns:
- The VirtualSpace instance (an ancestor of this property or itself), or null if not found (i.e. property is not yet attached to a VirtualSpace).
getDesigner
public VirtualSpaceDesignerProp getDesigner()
Gets the Designer Extension for Properties.- Specified by:
getDesigner
in interfaceIPropDesigner
- Returns:
- The instance of the Designer Extension.
clone
public EditorVSTable clone()
Clone must be overridden.
createRows
protected EditorVSRows createRows()
Creates the header property container.- Overrides:
createRows
in classVSTable
createHeader
protected VSRow createHeader()
Creates the header property container.- Overrides:
createHeader
in classVSTable
createRow
protected VSRow createRow(Atom a, VSField[] fields) throws PropException
Creates a row property.- Overrides:
createRow
in classVSTable
- Throws:
PropException
- For creation error.
createRow
protected VSRow createRow(Atom a, VSColumnHeader[] columns) throws PropException
Creates a row property.- Overrides:
createRow
in classVSTable
- Throws:
PropException
- For creation error.
onEventSelf
public void onEventSelf(GEvent event)
Checks for state change events and fires it to listeners.- Specified by:
onEventSelf
in interfaceIGProp<GProp<?>[]>
- Overrides:
onEventSelf
in classVSTable
- Parameters:
event
- The property event.
onListenerChanged
protected void onListenerChanged(IVSTableListener listener)
Called when a listener is added or removed. This method is overridden by the Designer to update connections.- Overrides:
onListenerChanged
in classVSTable
getBaseJavaReference
public PropCnr getBaseJavaReference()
Gets the base reference path for the Java reference, from the owner of this container, e.g. the VSTable.- Specified by:
getBaseJavaReference
in interfaceIBackReferenceProvider
isBackReferenceValid
public java.lang.String isBackReferenceValid(AnnotationType annotationType, java.lang.String name, boolean isRefOnly)
Validates if the back-reference specified is referenced in the first place, i.e. is valid or not. /** Validates if the back-reference specified is referenced in the first place, i.e. is valid or not.- Specified by:
isBackReferenceValid
in interfaceIBackReferenceProvider
- Parameters:
annotationType
- The annotation type.name
- The class or method name.isRefOnly
- Flag indicating the back reference is not required, but must be valid otherwise.- Returns:
- null for valid, otherwise an error message.
getHeader
public EditorVSRow getHeader()
Gets the header.
getColumnHeaders
public EditorVSColumnHeader[] getColumnHeaders()
Gets the headers columns for the row.- Overrides:
getColumnHeaders
in classVSTable
- Returns:
- The array of VSFields, empty array if it's a header row (
VSRow.isColumnHeader()
returnstrue
).
getColumnHeader
public EditorVSColumnHeader getColumnHeader(int columnIndex)
Gets the headers columns for the row.- Overrides:
getColumnHeader
in classVSTable
- Parameters:
columnIndex
- The index of the column.- Returns:
- The column of requested index, null if it's not a header row (i.e.
VSRow.isColumnHeader()
returnsfalse
), or the column index is out of range.
getRowsContainer
public EditorVSRows getRowsContainer()
Gets the rows property container.- Overrides:
getRowsContainer
in classVSTable
- Returns:
- The VSRows container.
getRow
public EditorVSRow getRow(int row)
Gets the row of a certain index.Note: a warning message is logged if the operation fails.
getRows
public EditorVSRow[] getRows()
Gets the rows in this table.
getExtendsPossibleClasses
public java.lang.Class<?>[] getExtendsPossibleClasses()
Gets the possible classes this container supports for the Extends Framework. The default implementation is to return null.- Specified by:
getExtendsPossibleClasses
in interfaceIPropCnr
- Overrides:
getExtendsPossibleClasses
in classPropCnr
- Returns:
- List of supported classes, or null for none.
verify
public boolean verify(PropVerification verification)
Verifies this property container. The check performed is the extension of classes and that no circular reference is present.
createTable
public static EditorVSTable createTable(PropCnr parent, java.lang.String suggestedName, CreateColumnData[] columns)
Creates a table with the suggested name to be placed in a container.- Parameters:
parent
- The parent.suggestedName
- The suggested name.columns
- The create column data.- Throws:
java.lang.IllegalArgumentException
- Ifparent
is not EditorVirtualSpace or EditorVSGroup.