Module org.autogui
Package org.autogui.swing.table
Class GuiSwingTableColumnString.MultilineColumnTextPane
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.text.JTextComponent
javax.swing.JEditorPane
org.autogui.swing.GuiSwingViewDocumentEditor.PropertyDocumentEditorPane
org.autogui.swing.table.GuiSwingTableColumnString.MultilineColumnTextPane
- All Implemented Interfaces:
ImageObserver,MenuContainer,Serializable,Accessible,Scrollable,GuiMappingContext.SourceUpdateListener,GuiSwingView.SettingsWindowClient,GuiSwingView.ValuePane<Object>,GuiSwingViewDocumentEditor.WrapLineSupport,GuiSwingPrefsSupports.PreferencesUpdateSupport,ObjectTableColumn.PopupMenuBuilderSourceForHeader
- Direct Known Subclasses:
GuiSwingTableColumnString.MultilineColumnTextViewPane
- Enclosing class:
GuiSwingTableColumnString
public static class GuiSwingTableColumnString.MultilineColumnTextPane
extends GuiSwingViewDocumentEditor.PropertyDocumentEditorPane
implements ObjectTableColumn.PopupMenuBuilderSourceForHeader, GuiSwingPrefsSupports.PreferencesUpdateSupport
cell component with supporting
GuiReprValueStringField instead of the document- Since:
- 1.3
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classstatic classstatic classstatic classstatic classNested classes/interfaces inherited from class javax.swing.JEditorPane
JEditorPane.AccessibleJEditorPane, JEditorPane.AccessibleJEditorPaneHTML, JEditorPane.JEditorPaneAccessibleHypertextSupportNested classes/interfaces inherited from class javax.swing.text.JTextComponent
JTextComponent.AccessibleJTextComponent, JTextComponent.DropLocation, JTextComponent.KeyBindingNested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponentNested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainerNested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected booleanprotected booleanFields inherited from class org.autogui.swing.GuiSwingViewDocumentEditor.PropertyDocumentEditorPane
context, infoLabel, lineNumberPane, popup, settingsWindow, specifierManager, viewClock, wrapLineFields inherited from class javax.swing.JEditorPane
HONOR_DISPLAY_PROPERTIES, W3C_LENGTH_UNITSFields inherited from class javax.swing.text.JTextComponent
DEFAULT_KEYMAP, FOCUS_ACCELERATOR_KEYFields inherited from class javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOWFields inherited from class java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTFields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH -
Constructor Summary
ConstructorsConstructorDescriptionMultilineColumnTextPane(GuiMappingContext context, GuiSwingView.SpecifierManager specifierManager) -
Method Summary
Modifier and TypeMethodDescriptionvoidaddSwingEditFinishHandler(Runnable eventHandler) the method is used for table cell-editors, in order to observe the completion of editing.getHeaderMenuItems(JTable table) a typical implementation becomes like the following code:protected voidinit()protected voidprotected voidsettingeditFinishByEnterAndKeyfrom the inits annotaiton attached to the context propertyprotected voidprotected voidbooleanvoidload preferences byGuiSwingTableColumnString.PreferencesForMultilineColumnand if it has a flag,setEditFinishByEnterAndKeyAsUserAction(boolean)with the prefsvoidloadSwingPreferences(GuiPreferences prefs, GuiSwingPrefsApplyOptions options) a sub-class which wraps another value-pane should overrides the method in order to omit needless value setting.voidonly save the component itself, not including children.voidsetEditFinishByEnterAndKey(boolean editFinishByEnterAndKey) set the flag and callinitAction()voidsetEditFinishByEnterAndKeyAsUserAction(boolean editFinishByEnterAndKey) update theisEditFinishByEnterAndKey()with sending call-backvoidvoidsetSwingViewValue(Object value) update GUI display, and it does NOT update the target model value.voidsetSwingViewValue(Object value, GuiTaskClock clock) update if the clock is newer than the current view-clock of the pane.voidupdate the GUI display and the model.voidsetSwingViewValueWithUpdate(Object value, GuiTaskClock clock) update the GUI display and the model if the clock is newer than the current view-clock of the pane.protected voidsets-up action mappings as enter + shift, enter + alt : insert a new-line tab + shift, tab + alt : insert a tab enter : edit-finish tab : edit-finish called frominitAction()wheneditFinishByEnterAndKey=falseprotected voidsets-up action mappings as enter + shift, enter + alt : edit-finish tab + shift, tab + alt : edit-finish enter : insert a new-line tab : insert a tab called frominitAction()wheneditFinishByEnterAndKey=truevoidupdate(GuiMappingContext cause, Object newValue, GuiTaskClock contextClock) Methods inherited from class org.autogui.swing.GuiSwingViewDocumentEditor.PropertyDocumentEditorPane
getPreferredSize, getScrollableTracksViewportWidth, getSettingsWindow, getSpecifier, getSwingMenuBuilder, getSwingViewContext, prepareForRefresh, setDocument, setKeyStrokeString, setSettingsWindow, setWrapLineMethods inherited from class javax.swing.JEditorPane
addHyperlinkListener, createDefaultEditorKit, createEditorKitForContentType, fireHyperlinkUpdate, getAccessibleContext, getContentType, getEditorKit, getEditorKitClassNameForContentType, getEditorKitForContentType, getHyperlinkListeners, getPage, getScrollableTracksViewportHeight, getStream, getText, getUIClassID, paramString, read, registerEditorKitForContentType, registerEditorKitForContentType, removeHyperlinkListener, replaceSelection, scrollToReference, setContentType, setEditorKit, setEditorKitForContentType, setPage, setPage, setTextMethods inherited from class javax.swing.text.JTextComponent
addCaretListener, addInputMethodListener, addKeymap, copy, cut, fireCaretUpdate, getActions, getCaret, getCaretColor, getCaretListeners, getCaretPosition, getDisabledTextColor, getDocument, getDragEnabled, getDropLocation, getDropMode, getFocusAccelerator, getHighlighter, getInputMethodRequests, getKeymap, getKeymap, getMargin, getNavigationFilter, getPreferredScrollableViewportSize, getPrintable, getScrollableBlockIncrement, getScrollableUnitIncrement, getSelectedText, getSelectedTextColor, getSelectionColor, getSelectionEnd, getSelectionStart, getText, getToolTipText, getUI, isEditable, loadKeymap, modelToView, modelToView2D, moveCaretPosition, paste, print, print, print, processInputMethodEvent, read, removeCaretListener, removeKeymap, removeNotify, restoreComposedText, saveComposedText, select, selectAll, setCaret, setCaretColor, setCaretPosition, setComponentOrientation, setDisabledTextColor, setDragEnabled, setDropMode, setEditable, setFocusAccelerator, setHighlighter, setKeymap, setMargin, setNavigationFilter, setSelectedTextColor, setSelectionColor, setSelectionEnd, setSelectionStart, setUI, updateUI, viewToModel, viewToModel2D, writeMethods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, updateMethods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTreeMethods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycleMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.autogui.swing.GuiSwingView.ValuePane
asSwingViewComponent, executeContextTask, getActionByContext, getActionByName, getChildByName, getDescendantActionByContext, getDescendantByContext, getDescendantByValue, getDescendantByValueIf, getPrefsJsonSupported, getSwingFocusKeyStroke, isSwingCurrentValueSupported, isSwingEditable, loadSwingPreferences, refreshByContext, requestSwingViewFocus, setPrefsJsonSupported, setSwingViewHistoryValue, setSwingViewValueForTable, shutdownSwingView, updateSwingViewSource, updateSwingViewSourceFromRoot, wrapSwingNamed, wrapSwingPane, wrapSwingProperty, wrapSwingScrollPane
-
Field Details
-
editFinishHandlers
-
editFinishByEnterAndKey
protected boolean editFinishByEnterAndKey- Since:
- 1.8
-
editor
protected boolean editor- Since:
- 1.8
-
prefsUpdater
- Since:
- 1.8
-
editFinishAction
protected GuiSwingTableColumnString.MultilineColumnTextPane.SwitchEnterBehaviorAction editFinishAction- Since:
- 1.8
-
-
Constructor Details
-
MultilineColumnTextPane
public MultilineColumnTextPane(GuiMappingContext context, GuiSwingView.SpecifierManager specifierManager)
-
-
Method Details
-
init
protected void init() -
initEditorKit
protected void initEditorKit() -
initDefault
protected void initDefault()settingeditFinishByEnterAndKeyfrom the inits annotaiton attached to the context property- Since:
- 1.8
-
initAction
protected void initAction() -
switchActionFinishByEnter
protected void switchActionFinishByEnter()sets-up action mappings as- enter + shift, enter + alt : insert a new-line
- tab + shift, tab + alt : insert a tab
- enter : edit-finish
- tab : edit-finish
initAction()wheneditFinishByEnterAndKey=false- Since:
- 1.8
-
switchActionFinishByEnterWithKey
protected void switchActionFinishByEnterWithKey()sets-up action mappings as- enter + shift, enter + alt : edit-finish
- tab + shift, tab + alt : edit-finish
- enter : insert a new-line
- tab : insert a tab
initAction()wheneditFinishByEnterAndKey=true- Since:
- 1.8
-
getHeaderMenuItems
- Specified by:
getHeaderMenuItemsin interfaceObjectTableColumn.PopupMenuBuilderSourceForHeader- Parameters:
table- the target table- Returns:
- a menu for switching enter-key behavior
- Since:
- 1.8
-
isEditFinishByEnterAndKey
public boolean isEditFinishByEnterAndKey()- Returns:
editFinishByEnterAndKey- Since:
- 1.8
-
setEditFinishByEnterAndKey
public void setEditFinishByEnterAndKey(boolean editFinishByEnterAndKey) set the flag and callinitAction()- Parameters:
editFinishByEnterAndKey- the flag set toeditFinishByEnterAndKey- Since:
- 1.8
-
setEditFinishByEnterAndKeyAsUserAction
public void setEditFinishByEnterAndKeyAsUserAction(boolean editFinishByEnterAndKey) update theisEditFinishByEnterAndKey()with sending call-back- Parameters:
editFinishByEnterAndKey- the new flag- Since:
- 1.8
-
loadSwingPreferences
Description copied from interface:GuiSwingView.ValuePanea sub-class which wraps another value-pane should overrides the method in order to omit needless value setting. it can useGuiSwingView.loadPreferencesDefault(JComponent, GuiPreferences)- Specified by:
loadSwingPreferencesin interfaceGuiSwingView.ValuePane<Object>- Parameters:
prefs- target prefs or ancestor of the target; actual target can be obtained byGuiPreferences.getDescendant(GuiMappingContext)options- options for applying
-
loadFromAndApplyTo
load preferences byGuiSwingTableColumnString.PreferencesForMultilineColumnand if it has a flag,setEditFinishByEnterAndKeyAsUserAction(boolean)with the prefs- Parameters:
p- the source prefs- Since:
- 1.8
-
saveSwingPreferences
Description copied from interface:GuiSwingView.ValuePaneonly save the component itself, not including children. it can useGuiSwingView.savePreferencesDefault(JComponent, GuiPreferences)- Specified by:
saveSwingPreferencesin interfaceGuiSwingView.ValuePane<Object>- Parameters:
prefs- target prefs or ancestor of the target; actual target can be obtained byGuiPreferences.getDescendant(GuiMappingContext)
-
setPreferencesUpdater
- Specified by:
setPreferencesUpdaterin interfaceGuiSwingPrefsSupports.PreferencesUpdateSupport
-
asEditorPane
-
installLineNumberPane
protected void installLineNumberPane()- Overrides:
installLineNumberPanein classGuiSwingViewDocumentEditor.PropertyDocumentEditorPane
-
getSwingStaticMenuItems
Description copied from interface:GuiSwingView.ValuePanea typical implementation becomes like the following code:if (menuItems == null) { menuItems =PopupCategorized.getMenuItems(actions, menus); } return menuItems;the method returns original menu items for the pane. so, if a wrapper pane has a wrapped sub-pane added as a child component, it should not include items of the wrapped sub-pane.
- Specified by:
getSwingStaticMenuItemsin interfaceGuiSwingView.ValuePane<Object>- Overrides:
getSwingStaticMenuItemsin classGuiSwingViewDocumentEditor.PropertyDocumentEditorPane- Returns:
- a list of actions (or menu-components) statically determined, that should be always same instances
-
update
- Specified by:
updatein interfaceGuiMappingContext.SourceUpdateListener- Overrides:
updatein classGuiSwingViewDocumentEditor.PropertyDocumentEditorPane
-
getSwingViewValue
- Specified by:
getSwingViewValuein interfaceGuiSwingView.ValuePane<Object>- Overrides:
getSwingViewValuein classGuiSwingViewDocumentEditor.PropertyDocumentEditorPane- Returns:
- basically, the source value of the context, held by the component without touching the context.
-
setSwingViewValue
Description copied from interface:GuiSwingView.ValuePaneupdate GUI display, and it does NOT update the target model value. processed under the event thread. also increment the view-clock.- Specified by:
setSwingViewValuein interfaceGuiSwingView.ValuePane<Object>- Overrides:
setSwingViewValuein classGuiSwingViewDocumentEditor.PropertyDocumentEditorPane- Parameters:
value- the new value
-
setSwingViewValueWithUpdate
Description copied from interface:GuiSwingView.ValuePaneupdate the GUI display and the model. processed under the event thread. also increment the view-clock- Specified by:
setSwingViewValueWithUpdatein interfaceGuiSwingView.ValuePane<Object>- Overrides:
setSwingViewValueWithUpdatein classGuiSwingViewDocumentEditor.PropertyDocumentEditorPane- Parameters:
value- the new value
-
setSwingViewValue
Description copied from interface:GuiSwingView.ValuePaneupdate if the clock is newer than the current view-clock of the pane. the view-clock becomes the given clock. Note: instead,GuiSwingView.ValuePane.setSwingViewValue(Object)increments the current clock- Specified by:
setSwingViewValuein interfaceGuiSwingView.ValuePane<Object>- Overrides:
setSwingViewValuein classGuiSwingViewDocumentEditor.PropertyDocumentEditorPane- Parameters:
value- the new valueclock- the clock of the value: if the clock is newer than the current view-clock of the pane, it can update
-
setSwingViewValueWithUpdate
Description copied from interface:GuiSwingView.ValuePaneupdate the GUI display and the model if the clock is newer than the current view-clock of the pane. the view-clock becomes the given clock.- Specified by:
setSwingViewValueWithUpdatein interfaceGuiSwingView.ValuePane<Object>- Overrides:
setSwingViewValueWithUpdatein classGuiSwingViewDocumentEditor.PropertyDocumentEditorPane- Parameters:
value- the new valueclock- the clock of the value
-
addSwingEditFinishHandler
Description copied from interface:GuiSwingView.ValuePanethe method is used for table cell-editors, in order to observe the completion of editing. the default impl. is empty.- Specified by:
addSwingEditFinishHandlerin interfaceGuiSwingView.ValuePane<Object>- Parameters:
eventHandler- the handler called when the editing is finished
-