Package com.iizigo.text
Class TextTableEditor
- java.lang.Object
- org.eclipse.core.commands.common.EventManager
- org.eclipse.ui.part.WorkbenchPart
- org.eclipse.ui.part.EditorPart
- com.iizigo.editor.PropEditorPart
- com.iizigo.text.TextTableEditor
- All Implemented Interfaces:
IComplexOperationSelection,IActivationListener,IDraggingFix,IWorkbenchPartIZ,ISelectionEnablerHandler,IPropertyEditorController,IPropUndoContext,IFilterListener,EventListener,IPropUndoRedo,IKStringInfoProvider,org.eclipse.core.runtime.IAdaptable,org.eclipse.core.runtime.IExecutableExtension,org.eclipse.jface.viewers.IDoubleClickListener,org.eclipse.jface.viewers.ISelectionChangedListener,org.eclipse.jface.viewers.ISelectionProvider,org.eclipse.ui.ide.IGotoMarker,org.eclipse.ui.IEditorPart,org.eclipse.ui.INavigationLocationProvider,org.eclipse.ui.IPersistable,org.eclipse.ui.IPersistableEditor,org.eclipse.ui.ISaveablePart,org.eclipse.ui.ISaveablesSource,org.eclipse.ui.IWorkbenchPart,org.eclipse.ui.IWorkbenchPart2,org.eclipse.ui.IWorkbenchPart3,org.eclipse.ui.part.IWorkbenchPartOrientation
public class TextTableEditor extends PropEditorPart implements EventListener, org.eclipse.jface.viewers.IDoubleClickListener, IFilterListener, IKStringInfoProvider, ISelectionEnablerHandler, IComplexOperationSelection
The Style's Editor part.- Author:
- Christopher Mindus
Nested Class Summary
Nested classes/interfaces inherited from class com.iizigo.editor.PropEditorPart
PropEditorPart.DragSourceDelegator
Field Summary
Fields Modifier and Type Field Description static java.lang.StringIDThe Part ID.static java.lang.Class<?>[]TEXT_TABLE_CLASSESText table classes.Fields inherited from class com.iizigo.editor.PropEditorPart
appUI, copyAction, copyFullPathAction, copyReferenceAction, cutAction, deleteAction, dslPaste, editedPropCnr, EMPTY, filePropCnr, fileResource, globalActionBars, ir, linkAction, moveAction, partSelection, pasteAction, pasteAfterAction, pasteBeforeAction, pasteLinkAction, printAction, propEventListener, redoAction, renameAction, restoreMemento, revertAction, rootPropCnr, saveAction, selectAllAction, selectionEnabler, tiPaste, toolBar, toolBar2, undoAction, updateSelectionAndStatesRunner
Constructor Summary
Constructors Constructor Description TextTableEditor()Eclipse constructor.
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidcreateEditorComposite(org.eclipse.swt.widgets.Composite parent)Creates the Editor Main Composite.voiddispose()Disposes of editor.booleandoAddReference()Gets the flag for adding the reference string in an attribute when editing the KString.voiddoComplexOperationSelection(GProp<?>[] props)Performs the selection of the components, typically after undo/redo.booleandoOpen(GProp<?>[] props)Opens the property by selecting it in focus.booleandoOpen(GProp<?> prop, int index, java.lang.String childName)Opens the property by selecting it in focus.voiddoubleClick(org.eclipse.jface.viewers.DoubleClickEvent event)Notifies of a double click in table.doublegetDPR()Gets the device pixel ratio.EditorTextTablegetEditedTextTable(int column)Gets the edited text table at specified column index.java.lang.StringgetHTTPServer()Gets the HTTP Server string prefix including port.IImageTargetgetImageTarget(java.lang.String ref)Gets the image reference.GProp<?>getResolveReferenceProperty()Gets the property used for references look-up's.java.lang.StringgetResourcePrefix()Gets the base reference name for the resource, typically an image, for the Server or the Designer.ContainerSelection[]getSelectionBefore(ComplexOperation op)Override this method to return the initial selection that is suitable for restoring a selection usingdoComplexOperationSelection(GProp []).java.lang.StringgetTargetLanguageCode()Gets the language code to use.protected voidinitEditor(PropCnr cnr)The initialize editor method.booleaninstallFont(java.lang.String fontFamily)Installs the font families as specified by the font family.booleaninstallFonts(java.util.List<FontFiles> fontList)Installs the font face as specified by theFontFilesinstance for the Client Session.booleanisReturningSelectionBeforeOperation()Checks if this interface returns the selection before the operation takes place or not.booleanisSelectionEnablerProcessingEnabled(SelectionEnabler se)Checks if the processing is active.voidonEvent(GEvent event)Called to process an event.protected voidonFileClosed(FilePropCnr fpc)Called when an open file in the editor has been closed and needs to be removed.voidonFilter(java.lang.String text)Called when a filter text has been applied.static voidonKStringPropChanged(EditorTextTable tt, KStringProp ksp)Called when a text has changed and perhaps needs automatic translation to other tables.protected voidonUpdateStates()Called just in the beginning of updateStates() before selections are processed.booleanopenInParallel(java.lang.String ref)Opens a text table in parallel.voidperformCopy()Performs Copy.voidperformCut()Performs Cut.voidperformDelete()Performs Delete.voidperformPaste()Performs Paste.protected voidperformPrint()Performs Print.booleanshouldResolve()Flag indicating the "real" resolved string should be returned.protected voidupdateStatesEx()Updates the states.static java.lang.StringvalidateTextID(java.lang.String id)Validates the Text ID.Methods inherited from class com.iizigo.editor.PropEditorPart
addForDisposalAtDispose, addListener, addOpenFile, addSelectionChangedListener, addToolbar2PushButton, addToolbar2PushButton, addToolbar2Separator, addToolbarPushButton, addToolbarPushButton, addToolbarPushButton, addToolbarPushButton, addToolbarPushButton, addToolbarPushButton, addToolbarPushButton, addToolbarSeparator, addToolbarSeparator, closeFile, createCommonViewer, createEmptyNavigationLocation, createFilteredCommonViewer, createFilteredCommonViewer, createLicenseExceptionComposite, createMenu, createMenu, createNavigationLocation, createPartControl, doSave, doSaveAs, fireSelectionAndStates, getActiveEditor, getActiveEditor, getActivePart, getActiveSaveables, getAdapter, getCurrentTreeViewer, getEditors, getExtension, getLicenseException, getModuleModel, getMultiSelectionProvider, getPartComposite, getPartName, getRedoAction, getSaveables, getSelection, getSelectionEnabler, getShell, getSyntClipboardSelection, getTargetViewer, getTitleImage, getTitleToolTip, getTitleToolTip, getTopmostEditor, getUndoAction, getUndoContext, getUndoRedo, gotoMarker, hasInitError, init, invalidLicense, isDirty, isDisposed, isDragging, isSaveAsAllowed, isSaveOnCloseNeeded, onActivated, onClose, onCloseProject, onComponentFocus, onDragBegin, onDragEnd, onEditedPropertyChangedForVerify, onEditorActivated, onEditorReady, onPartRenamed, onSetFocus, performCollapseAll, performCopyFullPath, performCopyReference, performExpandAll, performLink, performMove, performPasteAfter, performPasteBefore, performPasteLink, performRedo, performRename, performRevert, performSave, performSelectAll, performUndo, postAsyncUpdateStates, proceedInit, proceedInitProperty, refreshViewers, registerFormControl, registerViewer, registerViewer, removeListener, removePropertyValue, removeSelectionChangedListener, restoreMemento, restoreState, saveState, saveStateImpl, selectionChanged, selectionChangedEx, setActionsUndoContext, setBlockViewerFocus, setFocus, setFocus, setInput, setPropertyAttrFlag, setPropertyError, setPropertyValue, setSelection, setTargetViewer, supportsCopyFullPath, supportsCopyReference, updateAllStates, updateStates, updateStatesPasteBeforeAfter, updateTitle, usePasteBeforeAfter, verifyDirtyStateChanged
Methods inherited from class org.eclipse.ui.part.EditorPart
checkSite, getEditorInput, getEditorSite, setContentDescription, setInitializationData, setInputWithNotify, setPartName
Methods inherited from class org.eclipse.ui.part.WorkbenchPart
addPartPropertyListener, addPropertyListener, firePartPropertyChanged, firePropertyChange, getConfigurationElement, getContentDescription, getDefaultImage, getOrientation, getPartName, getPartProperties, getPartProperty, getSite, getTitle, removePartPropertyListener, removePropertyListener, setPartProperty, setSite, setTitle, setTitleImage, setTitleToolTip, showBusy
Methods inherited from class org.eclipse.core.commands.common.EventManager
addListenerObject, clearListeners, getListeners, isListenerAttached, removeListenerObject
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface com.iizigo.editor.complex.IComplexOperationSelection
isDisposed
Methods inherited from interface com.iizix.text.IKStringInfoProvider
installFonts
Methods inherited from interface org.eclipse.ui.IWorkbenchPart
addPropertyListener, getSite, getTitle, removePropertyListener
Methods inherited from interface com.iizigo.editor.IWorkbenchPartIZ
onComponentFocused
Method Detail
initEditor
protected void initEditor(PropCnr cnr) throws org.eclipse.ui.PartInitException
The initialize editor method.Subclasses may override this method.
- Overrides:
initEditorin classPropEditorPart- Parameters:
cnr- The property container being edited. Note: the real name of the property is in the parent FilePropCnr Atom.- Throws:
org.eclipse.ui.PartInitException- For initialization failures.
dispose
public void dispose()
Disposes of editor.- Specified by:
disposein interfaceorg.eclipse.ui.IWorkbenchPart- Overrides:
disposein classPropEditorPart
getEditedTextTable
public EditorTextTable getEditedTextTable(int column)
Gets the edited text table at specified column index.
onUpdateStates
protected void onUpdateStates()
Called just in the beginning of updateStates() before selections are processed. Override as required.- Overrides:
onUpdateStatesin classPropEditorPart
updateStatesEx
protected void updateStatesEx()
Updates the states.- Overrides:
updateStatesExin classPropEditorPart
createEditorComposite
protected void createEditorComposite(org.eclipse.swt.widgets.Composite parent)
Creates the Editor Main Composite.- Specified by:
createEditorCompositein classPropEditorPart- Parameters:
parent- The empty parent composite without initialized layout, with the widget background color.
validateTextID
public static java.lang.String validateTextID(java.lang.String id)
Validates the Text ID.- Returns:
- error message, null for OK.
doOpen
public boolean doOpen(GProp<?> prop, int index, java.lang.String childName)
Opens the property by selecting it in focus.- Overrides:
doOpenin classPropEditorPart- Parameters:
prop- The property to focus.index- The index in a multi-property.childName- Name of child property or null.- Returns:
- true for success, false for failure.
doOpen
public boolean doOpen(GProp<?>[] props)
Opens the property by selecting it in focus.- Overrides:
doOpenin classPropEditorPart
getHTTPServer
public java.lang.String getHTTPServer()
Gets the HTTP Server string prefix including port.- Specified by:
getHTTPServerin interfaceIKStringInfoProvider- Returns:
- The "HTTP[S]//server[:port]" String or null for none.
getImageTarget
public IImageTarget getImageTarget(java.lang.String ref)
Gets the image reference.- Specified by:
getImageTargetin interfaceIKStringInfoProvider- Parameters:
ref- The image definition reference string.- Returns:
- The image found, or null if not found.
doAddReference
public boolean doAddReference()
Gets the flag for adding the reference string in an attribute when editing the KString.- Specified by:
doAddReferencein interfaceIKStringInfoProvider- Returns:
- true for the Designer (will add additional parameters for the rich text editor), false for normal processing.
shouldResolve
public boolean shouldResolve()
Flag indicating the "real" resolved string should be returned. This value is true for the runtime client when in "real run mode".- Specified by:
shouldResolvein interfaceIKStringInfoProvider- Returns:
- true to resolve all references, false if inside e.g. the Designer.
getResolveReferenceProperty
public GProp<?> getResolveReferenceProperty()
Gets the property used for references look-up's.- Specified by:
getResolveReferencePropertyin interfaceIKStringInfoProvider- Returns:
- The property to use for reference property look-up.
getDPR
public double getDPR()
Gets the device pixel ratio.- Specified by:
getDPRin interfaceIKStringInfoProvider- Returns:
- The device pixel ratio, default 1.0.
getTargetLanguageCode
public java.lang.String getTargetLanguageCode()
Gets the language code to use.- Specified by:
getTargetLanguageCodein interfaceIKStringInfoProvider- Returns:
- The language code, or null for default.
getResourcePrefix
public java.lang.String getResourcePrefix()
Gets the base reference name for the resource, typically an image, for the Server or the Designer. This reference is "/$" (the default in this interface) for the Designer, but should be "/$APPID/" for the Server, where APPID is the application being run by the client. The Server must therefore implement this method and return that string instead.- Specified by:
getResourcePrefixin interfaceIKStringInfoProvider- Returns:
- The resource prefix string, "/$" by default, but "/$APPID/" for the Server,' where APPID is the application being run by the client.
installFont
public boolean installFont(java.lang.String fontFamily)
Installs the font families as specified by the font family.- Specified by:
installFontin interfaceIKStringInfoProvider- Parameters:
fontFamily- The font family or families.- Returns:
- true for success, false if the remote part doesn't support installation, e.g. in a preview browser.
installFonts
public boolean installFonts(java.util.List<FontFiles> fontList)
Installs the font face as specified by theFontFilesinstance for the Client Session. Once installed, the font family can be used.- Specified by:
installFontsin interfaceIKStringInfoProvider- Parameters:
fontList- The list of font files to install.- Returns:
- true for success, false if the remote part doesn't support installation, e.g. in a preview browser.
onFilter
public void onFilter(java.lang.String text)
Called when a filter text has been applied.- Specified by:
onFilterin interfaceIFilterListener- Parameters:
text- The filter text to apply, null for none (never empty string).
onEvent
public void onEvent(GEvent event)
Called to process an event.- Specified by:
onEventin interfaceEventListener- Parameters:
event- The event.
performPrint
protected void performPrint()
Performs Print.- Specified by:
performPrintin classPropEditorPart
doubleClick
public void doubleClick(org.eclipse.jface.viewers.DoubleClickEvent event)
Notifies of a double click in table.- Specified by:
doubleClickin interfaceorg.eclipse.jface.viewers.IDoubleClickListener- Parameters:
event- event object describing the double-click
openInParallel
public boolean openInParallel(java.lang.String ref)
Opens a text table in parallel.- Parameters:
ref- The reference.- Returns:
- true for success, false for failure.
onFileClosed
protected void onFileClosed(FilePropCnr fpc)
Called when an open file in the editor has been closed and needs to be removed. This is called in the SWT thread. This call is not done for the main file of this editor, but secondary files. For the main file, the editor is closed directory.Subclasses with multiple files override this method.
- Overrides:
onFileClosedin classPropEditorPart- Parameters:
fpc- The file closed.
isSelectionEnablerProcessingEnabled
public boolean isSelectionEnablerProcessingEnabled(SelectionEnabler se)
Checks if the processing is active.- Specified by:
isSelectionEnablerProcessingEnabledin interfaceISelectionEnablerHandler- Parameters:
se- The selection enabler instance that should be updated.- Returns:
- The processing enabled flag: true = processed, false = process as default.
isReturningSelectionBeforeOperation
public boolean isReturningSelectionBeforeOperation()
Checks if this interface returns the selection before the operation takes place or not.- Specified by:
isReturningSelectionBeforeOperationin interfaceIComplexOperationSelection- Returns:
- false, must be overridden to return the selection before.
getSelectionBefore
public ContainerSelection[] getSelectionBefore(ComplexOperation op)
Override this method to return the initial selection that is suitable for restoring a selection usingdoComplexOperationSelection(GProp []).- Specified by:
getSelectionBeforein interfaceIComplexOperationSelection- Parameters:
op- The complex operation.- Returns:
- The selection that can be restored, null for none.
doComplexOperationSelection
public void doComplexOperationSelection(GProp<?>[] props)
Performs the selection of the components, typically after undo/redo.- Specified by:
doComplexOperationSelectionin interfaceIComplexOperationSelection
performCopy
public void performCopy()
Performs Copy.- Overrides:
performCopyin classPropEditorPart
performCut
public void performCut()
Performs Cut.- Overrides:
performCutin classPropEditorPart
performPaste
public void performPaste()
Performs Paste.- Overrides:
performPastein classPropEditorPart
performDelete
public void performDelete()
Performs Delete.- Overrides:
performDeletein classPropEditorPart
onKStringPropChanged
public static void onKStringPropChanged(EditorTextTable tt, KStringProp ksp)
Called when a text has changed and perhaps needs automatic translation to other tables. It is assumed that the "ksp" property is valid and is owned by "tt".- Parameters:
tt- The text table.ksp- The property.