Package com.iizix.prop.vs
Class VSColumnHeader
- java.lang.Object
- com.iizix.prop.GProp<GProp<?>[]>
- com.iizix.prop.PropCnr
- com.iizix.prop.vs.VSComponent
- com.iizix.prop.vs.VSColumnHeader
- All Implemented Interfaces:
EventListener
,IFocusComp
,IMessageBox
,ICustomDataProvider
,IGProp<GProp<?>[]>
,IPatternOwner
,IPropCnr
,IVSComponent
,IVSComponentListener
,IVSComponentState
,IVSMessageComponent
,java.lang.Cloneable
- Direct Known Subclasses:
EditorVSColumnHeader
public class VSColumnHeader extends VSComponent implements IVSMessageComponent, IPatternOwner
The VirtualSpace Column Header property class holds the property name, value and optionally has a parent and/or property listener(s).- 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 Modifier and Type Field Description static VSField[]
EMPTY_CELLS
Empty cells.static IVSColumnListener[]
EMPTY_LISTENERS
Empty list of listeners.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.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 VSColumnHeader()
Creates a VirtualSpace Column Header property with the specified name with a null value.VSColumnHeader(Atom propertyAtom)
Creates a VirtualSpace Column Header property with the specified name with a null value.
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
addListener(IVSColumnListener listener)
Adds a new listener to the VS table column.protected void
addPredefinedProps()
Adds the predefined properties for this container.VSColumnHeader
clone()
Clones the VirtualSpace Column Header.VSField
createEmptyField()
Creates an empty field for this column, depending on defined types, null attributes, etc.VSField
createEmptyField(Atom fieldName)
Creates an empty field for this column, depending on defined types, null attributes, etc.Value
createEmptyValue()
Creates an empty Value for the column type.protected FieldActors
createFieldActors()
Creates a new instance of the field actors, overridden for the Editor.VSField
createUninitializedField()
Creates a new UNNAMED uninitialized field.VSField
createUninitializedField(Atom fieldName)
Creates a new uninitialized field.FieldActors
getActors()
Gets the field actors container.VSField[]
getCells()
Gets the cells of the column in the table.int
getColumnIndex()
Gets the column index of this column header in the table.IVSColumnListener[]
getColumnListeners()
Gets the listeners of the VS table column events.java.lang.String
getComponentIsDisabled()
Gets the focus message for "Component is hidden" but for the component in question.java.lang.String
getComponentIsHidden()
Gets the focus message for "Component is hidden" but for the component in question.java.lang.String
getPattern()
Gets the pattern used by the value formatter.PlainKString
getPatternPlainKString()
Gets the pattern used by the value formatter.PatternProp
getPatternProp()
Gets the pattern property.protected void
getPredefinedProps()
Gets potential references to predefined properties for this container.VSTable
getTable()
Gets the table of the header.Value.Type
getValueType()
Gets the value type of the column.java.lang.String
getValueTypeString()
Gets the value type string of the column.boolean
isNullAllowed()
Checks if the column is nullable.boolean
isValueTypeValid()
Verifies if the value type is defined and valid.protected void
onListenerChanged(IVSColumnListener listener)
Called when a listener is added or removed.void
onParentStateChanged(IVSComponent parent, IVSComponentState.State state, boolean stateValue)
Invokes the parent state notification function for the component.boolean
removeListener(IVSColumnListener listener)
Removes a listener from the VS table column.int
setCells(VSCellData[] cells)
Sets an entire column of cells at once.boolean
setNullAllowed(boolean isNullable)
Sets the column nullable flag.boolean
shouldIgnoreFocusFromUI()
Checks if this component should ignore focus requests from the UI.Methods inherited from class com.iizix.prop.vs.VSComponent
addListener, areFree, areFree, canRequestFocus, couldRequestFocusIfVirtualized, forbiddenGetCustomDataMap, getClientSessionGyro, getComponentListeners, getDescription, getNonVirtualized, getVirtualSpace, initPropCnr, isFree, isFree, onEventSelf, 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, getExtendsPossibleClasses, 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, verify, 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, onEventSelf, 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, verify, verifyHasPropertyItem, warning, warning, warning
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, getExtendsPossibleClasses, 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.iizix.prop.vs.IVSComponent
getAction, getAction2, getActionNull, getActionNull2, getDescription, getField, getField2, getFieldNull, getFieldNull2, getGroup, getGroup2, getGroupNull, getGroupNull2, getNonVirtualized, getTable, getTable2, getTableNull, getTableNull2, getVirtualizedVirtualSpace, getVirtualSpace, getVSComponent, getVSComponent2, getVSComponentNull, getVSComponentNull2, getVSRef, isEnabled, isEnabledInParent, isReadOnly, isReadOnlyInParent, isSelected, isVisible, isVisibleInParent, messageBox, setEnabled, setEnabled, setIgnoreFocusFromUI, setReadOnly, setReadOnly, setSelected, setSelected, setVirtualizeSupportFocus, setVirtualizeSupportFocus, setVisible, setVisible
Methods inherited from interface com.iizix.prop.vs.IVSMessageComponent
clearMessage, getMessage, getMessageCategory, getMessageString, isValid, setErrorMessage, setMessage, setMessage
Field Detail
EMPTY_LISTENERS
public static final IVSColumnListener[] EMPTY_LISTENERS
Empty list of listeners.
EMPTY_CELLS
public static final VSField[] EMPTY_CELLS
Empty cells.
Constructor Detail
VSColumnHeader
public VSColumnHeader()
Creates a VirtualSpace Column Header property with the specified name with a null value.
VSColumnHeader
public VSColumnHeader(Atom propertyAtom)
Creates a VirtualSpace Column Header property with the specified name with a null value.- Parameters:
propertyAtom
- the property atom.
Method Detail
clone
public VSColumnHeader clone()
Clones the VirtualSpace Column Header.- Overrides:
clone
in classVSComponent
getComponentIsHidden
public java.lang.String getComponentIsHidden()
Gets the focus message for "Component is hidden" but for the component in question.- Specified by:
getComponentIsHidden
in classVSComponent
getComponentIsDisabled
public java.lang.String getComponentIsDisabled()
Gets the focus message for "Component is hidden" but for the component in question.- Specified by:
getComponentIsDisabled
in classVSComponent
shouldIgnoreFocusFromUI
public boolean shouldIgnoreFocusFromUI()
Checks if this component should ignore focus requests from the UI. This component is still focusable programmatically, but not from the UI.- Specified by:
shouldIgnoreFocusFromUI
in interfaceIVSComponent
- Returns:
- true to ignore focus from UI, false for default processing.
getActors
public FieldActors getActors()
Gets the field actors container.- Returns:
- The field actors for this field if the field is located in the VirtualSpace or in a VirtualSpace group, otherwise the table column field actors if inside a table.
createFieldActors
protected FieldActors createFieldActors()
Creates a new instance of the field actors, overridden for the Editor.
addPredefinedProps
protected void addPredefinedProps() throws PropException
Adds the predefined properties for this container. This method is called once just after construction of the property container and sometimes population of it.The method should add properties to create or get reference to using the
maybeAddProp
method. When the PropCnr instance is cloned, the methodgetPredefinedProps()
is called in order for the subclass to be able to retrieve the new instances to these properties, if stored in instance variables.- Overrides:
addPredefinedProps
in classPropCnr
- Throws:
PropException
- for property exceptions.
getPredefinedProps
protected void getPredefinedProps()
Gets potential references to predefined properties for this container. This method is called once just after cloning of the property container.The method should get reference to using the
getProp(...)
methods. This allows the subclass to be able to retrieve the new instances to the properties created duringaddPredefinedProps()
if stored in instance variables.- Overrides:
getPredefinedProps
in classPropCnr
onParentStateChanged
public void onParentStateChanged(IVSComponent parent, IVSComponentState.State state, boolean stateValue)
Invokes the parent state notification function for the component.- Specified by:
onParentStateChanged
in interfaceIVSComponentListener
- Parameters:
parent
- The parent who's state was changed.state
- The state that changed.stateValue
- The new state value.
addListener
public boolean addListener(IVSColumnListener listener)
Adds a new listener to the VS table column.- Parameters:
listener
- The listener for VS table column events.- Returns:
- true for success, false if the listener already is added.
removeListener
public boolean removeListener(IVSColumnListener listener)
Removes a listener from the VS table column.- Parameters:
listener
- The existing listener for VS table column events.- Returns:
- true for success, false if the listener has not been added.
onListenerChanged
protected void onListenerChanged(IVSColumnListener listener)
Called when a listener is added or removed. This method is overridden by the Designer to update connections.
getColumnListeners
public IVSColumnListener[] getColumnListeners()
Gets the listeners of the VS table column events.- Returns:
- A cached array of listeners for the value, retrieved without synchronization if possible.
createEmptyValue
public Value createEmptyValue()
Creates an empty Value for the column type. It is null if null is allowed, otherwise the default value depending on the column value type. If column value type is unassigned (can only happen in the Designer), a String is the fall-back type.- Returns:
- A Value instance, never null (although the Value instance itself may be a null Value).
createUninitializedField
public VSField createUninitializedField()
Creates a new UNNAMED uninitialized field.
createUninitializedField
public VSField createUninitializedField(Atom fieldName)
Creates a new uninitialized field.- Parameters:
fieldName
- The field name.
createEmptyField
public VSField createEmptyField()
Creates an empty field for this column, depending on defined types, null attributes, etc. If the column value type is not set, a default String field value is used. If null is not allowed for the column, a default value of the value type is set.- Returns:
- A new UNNAMED field property.
createEmptyField
public VSField createEmptyField(Atom fieldName)
Creates an empty field for this column, depending on defined types, null attributes, etc. If the column value type is not set, a default String field value is used. If null is not allowed for the column, a default value of the value type is set.- Parameters:
fieldName
- The field name.- Returns:
- A new field property.
getColumnIndex
public int getColumnIndex()
Gets the column index of this column header in the table.- Returns:
- The column index, or
-1
if the column header is not inside a table.
getValueTypeString
public java.lang.String getValueTypeString()
Gets the value type string of the column.- Returns:
- The String type as
Enum.name()
, or "<undefined>" if not defined.
getValueType
public Value.Type getValueType()
Gets the value type of the column.- Specified by:
getValueType
in interfaceIPatternOwner
- Returns:
- The type as
Value
.T_* values, or -1 if not defined.
isValueTypeValid
public boolean isValueTypeValid()
Verifies if the value type is defined and valid.- Returns:
- true if valid, false otherwise.
setNullAllowed
public boolean setNullAllowed(boolean isNullable)
Sets the column nullable flag.- Parameters:
isNullable
- The nullable flag.- Returns:
- true for changed, false for no change.
isNullAllowed
public boolean isNullAllowed()
Checks if the column is nullable.- Returns:
- The nullable flag, true by default.
getPatternProp
public PatternProp getPatternProp()
Gets the pattern property.- Specified by:
getPatternProp
in interfaceIPatternOwner
- Returns:
- The pattern property, or null for none.
getPattern
public java.lang.String getPattern()
Gets the pattern used by the value formatter. This method will resolve the pattern if the patternPlainKString
contains tags.- Returns:
- The pattern, null for none.
getPatternPlainKString
public PlainKString getPatternPlainKString()
Gets the pattern used by the value formatter.- Returns:
- The pattern, null for none.
getTable
public VSTable getTable()
Gets the table of the header.- Returns:
- The VirtualSpace Table instance, or null if header is not added to a table.
setCells
public int setCells(VSCellData[] cells)
Sets an entire column of cells at once. The table is adjusted to fit the column cell height if it increases the amount of rows. Conversion of cell data is done for each value to match the value type defined in the column.Failure will occur if the column value type is not defined.
- Parameters:
cells
- The cells to set.- Returns:
- The count of successful cells set. Logging is done for failures.
getCells
public VSField[] getCells()
Gets the cells of the column in the table.If empty cells (i.e. null or not present) are encountered in the column, an empty cells is created without atom name (atom name is null).
- Returns:
- An array of cells.