java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
org.autogui.swing.GuiSwingViewImagePane.ImagePaneBase
org.autogui.swing.GuiSwingViewImagePane.PropertyImagePane
- All Implemented Interfaces:
ImageObserver
,MenuContainer
,Serializable
,GuiMappingContext.SourceUpdateListener
,GuiSwingView.SettingsWindowClient
,GuiSwingView.ValuePane<Image>
- Direct Known Subclasses:
GuiSwingTableColumnImage.ColumnEditImagePane
,LambdaProperty.LambdaImagePane
- Enclosing class:
GuiSwingViewImagePane
public static class GuiSwingViewImagePane.PropertyImagePane
extends GuiSwingViewImagePane.ImagePaneBase
implements GuiMappingContext.SourceUpdateListener, GuiSwingView.ValuePane<Image>, GuiSwingView.SettingsWindowClient
- See Also:
-
Nested Class Summary
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 GuiMappingContext
protected boolean
protected boolean
protected MenuBuilder.MenuLabel
protected GuiSwingViewImagePane.ImagePreviewAction
the action for previewingprotected SettingsWindow
the window for previewingprotected GuiSwingView.SpecifierManager
protected GuiTaskClock
Fields inherited from class org.autogui.swing.GuiSwingViewImagePane.ImagePaneBase
autoSwitchByMouseWheel, image, imageScale, imageScaleAutoSwitchByMouseWheel, imageScaleDefault, imageScaleFit, imageScaleMouseWheel, imageSize, menuItems, popup, switchFitAction
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
ConstructorsConstructorDescriptionPropertyImagePane
(GuiMappingContext context, GuiSwingView.SpecifierManager specifierManager) -
Method Summary
Modifier and TypeMethodDescriptionprotected GuiSwingViewImagePane.ImageCopyAction
getImagePath
(Image image) getRenderedImage
(Image image) convert image to a writableRenderedImage
a typical implementation if there are no dynamic items becomes like the following code:a typical implementation becomes like the following code:void
init()
initializervoid
void
void
void
make this view fucusable with a mouse-listener of focusingvoid
initName()
void
initialize popup-menuvoid
void
boolean
boolean
void
for each component, the method is called before refreshing in order to clear the view-clock.void
setCurrentValueSupported
(boolean currentValueSupported) void
setEditable
(boolean editable) void
set the image and update renderingvoid
setImagePath
(Image image, Path path) an imported image from a file always be called this method with the file.void
void
setKeyStrokeString
(String keyStrokeString) set the key-stroke info.void
setSettingsWindow
(SettingsWindow settingsWindow) at initialization of the root-pane, the method will be called for existing sub-panes.void
setSwingViewHistoryValue
(Object value) called from a value history menu.void
setSwingViewValue
(Image value) update GUI display, and it does NOT update the target model value.void
setSwingViewValue
(Image value, GuiTaskClock clock) update if the clock is newer than the current view-clock of the pane.void
setSwingViewValueWithUpdate
(Image value) update the GUI display and the model.void
setSwingViewValueWithUpdate
(Image value, GuiTaskClock clock) update the GUI display and the model if the clock is newer than the current view-clock of the pane.void
update
(GuiMappingContext cause, Object newValue, GuiTaskClock contextClock) void
updateFromGui
(Object v, GuiTaskClock viewClock) Methods inherited from class org.autogui.swing.GuiSwingViewImagePane.ImagePaneBase
createScaleInfo, createSizeInfo, createStaticMenuItems, dragMove, getDynamicMenuItems, getImage, getImageScale, getImageScaleDefault, getImageScaledSize, getImageScaleFit, getImageScaleMouseWheel, getImageSize, getViewPosition, getViewSize, imageScaleMouseWheelShouldBeActivated, initDragScroll, initScale, isImageScaleAutoSwitchByMouseWheel, isImageScaleChangeByMouseWheel, isParentViewport, paintComponent, setImageScale, setImageScaleAutoSwitchByMouseWheel, setPreferredSizeFromImageSize, subtract, updateScale
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, 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, 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, updateUI
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, 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, 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
addSwingEditFinishHandler, asSwingViewComponent, executeContextTask, getActionByContext, getActionByName, getChildByName, getDescendantActionByContext, getDescendantByContext, getDescendantByValue, getDescendantByValueIf, getPrefsJsonSupported, getSwingFocusKeyStroke, loadSwingPreferences, loadSwingPreferences, refreshByContext, requestSwingViewFocus, saveSwingPreferences, setPrefsJsonSupported, setSwingViewValueForTable, shutdownSwingView, updateSwingViewSource, updateSwingViewSourceFromRoot, wrapSwingNamed, wrapSwingPane, wrapSwingProperty, wrapSwingScrollPane
-
Field Details
-
context
-
specifierManager
-
editable
protected boolean editable -
infoLabel
-
viewClock
-
currentValueSupported
protected boolean currentValueSupported -
settingsWindow
the window for previewing -
previewAction
the action for previewing
-
-
Constructor Details
-
PropertyImagePane
-
-
Method Details
-
init
public void init()Description copied from class:GuiSwingViewImagePane.ImagePaneBase
initializer- Overrides:
init
in classGuiSwingViewImagePane.ImagePaneBase
-
initName
public void initName() -
initEditable
public void initEditable() -
initContextUpdate
public void initContextUpdate() -
initValue
public void initValue() -
initPreview
public void initPreview() -
initPopup
public void initPopup()Description copied from class:GuiSwingViewImagePane.ImagePaneBase
initialize popup-menu- Overrides:
initPopup
in classGuiSwingViewImagePane.ImagePaneBase
-
initDragDrop
public void initDragDrop() -
initFocus
public void initFocus()Description copied from class:GuiSwingViewImagePane.ImagePaneBase
make this view fucusable with a mouse-listener of focusing- Overrides:
initFocus
in classGuiSwingViewImagePane.ImagePaneBase
-
isSwingCurrentValueSupported
public boolean isSwingCurrentValueSupported()- Specified by:
isSwingCurrentValueSupported
in interfaceGuiSwingView.ValuePane<Image>
-
setCurrentValueSupported
public void setCurrentValueSupported(boolean currentValueSupported) -
setSettingsWindow
Description copied from interface:GuiSwingView.SettingsWindowClient
at initialization of the root-pane, the method will be called for existing sub-panes. a dynamically created view needs to be manually set by those panes.- Specified by:
setSettingsWindow
in interfaceGuiSwingView.SettingsWindowClient
- Parameters:
settingsWindow
- a settings-window from the root-pane, which will be disposed at closing of the main window
-
getSettingsWindow
- Specified by:
getSettingsWindow
in interfaceGuiSwingView.SettingsWindowClient
-
getSwingViewContext
- Specified by:
getSwingViewContext
in interfaceGuiSwingView.ValuePane<Image>
-
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<Image>
- Returns:
- a list of actions (or menu-components) statically determined, that should be always same instances
-
getStaticMenuItems
- Overrides:
getStaticMenuItems
in classGuiSwingViewImagePane.ImagePaneBase
- Returns:
- default list of menu-items; creates the list if not yet
-
createCopyAction
- Overrides:
createCopyAction
in classGuiSwingViewImagePane.ImagePaneBase
-
getSwingMenuBuilder
Description copied from interface:GuiSwingView.ValuePane
a typical implementation if there are no dynamic items becomes like the following code:if (popup == null) { popup = new
PopupExtension
(this, newPopupCategorized
(this::getSwingStaticMenuItems)); } return popup.getMenuBuilder();- Specified by:
getSwingMenuBuilder
in interfaceGuiSwingView.ValuePane<Image>
- Returns:
- a menu builder
-
isSwingEditable
public boolean isSwingEditable()- Specified by:
isSwingEditable
in interfaceGuiSwingView.ValuePane<Image>
-
setEditable
public void setEditable(boolean editable) -
update
- Specified by:
update
in interfaceGuiMappingContext.SourceUpdateListener
-
setImageWithoutContextUpdate
-
setImage
Description copied from class:GuiSwingViewImagePane.ImagePaneBase
set the image and update rendering- Overrides:
setImage
in classGuiSwingViewImagePane.ImagePaneBase
- Parameters:
image
- the new image
-
updateFromGui
-
getSwingViewValue
- Specified by:
getSwingViewValue
in interfaceGuiSwingView.ValuePane<Image>
- 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<Image>
- 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<Image>
- 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<Image>
- 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<Image>
- Parameters:
value
- the new valueclock
- the clock of the value
-
getSpecifier
- Specified by:
getSpecifier
in interfaceGuiSwingView.ValuePane<Image>
- Returns:
- the specifier for the context value, typically obtained from
GuiSwingView.SpecifierManager
-
setKeyStrokeString
Description copied from interface:GuiSwingView.ValuePane
set the key-stroke info. to the pane as a guide- Specified by:
setKeyStrokeString
in interfaceGuiSwingView.ValuePane<Image>
- Parameters:
keyStrokeString
- the key stroke info to be set.
-
setImagePath
an imported image from a file always be called this method with the file. then the value ofGuiPreferences.HistoryValueEntry
becomesGuiReprValueImagePane.ImageHistoryEntry
.- Parameters:
image
- a loaded image. if null, ignoredpath
- source path of the image
-
getImagePath
-
setSwingViewHistoryValue
Description copied from interface:GuiSwingView.ValuePane
called from a value history menu. the default impl. just callsGuiSwingView.ValuePane.setSwingViewValueWithUpdate(Object)
.- Specified by:
setSwingViewHistoryValue
in interfaceGuiSwingView.ValuePane<Image>
- Parameters:
value
- the new value. usually a ValueType.
-
prepareForRefresh
public void prepareForRefresh()Description copied from interface:GuiSwingView.ValuePane
for each component, the method is called before refreshing in order to clear the view-clock.- Specified by:
prepareForRefresh
in interfaceGuiSwingView.ValuePane<Image>
-
getRenderedImage
Description copied from class:GuiSwingViewImagePane.ImagePaneBase
convert image to a writableRenderedImage
- Overrides:
getRenderedImage
in classGuiSwingViewImagePane.ImagePaneBase
- Parameters:
image
- the source image- Returns:
- call
GuiReprValueImagePane.getRenderedImageWithSupport(GuiReprValueImagePane.RenderedImageGetterSupport, Object)
-