java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
org.autogui.swing.util.SearchTextField
org.autogui.swing.util.SearchTextFieldFilePath
org.autogui.swing.GuiSwingViewFilePathField.PropertyFilePathPane
- All Implemented Interfaces:
ImageObserver,MenuContainer,Serializable,GuiMappingContext.SourceUpdateListener,GuiSwingView.ValuePane<Object>
- Direct Known Subclasses:
GuiSwingTableColumnFilePath.ColumnEditFilePathPane,LambdaProperty.LambdaFilePathPane
- Enclosing class:
GuiSwingViewFilePathField
public static class GuiSwingViewFilePathField.PropertyFilePathPane
extends SearchTextFieldFilePath
implements GuiMappingContext.SourceUpdateListener, GuiSwingView.ValuePane<Object>
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class org.autogui.swing.util.SearchTextFieldFilePath
SearchTextFieldFilePath.DesktopOpenAction, SearchTextFieldFilePath.DesktopRevealAction, SearchTextFieldFilePath.FileClearAction, SearchTextFieldFilePath.FileCopyAllAction, SearchTextFieldFilePath.FileInfoItem, SearchTextFieldFilePath.FileItem, SearchTextFieldFilePath.FileItemWithKey, SearchTextFieldFilePath.FileListAction, SearchTextFieldFilePath.FileListEditAction, SearchTextFieldFilePath.FilePasteAction, SearchTextFieldFilePath.FileSelection, SearchTextFieldFilePath.FileTransferHandler, SearchTextFieldFilePath.IconWrapper, SearchTextFieldFilePath.OpenDialogAction, SearchTextFieldFilePath.SearchTextFieldModelFilePathNested classes/interfaces inherited from class org.autogui.swing.util.SearchTextField
SearchTextField.DynamicItemAction, SearchTextField.SearchBackgroundPainter, SearchTextField.SearchBackgroundPainterBordered, SearchTextField.SearchedItemsListener, SearchTextField.SearchTask, SearchTextField.SearchTextFieldModel, SearchTextField.SearchTextFieldModelEmpty, SearchTextField.SearchTextFieldPublisher, SearchTextField.SearchTextFieldPublisherEmptyNested 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 GuiMappingContextprotected booleanprotected MenuBuilder.MenuLabelprotected List<PopupCategorized.CategorizedMenuItem> protected GuiSwingView.SpecifierManagerprotected GuiTaskClockFields inherited from class org.autogui.swing.util.SearchTextFieldFilePath
MENU_CATEGORY_FILE_CANDIDATE, MENU_CATEGORY_FILE_CHILD, MENU_CATEGORY_FILE_CURRENT, MENU_CATEGORY_FILE_DEFAULT, MENU_CATEGORY_FILE_PARENT, MENU_CATEGORY_FILE_SIBLINGFields inherited from class org.autogui.swing.util.SearchTextField
backgroundPainter, buttonsPane, currentSearchedItems, currentTask, editingRunner, emptyIcon, field, icon, menuItemsSource, model, popup, popupButton, searchedItemsListeners, undoManagerFields 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
ConstructorsConstructorDescriptionPropertyFilePathPane(GuiMappingContext context, GuiSwingView.SpecifierManager specifierManager) PropertyFilePathPane(GuiMappingContext context, GuiSwingView.SpecifierManager specifierManager, SearchTextFieldFilePath.SearchTextFieldModelFilePath model) -
Method Summary
Modifier and TypeMethodDescriptionvoidaddSwingEditFinishHandler(Runnable eventHandler) the method is used for table cell-editors, in order to observe the completion of editing.getFileItemFromValue(Object value) a typical implementation if there are no dynamic items becomes like the following code:a typical implementation becomes like the following code:voidinit()voidvoidvoidinitLazy()voidinitName()voidvoidbooleanvoidfor each component, the method is called before refreshing in order to clear the view-clock.voidvoidupdate property: the user selects the item from the menu, and then update the target propertyvoidupdate property: search done, and then the matched item will be set to the target propertyvoidno property updatevoidsetCurrentValueSupported(boolean currentValueSupported) voidsetKeyStrokeString(String keyStrokeString) set the key-stroke info.voidsetSwingViewValue(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.voidfor each component, at the end of the process, this method will be calledvoidupdate(GuiMappingContext cause, Object newValue, GuiTaskClock contextClock) voidupdateFieldInEvent(boolean modified, boolean immediate) executed under event thread: start a new search task in backgroundvoidvoidupdateFromGui(Object value, GuiTaskClock viewClock) Methods inherited from class org.autogui.swing.util.SearchTextFieldFilePath
formatFileSize, getFile, getFileItem, initTransferHandler, isUpdateFieldModifiedEvent, setFile, setTextFromSearchedItem, toFileNameString, toPathStringMethods inherited from class org.autogui.swing.util.SearchTextField
add, addSearchItemsListener, convertIcon, createSearchTask, doActionButtons, getButtonsPane, getCurrentTask, getDynamicItemAction, getEditingRunner, getEditingRunnerDelay, getEmptyIcon, getField, getFocusColor, getIcon, getModel, getPopup, getPopupButton, getPopupUpdateListener, getSearchedItems, getSearchedItemsListeners, initAfter, initBackgroundPainter, initField, initIcon, initLayout, initLayoutButtons, initLayoutButtonsPane, initPopupCategorized, isSwingEditable, isUpdateFieldImmediateEvent, isUpdateFieldImmediateEvent, isUpdateFieldModifiedEvents, paintComponent, removeSearchItemsListener, setBackground, setBackgroundWithoutInit, setCurrentSearchedItems, setCurrentSearchedItems, setIconFromSearchedItem, setTextWithoutUpdateField, setToolTipText, setTransferHandlerWithSettingExportingDragSource, setupCopyAndPaste, shutdown, updateFieldMethods 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, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getUI, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, paramString, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update, updateUIMethods inherited from class java.awt.Container
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, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getAccessibleContext, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, 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, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, 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, isSwingEditable, loadSwingPreferences, loadSwingPreferences, refreshByContext, saveSwingPreferences, setPrefsJsonSupported, setSwingViewHistoryValue, setSwingViewValueForTable, updateSwingViewSource, updateSwingViewSourceFromRoot, wrapSwingNamed, wrapSwingPane, wrapSwingProperty, wrapSwingScrollPane
-
Field Details
-
context
-
specifierManager
-
infoLabel
-
viewClock
-
currentValueSupported
protected boolean currentValueSupported -
editFinishHandlers
-
-
Constructor Details
-
PropertyFilePathPane
public PropertyFilePathPane(GuiMappingContext context, GuiSwingView.SpecifierManager specifierManager) -
PropertyFilePathPane
public PropertyFilePathPane(GuiMappingContext context, GuiSwingView.SpecifierManager specifierManager, SearchTextFieldFilePath.SearchTextFieldModelFilePath model)
-
-
Method Details
-
init
public void init()- Overrides:
initin classSearchTextFieldFilePath
-
initLazy
public void initLazy() -
initPopup
public void initPopup()- Overrides:
initPopupin classSearchTextFieldFilePath
-
initName
public void initName() -
initEditable
public void initEditable() -
initContextUpdate
public void initContextUpdate() -
initValue
public void initValue() -
isSwingCurrentValueSupported
public boolean isSwingCurrentValueSupported()- Specified by:
isSwingCurrentValueSupportedin interfaceGuiSwingView.ValuePane<Object>
-
setCurrentValueSupported
public void setCurrentValueSupported(boolean currentValueSupported) -
getMenuItems
- Overrides:
getMenuItemsin classSearchTextField
-
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>- Returns:
- a list of actions (or menu-components) statically determined, that should be always same instances
-
getSwingMenuBuilder
Description copied from interface:GuiSwingView.ValuePanea typical implementation if there are no dynamic items becomes like the following code:if (popup == null) { popup = newPopupExtension(this, newPopupCategorized(this::getSwingStaticMenuItems)); } return popup.getMenuBuilder();- Specified by:
getSwingMenuBuilderin interfaceGuiSwingView.ValuePane<Object>- Returns:
- a menu builder
-
getMenuItemsSource
- Overrides:
getMenuItemsSourcein classSearchTextFieldFilePath- Returns:
- list of menu items including
ActionorJComponent
-
selectSearchedItemFromGui
update property: the user selects the item from the menu, and then update the target property- Overrides:
selectSearchedItemFromGuiin classSearchTextField- Parameters:
item- the selected item
-
selectSearchedItemFromModel
update property: search done, and then the matched item will be set to the target property- Overrides:
selectSearchedItemFromModelin classSearchTextField- Parameters:
item- the selected item by the model
-
updateFromGui
-
selectSearchedItemWithoutUpdateContext
no property update- Parameters:
item- the selected item
-
update
- Specified by:
updatein interfaceGuiMappingContext.SourceUpdateListener
-
updateFieldInEvent
public void updateFieldInEvent(boolean modified, boolean immediate) Description copied from class:SearchTextFieldexecuted under event thread: start a new search task in background- Overrides:
updateFieldInEventin classSearchTextField- Parameters:
modified- true if the field is actually editedimmediate- if true, a background task will not be created even if the model supports it
-
updateFieldInEventWithoutEditFinish
public void updateFieldInEventWithoutEditFinish() -
getSwingViewValue
- Specified by:
getSwingViewValuein interfaceGuiSwingView.ValuePane<Object>- 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>- Parameters:
value- the new value
-
getFileItemFromValue
-
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>- 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>- 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>- 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
-
getSwingViewContext
- Specified by:
getSwingViewContextin interfaceGuiSwingView.ValuePane<Object>
-
shutdownSwingView
public void shutdownSwingView()Description copied from interface:GuiSwingView.ValuePanefor each component, at the end of the process, this method will be called- Specified by:
shutdownSwingViewin interfaceGuiSwingView.ValuePane<Object>
-
getSpecifier
- Specified by:
getSpecifierin interfaceGuiSwingView.ValuePane<Object>- Returns:
- the specifier for the context value, typically obtained from
GuiSwingView.SpecifierManager
-
requestSwingViewFocus
public void requestSwingViewFocus()- Specified by:
requestSwingViewFocusin interfaceGuiSwingView.ValuePane<Object>
-
setKeyStrokeString
Description copied from interface:GuiSwingView.ValuePaneset the key-stroke info. to the pane as a guide- Specified by:
setKeyStrokeStringin interfaceGuiSwingView.ValuePane<Object>- Parameters:
keyStrokeString- the key stroke info to be set.
-
prepareForRefresh
public void prepareForRefresh()Description copied from interface:GuiSwingView.ValuePanefor each component, the method is called before refreshing in order to clear the view-clock.- Specified by:
prepareForRefreshin interfaceGuiSwingView.ValuePane<Object>
-