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 class
static class
static class
static class
static class
Nested classes/interfaces inherited from class javax.swing.JEditorPane
JEditorPane.AccessibleJEditorPane, JEditorPane.AccessibleJEditorPaneHTML, JEditorPane.JEditorPaneAccessibleHypertextSupport
Nested classes/interfaces inherited from class javax.swing.text.JTextComponent
JTextComponent.AccessibleJTextComponent, JTextComponent.DropLocation, JTextComponent.KeyBinding
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected boolean
protected boolean
Fields inherited from class org.autogui.swing.GuiSwingViewDocumentEditor.PropertyDocumentEditorPane
context, infoLabel, lineNumberPane, popup, settingsWindow, specifierManager, viewClock, wrapLine
Fields inherited from class javax.swing.JEditorPane
HONOR_DISPLAY_PROPERTIES, W3C_LENGTH_UNITS
Fields inherited from class javax.swing.text.JTextComponent
DEFAULT_KEYMAP, FOCUS_ACCELERATOR_KEY
Fields inherited from class javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
Fields inherited from class java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
Fields 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 TypeMethodDescriptionvoid
addSwingEditFinishHandler
(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 void
init()
protected void
protected void
settingeditFinishByEnterAndKey
from the inits annotaiton attached to the context propertyprotected void
protected void
boolean
void
load preferences byGuiSwingTableColumnString.PreferencesForMultilineColumn
and if it has a flag,setEditFinishByEnterAndKeyAsUserAction(boolean)
with the prefsvoid
loadSwingPreferences
(GuiPreferences prefs, GuiSwingPrefsApplyOptions options) a sub-class which wraps another value-pane should overrides the method in order to omit needless value setting.void
only save the component itself, not including children.void
setEditFinishByEnterAndKey
(boolean editFinishByEnterAndKey) set the flag and callinitAction()
void
setEditFinishByEnterAndKeyAsUserAction
(boolean editFinishByEnterAndKey) update theisEditFinishByEnterAndKey()
with sending call-backvoid
void
setSwingViewValue
(Object value) update GUI display, and it does NOT update the target model value.void
setSwingViewValue
(Object value, GuiTaskClock clock) update if the clock is newer than the current view-clock of the pane.void
update the GUI display and the model.void
setSwingViewValueWithUpdate
(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 void
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 called frominitAction()
wheneditFinishByEnterAndKey
=falseprotected void
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 called frominitAction()
wheneditFinishByEnterAndKey
=truevoid
update
(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, setWrapLine
Methods 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, setText
Methods 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, write
Methods 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, update
Methods 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, validateTree
Methods 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, transferFocusUpCycle
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods 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()settingeditFinishByEnterAndKey
from 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:
getHeaderMenuItems
in 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.ValuePane
a 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:
loadSwingPreferences
in 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.PreferencesForMultilineColumn
and if it has a flag,setEditFinishByEnterAndKeyAsUserAction(boolean)
with the prefs- Parameters:
p
- the source prefs- Since:
- 1.8
-
saveSwingPreferences
Description copied from interface:GuiSwingView.ValuePane
only save the component itself, not including children. it can useGuiSwingView.savePreferencesDefault(JComponent, GuiPreferences)
- Specified by:
saveSwingPreferences
in interfaceGuiSwingView.ValuePane<Object>
- Parameters:
prefs
- target prefs or ancestor of the target; actual target can be obtained byGuiPreferences.getDescendant(GuiMappingContext)
-
setPreferencesUpdater
- Specified by:
setPreferencesUpdater
in interfaceGuiSwingPrefsSupports.PreferencesUpdateSupport
-
asEditorPane
-
installLineNumberPane
protected void installLineNumberPane()- Overrides:
installLineNumberPane
in classGuiSwingViewDocumentEditor.PropertyDocumentEditorPane
-
getSwingStaticMenuItems
Description copied from interface:GuiSwingView.ValuePane
a 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:
getSwingStaticMenuItems
in interfaceGuiSwingView.ValuePane<Object>
- Overrides:
getSwingStaticMenuItems
in classGuiSwingViewDocumentEditor.PropertyDocumentEditorPane
- Returns:
- a list of actions (or menu-components) statically determined, that should be always same instances
-
update
- Specified by:
update
in interfaceGuiMappingContext.SourceUpdateListener
- Overrides:
update
in classGuiSwingViewDocumentEditor.PropertyDocumentEditorPane
-
getSwingViewValue
- Specified by:
getSwingViewValue
in interfaceGuiSwingView.ValuePane<Object>
- Overrides:
getSwingViewValue
in classGuiSwingViewDocumentEditor.PropertyDocumentEditorPane
- Returns:
- basically, the source value of the context, held by the component without touching the context.
-
setSwingViewValue
Description copied from interface:GuiSwingView.ValuePane
update GUI display, and it does NOT update the target model value. processed under the event thread. also increment the view-clock.- Specified by:
setSwingViewValue
in interfaceGuiSwingView.ValuePane<Object>
- Overrides:
setSwingViewValue
in classGuiSwingViewDocumentEditor.PropertyDocumentEditorPane
- Parameters:
value
- the new value
-
setSwingViewValueWithUpdate
Description copied from interface:GuiSwingView.ValuePane
update the GUI display and the model. processed under the event thread. also increment the view-clock- Specified by:
setSwingViewValueWithUpdate
in interfaceGuiSwingView.ValuePane<Object>
- Overrides:
setSwingViewValueWithUpdate
in classGuiSwingViewDocumentEditor.PropertyDocumentEditorPane
- Parameters:
value
- the new value
-
setSwingViewValue
Description copied from interface:GuiSwingView.ValuePane
update 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:
setSwingViewValue
in interfaceGuiSwingView.ValuePane<Object>
- Overrides:
setSwingViewValue
in 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.ValuePane
update 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:
setSwingViewValueWithUpdate
in interfaceGuiSwingView.ValuePane<Object>
- Overrides:
setSwingViewValueWithUpdate
in classGuiSwingViewDocumentEditor.PropertyDocumentEditorPane
- Parameters:
value
- the new valueclock
- the clock of the value
-
addSwingEditFinishHandler
Description copied from interface:GuiSwingView.ValuePane
the method is used for table cell-editors, in order to observe the completion of editing. the default impl. is empty.- Specified by:
addSwingEditFinishHandler
in interfaceGuiSwingView.ValuePane<Object>
- Parameters:
eventHandler
- the handler called when the editing is finished
-