Package com.iizigo.vs.prop
Class EditorVirtualSpace
java.lang.Object
com.iizix.prop.GProp<GProp<?>[]>
com.iizix.prop.PropCnr
com.iizix.prop.vs.VirtualSpace
com.iizigo.vs.prop.EditorVirtualSpace
- All Implemented Interfaces:
IShowJavaSource
,ILinkCapable
,IJavaClassLinkEnabler
,IJavaMethodLinkEnabler
,IUICreationFromVS
,IExtendsSelection
,IPropDesigner
,IPropUndoContext
,IPrivateStorage
,EventListener
,IFocusComp
,IMessageBox
,IClassReferenceOwner
,ICustomDataProvider
,IGProp<GProp<?>[]>
,IPropCnr
,IVSAccessor
,IVSClassReferenceOwner
,IVSComponent
,IVSComponentListener
,IVSComponentState
,IVSMessageComponent
,Cloneable
,IAdaptable
public class EditorVirtualSpace extends VirtualSpace implements IPropUndoContext, IExtendsSelection, IJavaClassLinkEnabler, IJavaMethodLinkEnabler, IUICreationFromVS, IShowJavaSource
The Editor VirtualSpace 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.VirtualSpace
MAP_CLASS_PROP_ATOM, participantsHolder
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.IClassReferenceOwner
RETRIEVE_CLASS_REFERENCE_INSTANCE
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_INCLUDE_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
ATOM_IGNORE_UI_FOCUS, ERROR, INFORMATION, WARNING
Constructor Summary
ConstructorDescriptionCreates the VirtualSpace property container without a name.EditorVirtualSpace
(Atom propertyAtom) Creates the VirtualSpace property container with the specified name.Method Summary
Modifier and TypeMethodDescriptionvoid
addCreateUILinkOperations
(LinkData data, Collection<ILinkOperation> linkOps) Adds all possible operations that could be done in a link operation for UI creation from VS.boolean
canCreateUI
(LinkData data) Method returning if this property could potentially be (action, field or table) or contain (group) properties that can create UI components when drag-dropped.clone()
Clone must be overridden.createVSComponents
(List<VSComponentCreation<?>> list, ComplexOperation op) Creates the list of VS components required.protected VSParticipantsHolder
Creates a new instance of the EditorVSParticipantsHolder.Gets the ClassReference in the property container from the ClassReference instance.getClassReference
(String id, boolean doCreateIfNotPresent) Gets or creates the ClassReference in the property container.Gets the Designer Extension for Properties.Class<?>[]
Gets the possible classes this container supports for the Extends Framework.Gets the instance that links to the class.getLinkOperations
(LinkData data) Called when the drag-drop is to be performed (link or paste-link menu item).Returns the annotation types for the method reference(s).getPersistentMemento
(boolean doCreate) Gets the memento used to save the editor in this property.Class<?>[]
Gets the acceptable children property classes that can be used in conjunction with e.g.Gets the annotation relative reference to the element.Gets the title for selection dialog.Gets the viewer filter for the tree in the dialog for selecting extends property name.Gets the undo context.Gets the VirtualSpace.isLinkCapable
(LinkData data) Returns if this property container could potentially be link capable.Methods inherited from class com.iizix.prop.vs.VirtualSpace
addPredefinedProps, areFree, areFree2, canRequestFocus, convertLoadedProp, couldRequestFocusIfVirtualized, createVSReference, forbiddenGetCustomDataMap, getAction, getAction2, getActionNull, getActionNull2, getAppSessionGyro, getAttachedVirtualizedPanels, getClientSessionGyro, getField, getField2, getFieldNull, getFieldNull2, getFocusHandler, getGroup, getGroup2, getGroupNull, getGroupNull2, getNonVirtualized, getParticipantsHolder, getPredefinedProps, getPrivateStorageMap, getTable, getTable2, getTableNull, getTableNull2, getVirtualized, getVirtualized, getVirtualizedVirtualSpace, getVSComponent, getVSComponent2, getVSComponentNull, getVSComponentNull2, getVSReference, initPropCnr, isFree, onEventSelf, onFocusGained, onFocusLost, onPanelDestroyed, onPanelVirualized, onParentStateChanged, onPrepare, onPropDispose, onRemoteEvent, onVirtualizationCompleted, virtualize, virtualize
Methods inherited from class com.iizix.prop.PropCnr
__transferChildProps, addProp, addProp, addProp2, addProp2, appendPropValue, canRequestFocus, completeVirtualize, containsProp, containsProp, couldRequestFocusIfVirtualized, createCopyOfAtom, createUniqueAtom, createUniqueAtom, createUniqueAtom, doPropEqualsArrayValues, 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, 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, getRetargetedVerifyContainer, getString, getString, getString, getString, getValueClasses, hasFocus, hasSendData, initializeElement, initializeExtendsFramework, initializeProp, initializeValue, insertProp, insertProp2, isChild, isExtendsOverriden, isExtendsPropertyValid, isExtendsRoot, isPropAddRemoveAllowed, isPropCommunicating, isPropExtended, list, list, logPropNotFound, maybeAddProp, onInsertProp, onPropRemoved, onPropTreeInitialized, onReferenceEvent, onVirtualContainerCreated, 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
Methods inherited from class com.iizix.prop.GProp
addPropError, addPropListener, appendProp, convertPropError, dispose, equals, equals, equalsErrors, equalsObj, equalsPropValue, equalValues, finalize, fine, fine, finer, finer, finest, finest, fromElementString, getAliasName, 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, getReferencePropNameNoAssert, getRelativePropName, getRootFromName, getRootName, getRootParent, getRootParentNoAssert, getTreeLock, hasChanged, hasCircularReferencesError, 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, isPropRootLoading, isPropRootTreeModificationsAllowed, isPropUSER, isPropValueTreeLockNeeded, isPropVirtualized, isPropVirtualizing, isPropVolatile, isPropVolatileOrEditorOnly, isProxied, isSibling, list, list, list, mapAliasToReference, mapAliasToReference, mapReferenceToAlias, mapReferenceToAlias, mapReferenceToProjectRelative, modifyPropValue, moveProp, moveProp, moveProp, onEvent, onPropInvalidateCache, onPropParentChanged, onPropValueSet, paramString, 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, warning, warning, warning
Methods inherited from class java.lang.Object
getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface com.iizix.prop.IClassReferenceOwner
getClassReferenceRuntimeInstance, getProp, getRuntimeClassInstance, getRuntimeClassInstance
Methods inherited from interface com.iizix.prop.ICustomDataProvider
getCustomData, putCustomData, putCustomDataIfAbsent
Methods inherited from interface com.iizix.gyro.IFocusComp
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, getRelativePropName, getRootParent, getTreeLock, getValueClasses, getVSReference, hasChanged, hasCircularReferencesError, 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, isSibling, 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, warning, warning, warning
Methods inherited from interface com.iizigo.link.java.IJavaClassLinkEnabler
addClassLinkOperations, isClassLinkCapable
Methods inherited from interface com.iizigo.link.java.IJavaMethodLinkEnabler
addMethodLinkOperations, isMethodLinkCapable
Methods inherited from interface com.iizigo.link.ILinkCapable
getDragDropHTML
Methods inherited from interface com.iizix.gyro.IMessageBox
messageBox, messageBox, messageBox
Methods inherited from interface com.iizix.api.IPrivateStorage
getPrivateData, getPrivateData, setPrivateData
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, 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, 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.java.IShowJavaSource
showJava, showJava
Methods inherited from interface com.iizigo.link.vs.IUICreationFromVS
getDragDropText
Methods inherited from interface com.iizix.prop.vs.IVSClassReferenceOwner
getClassReferenceAtom, getClassReferenceImplementsInterface, getClassReferenceRequiredAnnotation, isClassReferenceAnnotationBackReferenceRequired
Methods inherited from interface com.iizix.prop.vs.IVSComponent
getDescription, 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
Field Details
NONE
The "NONE" VirtualSpace.
Constructor Details
EditorVirtualSpace
public EditorVirtualSpace()Creates the VirtualSpace property container without a name. The name must be set in all cases using thesetPropertyAtom
call.EditorVirtualSpace
Creates the VirtualSpace 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 Details
getVirtualSpace
Gets the VirtualSpace.- Specified by:
getVirtualSpace
in interfaceIUICreationFromVS
- Specified by:
getVirtualSpace
in interfaceIVSAccessor
- Specified by:
getVirtualSpace
in interfaceIVSComponent
- Overrides:
getVirtualSpace
in classVirtualSpace
- Returns:
- The VirtualSpace instance.
createVSParticipantsHolder
Creates a new instance of the EditorVSParticipantsHolder.- Overrides:
createVSParticipantsHolder
in classVirtualSpace
getClassReference
Gets the ClassReference in the property container from the ClassReference instance.- Specified by:
getClassReference
in interfaceIClassReferenceOwner
- Returns:
- The resolved class reference instance, null if not resolved or found.
getClassReference
Gets or creates the ClassReference in the property container.- Specified by:
getClassReference
in interfaceIClassReferenceOwner
- Specified by:
getClassReference
in interfaceIJavaClassLinkEnabler
- Specified by:
getClassReference
in interfaceIVSClassReferenceOwner
- Parameters:
id
- ID for the class reference if several exist, null for default.doCreateIfNotPresent
- Flag to create the property (this flag can only be true in Designer)!- Returns:
- The resolved class reference instance, null if the ClassReference doesn't exist if the create flag is false. If flag is true, an orphan unresolved EditorClassReference instance (ONLY for the Designer).
getDesigner
Gets the Designer Extension for Properties.- Specified by:
getDesigner
in interfaceIPropDesigner
- Returns:
- The instance of the Designer Extension.
getUndoContext
Gets the undo context.- Specified by:
getUndoContext
in interfaceIPropUndoContext
- Returns:
- The undo context for the Editor part(s) for this container.
clone
Clone must be overridden.- Overrides:
clone
in classVirtualSpace
getPossibleChildren
Gets the acceptable children property classes that can be used in conjunction with e.g. a Paste operation.- Specified by:
getPossibleChildren
in interfaceIPropCnr
- Overrides:
getPossibleChildren
in classPropCnr
- Returns:
- An array containing the classes of possible children, or null for no support.
getPersistentMemento
Gets the memento used to save the editor in this property.- Parameters:
doCreate
- The create flag if it didn't exist before.- Returns:
- A property container that implements
IMemento
, or null if this container is disposed of.
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.
getSelectPropDialogTitle
Gets the title for selection dialog.- Specified by:
getSelectPropDialogTitle
in interfaceIExtendsSelection
getSelectPropViewerFilter
Gets the viewer filter for the tree in the dialog for selecting extends property name.- Specified by:
getSelectPropViewerFilter
in interfaceIExtendsSelection
getMethodReferenceAnnotationTypes
Returns the annotation types for the method reference(s).- Specified by:
getMethodReferenceAnnotationTypes
in interfaceIJavaMethodLinkEnabler
- Returns:
- An array with the annotations supported.
getRelativeMethodAnnotationReference
Gets the annotation relative reference to the element.- Specified by:
getRelativeMethodAnnotationReference
in interfaceIJavaMethodLinkEnabler
- Returns:
- The relative reference in the method annotation of e.g. "OnUIFocus" for this component.
getJavaClassLinkEnabler
Gets the instance that links to the class.- Specified by:
getJavaClassLinkEnabler
in interfaceIJavaMethodLinkEnabler
- Returns:
- The class link enabler instance, never null.
isLinkCapable
Returns if this property container could potentially be link capable.This call is done many times during drag-drop and must be very fast and not cause too much garbage collection.
- Specified by:
isLinkCapable
in interfaceIJavaClassLinkEnabler
- Specified by:
isLinkCapable
in interfaceIJavaMethodLinkEnabler
- Specified by:
isLinkCapable
in interfaceILinkCapable
- Specified by:
isLinkCapable
in interfaceIUICreationFromVS
- Parameters:
data
- The link data.- Returns:
- The status of capability of the operation.
getLinkOperations
Called when the drag-drop is to be performed (link or paste-link menu item). The link-capable instance fills in only what it handles.- Specified by:
getLinkOperations
in interfaceIJavaClassLinkEnabler
- Specified by:
getLinkOperations
in interfaceIJavaMethodLinkEnabler
- Specified by:
getLinkOperations
in interfaceILinkCapable
- Specified by:
getLinkOperations
in interfaceIUICreationFromVS
- Parameters:
data
- The link data.- Returns:
- The list of operations required.
canCreateUI
Method returning if this property could potentially be (action, field or table) or contain (group) properties that can create UI components when drag-dropped.The VirtualSpace recurses down its VS components to query them for creation support.
- Specified by:
canCreateUI
in interfaceIUICreationFromVS
- Parameters:
data
- The link data.- Returns:
- true if the result would lead to UI creations, false otherwise.
addCreateUILinkOperations
Adds all possible operations that could be done in a link operation for UI creation from VS.The VirtualSpace recurses down its VS components so that they can add what is required.
- Specified by:
addCreateUILinkOperations
in interfaceIUICreationFromVS
- Parameters:
data
- The link data.linkOps
- List of link operations is filled in when operations are found.
createVSComponents
Creates the list of VS components required.- Parameters:
list
- The list of components.op
- The complex operation.- Returns:
- null for success, otherwise an error message.