Package adams.gui.goe
Class GenericObjectEditorPanel
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JPanel
-
- adams.gui.core.BasePanel
-
- adams.gui.chooser.AbstractChooserPanel
-
- adams.gui.goe.GenericObjectEditorPanel
-
- All Implemented Interfaces:
CleanUpHandler
,UserModeSupporter
,ImageObserver
,MenuContainer
,Serializable
,Accessible
public class GenericObjectEditorPanel extends AbstractChooserPanel implements UserModeSupporter
A panel that contains text field with the current setup of the object and a button for bringing up the GenericObjectEditor.- Author:
- fracpete (fracpete at waikato dot ac dot nz)
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class adams.gui.chooser.AbstractChooserPanel
AbstractChooserPanel.ChooseListener, AbstractChooserPanel.PopupMenuCustomizer
-
Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanel
-
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
Fields Modifier and Type Field Description protected ActionListener
m_CancelListener
the Cancel listener.protected boolean
m_CanChangeClass
whether the class can be changed.protected Class
m_ClassType
the super class to manage.protected Object
m_Current
the current object.protected GenericObjectEditorDialog
m_Dialog
the dialog for displaying the editor.protected GenericObjectEditor
m_Editor
the generic object editor.protected PersistentObjectHistory
m_History
the history of used setups.protected ActionListener
m_OkListener
the OK listener.-
Fields inherited from class adams.gui.chooser.AbstractChooserPanel
m_ButtonFavorites, m_ButtonSelection, m_ChangeListeners, m_ChooseListeners, m_ColorInvalid, m_ColorValid, m_Editable, m_InlineEditingEnabled, m_LabelPrefix, m_LabelPrefixSpacer, m_NoChooseYet, m_PanelButtons, m_PanelPrefix, m_PopupMenuCustomizer, m_Self, m_TextSelection, m_ToolTip
-
Fields inherited from class adams.gui.core.BasePanel
m_FileChooser
-
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
Constructors Constructor Description GenericObjectEditorPanel(Class cls, Object defValue)
Initializes the panel with the given class and default value.GenericObjectEditorPanel(Class cls, Object defValue, boolean canChangeClassInDialog)
Initializes the panel with the given class and default value.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected Object
doChoose()
Performs the actual choosing of an object.protected Object
fromString(String value)
Converts the string representation into its object representation.boolean
getCanChangeClass()
Returns whether the user can change the class.Class
getClassType()
Returns the currently set class.Object
getCurrent()
Returns the current value.protected GenericObjectEditor
getEditor()
Initializes the editor if necessary and returns it.protected Class
getFavoritesClass()
The class to use for the favorites (can be array class).PersistentObjectHistory
getHistory()
Returns the history.protected BasePopupMenu
getPopupMenu()
Generates the right-click popup menu.GenericObjectEditor.PostProcessObjectHandler
getPostProcessObjectHandler()
Returns the handler for post-processing objects after they have been selected but before updating the UI.UserMode
getUserMode()
Returns the user mode.protected void
initialize()
Initializes the members.protected void
invalidatedEditor()
Invalidates the GOE editor.void
setCanChangeClassInDialog(boolean value)
Sets whether the user can change the class.void
setClassType(Class type)
Sets the class of values that can be edited.boolean
setCurrent(Object value)
Sets the current value.void
setPostProcessObjectHandler(GenericObjectEditor.PostProcessObjectHandler value)
Sets the handler for post-processing objects after they have been selected but before updating the UI.void
setUserMode(UserMode value)
Sets the user mode.protected boolean
supportsFavorites()
Whether the favorites button is shown or not.protected String
toString(Object value)
Converts the value into its string representation.-
Methods inherited from class adams.gui.chooser.AbstractChooserPanel
addChangeListener, addChooseListener, afterChoose, afterPasteFromClipboard, afterSetCurrent, beforeChoose, beforePasteFromClipboard, beforeSetCurrent, choose, cleanUp, copyToClipboard, fireCurrentValueChanged, getCurrentAsString, getDefaultString, getPopupMenuCustomizer, getPrefix, getPrefixLabel, getSelectionColumns, getStringFromClipboard, getTextColumns, grabFocus, hasValue, initGUI, isEditable, isInlineEditingEnabled, isNoChooseYet, isValid, moveChooseButton, notifyChangeListeners, notifyChooseListeners, pasteFromClipboard, removeChangeListener, removeChooseListener, setCurrentAsString, setDefault, setEditable, setEnabled, setInlineEditingEnabled, setPopupMenuCustomizer, setPrefix, setTextColumns, setToolTipText, showFavoritesMenu, textFieldToolTipText, updatePreferredSize, updateValidity
-
Methods inherited from class adams.gui.core.BasePanel
afterHide, afterShow, beforeHide, beforeShow, closeParent, finishInit, getParentChild, getParentDialog, getParentFrame, getParentInternalFrame, getParentTitle, initFileChooser, main, printErrorMessage, printException, saveComponent, setEnabledCascade, setEnabledCascade, setParentTitle, setVisible
-
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
-
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, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, 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, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, 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, 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, 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
-
-
-
-
Field Detail
-
m_ClassType
protected Class m_ClassType
the super class to manage.
-
m_CanChangeClass
protected boolean m_CanChangeClass
whether the class can be changed.
-
m_Editor
protected transient GenericObjectEditor m_Editor
the generic object editor.
-
m_Dialog
protected GenericObjectEditorDialog m_Dialog
the dialog for displaying the editor.
-
m_History
protected PersistentObjectHistory m_History
the history of used setups.
-
m_Current
protected transient Object m_Current
the current object.
-
m_OkListener
protected transient ActionListener m_OkListener
the OK listener.
-
m_CancelListener
protected transient ActionListener m_CancelListener
the Cancel listener.
-
-
Constructor Detail
-
GenericObjectEditorPanel
public GenericObjectEditorPanel(Class cls, Object defValue)
Initializes the panel with the given class and default value. Cannot change the class.- Parameters:
cls
- the class to handlerdefValue
- the default value
-
GenericObjectEditorPanel
public GenericObjectEditorPanel(Class cls, Object defValue, boolean canChangeClassInDialog)
Initializes the panel with the given class and default value. Cannot change the class.- Parameters:
cls
- the class to handlerdefValue
- the default valuecanChangeClassInDialog
- whether the user can change the class
-
-
Method Detail
-
initialize
protected void initialize()
Initializes the members.- Overrides:
initialize
in classAbstractChooserPanel
-
getEditor
protected GenericObjectEditor getEditor()
Initializes the editor if necessary and returns it.
-
invalidatedEditor
protected void invalidatedEditor()
Invalidates the GOE editor.
-
setClassType
public void setClassType(Class type)
Sets the class of values that can be edited.- Parameters:
type
- a value of type 'Class'
-
getClassType
public Class getClassType()
Returns the currently set class.- Returns:
- the current class
-
setCanChangeClassInDialog
public void setCanChangeClassInDialog(boolean value)
Sets whether the user can change the class.- Parameters:
value
- if true then the user can change the class
-
getCanChangeClass
public boolean getCanChangeClass()
Returns whether the user can change the class.- Returns:
- true if the user can change the class
-
supportsFavorites
protected boolean supportsFavorites()
Whether the favorites button is shown or not.- Overrides:
supportsFavorites
in classAbstractChooserPanel
- Returns:
- true if to show
-
getFavoritesClass
protected Class getFavoritesClass()
The class to use for the favorites (can be array class).- Overrides:
getFavoritesClass
in classAbstractChooserPanel
- Returns:
- the class
-
doChoose
protected Object doChoose()
Performs the actual choosing of an object.- Specified by:
doChoose
in classAbstractChooserPanel
- Returns:
- the chosen object or null if none chosen
-
fromString
protected Object fromString(String value)
Converts the string representation into its object representation.- Specified by:
fromString
in classAbstractChooserPanel
- Parameters:
value
- the string value to convert- Returns:
- the generated object
-
getHistory
public PersistentObjectHistory getHistory()
Returns the history.- Returns:
- the underlying history
-
getCurrent
public Object getCurrent()
Returns the current value.- Overrides:
getCurrent
in classAbstractChooserPanel
- Returns:
- the current value
-
toString
protected String toString(Object value)
Converts the value into its string representation.- Specified by:
toString
in classAbstractChooserPanel
- Parameters:
value
- the value to convert- Returns:
- the generated string
-
setCurrent
public boolean setCurrent(Object value)
Sets the current value.- Overrides:
setCurrent
in classAbstractChooserPanel
- Parameters:
value
- the value to use, can be null- Returns:
- true if successfully set
-
getPopupMenu
protected BasePopupMenu getPopupMenu()
Generates the right-click popup menu.- Overrides:
getPopupMenu
in classAbstractChooserPanel
- Returns:
- the generated menu
-
setPostProcessObjectHandler
public void setPostProcessObjectHandler(GenericObjectEditor.PostProcessObjectHandler value)
Sets the handler for post-processing objects after they have been selected but before updating the UI.- Parameters:
value
- the handler, null to remove
-
getPostProcessObjectHandler
public GenericObjectEditor.PostProcessObjectHandler getPostProcessObjectHandler()
Returns the handler for post-processing objects after they have been selected but before updating the UI.- Returns:
- the handler, null if none set
-
setUserMode
public void setUserMode(UserMode value)
Sets the user mode.- Specified by:
setUserMode
in interfaceUserModeSupporter
- Parameters:
value
- the mode
-
getUserMode
public UserMode getUserMode()
Returns the user mode.- Specified by:
getUserMode
in interfaceUserModeSupporter
- Returns:
- the mode
-
-