Package adams.gui.goe
Class AbstractBaseDateTypeEditor<B extends BaseObject & DateValueSupporter & GrammarSupplier,P extends DateProvider>
- java.lang.Object
-
- java.beans.PropertyEditorSupport
-
- adams.gui.goe.AbstractPropertyEditorSupport
-
- adams.gui.goe.AbstractBaseDateTypeEditor<B,P>
-
- Type Parameters:
B- the base object type in useP- the panel in use for selecting the date type
- All Implemented Interfaces:
HelpProvider,CustomStringRepresentationHandler,InlineEditorSupport,MultiSelectionEditor,PropertyEditor
- Direct Known Subclasses:
BaseDateEditor,BaseDateTimeEditor,BaseDateTimeMsecEditor,BaseTimeEditor,BaseTimeMsecEditor
public abstract class AbstractBaseDateTypeEditor<B extends BaseObject & DateValueSupporter & GrammarSupplier,P extends DateProvider> extends AbstractPropertyEditorSupport implements CustomStringRepresentationHandler, MultiSelectionEditor, InlineEditorSupport
Ancestor property editors that handle base date types.- Author:
- FracPete (fracpete at waikato dot ac dot nz)
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classAbstractBaseDateTypeEditor.PlaceholderThe supported placeholders.
-
Field Summary
Fields Modifier and Type Field Description protected BaseButtonm_ButtonCustomHelpthe button for the bringing up the help for the custom format.protected BaseButtonm_ButtonNowThe NOW button.protected BaseButtonm_ButtonOKThe OK button.protected BaseButtonWithDropDownMenum_ButtonTemplatesthe template button.protected Pm_CalendarThe calendar component for editing the date.protected BaseComboBox<String>m_ComboBoxPlaceholdersFor specific date placeholders.protected Bm_Datefor parsing the date type.protected BaseTextFieldm_TextCustomFor entering a custom date string.-
Fields inherited from class adams.gui.goe.AbstractPropertyEditorSupport
APPROVE_OPTION, CANCEL_OPTION, EMPTY, m_ChosenOption, m_CustomEditor, m_WindowAdapter, NULL
-
-
Constructor Summary
Constructors Constructor Description AbstractBaseDateTypeEditor()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected JComponentcreateCustomEditor()Gets the custom editor component.ObjectfromCustomStringRepresentation(String str)Returns an object created from the custom string representation.StringgetInlineValue()Returns the current value.StringgetJavaInitializationString()Returns a representation of the current property value as java source.protected abstract StringgetNowButtonText()Returns the text to use for the "now" button.protected abstract StringgetPlaceholder(AbstractBaseDateTypeEditor.Placeholder ph)Returns the string equivalent of the placeholder.Object[]getSelectedObjects(Container parent)Returns the selected objects.protected voidinitForDisplay()Initializes the display of the value.protected voidinitialize()Initializes the members.booleanisInlineEditingAvailable()Checks whether inline editing is available.booleanisInlineValueValid(String value)Checks whether the value id valid.protected BnewDateType()Returns a new instance of the date type used for parsing.protected abstract BnewDateType(String s)Returns a new instance of the date type.protected abstract BnewDateType(Date d)Returns a new instance of the date type.protected abstract PnewPanel()Instantiates a new panel for picking the date type.voidpaintValue(Graphics gfx, Rectangle box)Paints a representation of the current Object.voidsetInlineValue(String value)Sets the value to use.protected voidshowHelp()Displays the help for theStringtoCustomStringRepresentation(Object obj)Returns a custom string representation of the object.protected voidupdateButtons()Sets the enabled state of the buttons.-
Methods inherited from class adams.gui.goe.AbstractPropertyEditorSupport
addWindowAdapter, cleanUp, closeDialog, createPopup, createTipText, createWindowAdapter, getChosenOption, getCustomEditor, getHelpDescription, getHelpIcon, getHelpTitle, getHelpURL, getParentDialog, getParentFrame, isPaintable, resetChosenOption, setValue, supportsCustomEditor
-
Methods inherited from class java.beans.PropertyEditorSupport
addPropertyChangeListener, firePropertyChange, getAsText, getSource, getTags, getValue, removePropertyChangeListener, setAsText, setSource
-
-
-
-
Field Detail
-
m_Calendar
protected P extends DateProvider m_Calendar
The calendar component for editing the date.
-
m_ComboBoxPlaceholders
protected BaseComboBox<String> m_ComboBoxPlaceholders
For specific date placeholders.
-
m_TextCustom
protected BaseTextField m_TextCustom
For entering a custom date string.
-
m_ButtonCustomHelp
protected BaseButton m_ButtonCustomHelp
the button for the bringing up the help for the custom format.
-
m_ButtonNow
protected BaseButton m_ButtonNow
The NOW button.
-
m_ButtonTemplates
protected BaseButtonWithDropDownMenu m_ButtonTemplates
the template button.
-
m_ButtonOK
protected BaseButton m_ButtonOK
The OK button.
-
m_Date
protected B extends BaseObject & DateValueSupporter & GrammarSupplier m_Date
for parsing the date type.
-
-
Method Detail
-
initialize
protected void initialize()
Initializes the members.- Overrides:
initializein classAbstractPropertyEditorSupport
-
newDateType
protected B newDateType()
Returns a new instance of the date type used for parsing.- Returns:
- the instance
-
newDateType
protected abstract B newDateType(String s)
Returns a new instance of the date type.- Parameters:
s- the string to instantiate with, can be null- Returns:
- the instance
-
newDateType
protected abstract B newDateType(Date d)
Returns a new instance of the date type.- Parameters:
d- the date to initialize with- Returns:
- the instance
-
toCustomStringRepresentation
public String toCustomStringRepresentation(Object obj)
Returns a custom string representation of the object.- Specified by:
toCustomStringRepresentationin interfaceCustomStringRepresentationHandler- Parameters:
obj- the object to turn into a string- Returns:
- the string representation
-
fromCustomStringRepresentation
public Object fromCustomStringRepresentation(String str)
Returns an object created from the custom string representation.- Specified by:
fromCustomStringRepresentationin interfaceCustomStringRepresentationHandler- Parameters:
str- the string to turn into an object- Returns:
- the object
-
getJavaInitializationString
public String getJavaInitializationString()
Returns a representation of the current property value as java source.- Specified by:
getJavaInitializationStringin interfacePropertyEditor- Overrides:
getJavaInitializationStringin classPropertyEditorSupport- Returns:
- a value of type 'String'
-
paintValue
public void paintValue(Graphics gfx, Rectangle box)
Paints a representation of the current Object.- Specified by:
paintValuein interfacePropertyEditor- Overrides:
paintValuein classPropertyEditorSupport- Parameters:
gfx- the graphics context to usebox- the area we are allowed to paint into
-
newPanel
protected abstract P newPanel()
Instantiates a new panel for picking the date type.- Returns:
- the panel
-
getPlaceholder
protected abstract String getPlaceholder(AbstractBaseDateTypeEditor.Placeholder ph)
Returns the string equivalent of the placeholder.- Parameters:
ph- the placeholder to get the string representation for- Returns:
- the string representation
-
getNowButtonText
protected abstract String getNowButtonText()
Returns the text to use for the "now" button.- Returns:
- the button text
-
createCustomEditor
protected JComponent createCustomEditor()
Gets the custom editor component.- Specified by:
createCustomEditorin classAbstractPropertyEditorSupport- Returns:
- the editor
-
updateButtons
protected void updateButtons()
Sets the enabled state of the buttons.
-
showHelp
protected void showHelp()
Displays the help for the
-
initForDisplay
protected void initForDisplay()
Initializes the display of the value.- Overrides:
initForDisplayin classAbstractPropertyEditorSupport
-
getSelectedObjects
public Object[] getSelectedObjects(Container parent)
Returns the selected objects.- Specified by:
getSelectedObjectsin interfaceMultiSelectionEditor- Parameters:
parent- the parent container- Returns:
- the objects
-
isInlineEditingAvailable
public boolean isInlineEditingAvailable()
Checks whether inline editing is available.- Specified by:
isInlineEditingAvailablein interfaceInlineEditorSupport- Returns:
- true if editing available
-
setInlineValue
public void setInlineValue(String value)
Sets the value to use.- Specified by:
setInlineValuein interfaceInlineEditorSupport- Parameters:
value- the value to use
-
getInlineValue
public String getInlineValue()
Returns the current value.- Specified by:
getInlineValuein interfaceInlineEditorSupport- Returns:
- the current value
-
isInlineValueValid
public boolean isInlineValueValid(String value)
Checks whether the value id valid.- Specified by:
isInlineValueValidin interfaceInlineEditorSupport- Parameters:
value- the value to check- Returns:
- true if valid
-
-