Class EnumConstraintEditor<T extends java.lang.Enum<T>>
- java.lang.Object
-
- docking.widgets.table.constrainteditor.AbstractColumnConstraintEditor<T>
-
- docking.widgets.table.constrainteditor.EnumConstraintEditor<T>
-
- All Implemented Interfaces:
ColumnConstraintEditor<T>
public class EnumConstraintEditor<T extends java.lang.Enum<T>> extends AbstractColumnConstraintEditor<T>
A constraint editor for enumerated-type values;
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
CHECKBOX_NAME_PREFIX
-
Fields inherited from class docking.widgets.table.constrainteditor.AbstractColumnConstraintEditor
currentConstraint, INVALID_INPUT_COLOR, VALID_INPUT_COLOR
-
-
Constructor Summary
Constructors Constructor Description EnumConstraintEditor(EnumColumnConstraint<T> constraint)
Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected java.awt.Component
buildInlineEditorComponent()
Delegate the construction of the inline editor component.protected boolean
checkEditorValueValidity()
Template method that subclasses must implement.java.lang.String
getElementDisplayName(T value)
Resolves and returns a more friendly display name for a given Enum value.java.lang.String
getErrorMessage()
If the editor contains and invalid value, this message should indicate why the value is invalid.protected ColumnConstraint<T>
getValueFromComponent()
Get the constraints' new value from the editor component.void
reset()
Reset the editor to a known-good state.protected void
updateEditorComponent()
Indicates to subclasses that the constraint has changed, and the user interface needs to be updated to reflect the new state.protected void
updateInfoMessage(boolean isValid)
-
Methods inherited from class docking.widgets.table.constrainteditor.AbstractColumnConstraintEditor
addChangeListener, buildDetailEditorComponent, formatStatus, getDetailComponent, getInlineComponent, getValue, hasEditorComponents, hasValidValue, notifyConstraintChanged, removeChangeListener, setValue, valueChanged
-
-
-
-
Field Detail
-
CHECKBOX_NAME_PREFIX
public static final java.lang.String CHECKBOX_NAME_PREFIX
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
EnumConstraintEditor
public EnumConstraintEditor(EnumColumnConstraint<T> constraint)
Constructor.- Parameters:
constraint
- Enum-type constraint for which this component is an editor.
-
-
Method Detail
-
buildInlineEditorComponent
protected java.awt.Component buildInlineEditorComponent()
Description copied from class:AbstractColumnConstraintEditor
Delegate the construction of the inline editor component.- Specified by:
buildInlineEditorComponent
in classAbstractColumnConstraintEditor<T extends java.lang.Enum<T>>
- Returns:
- the editors inline component
- See Also:
AbstractColumnConstraintEditor.getInlineComponent()
-
getElementDisplayName
public java.lang.String getElementDisplayName(T value)
Resolves and returns a more friendly display name for a given Enum value.Several Ghidra enumerated types provide functions for retrieving formatted name for a value; this attempts to locate one such function within the Enum class.
This searches the enum class for a zero-argument, String-returning method called
getName()
,getDisplayName()
, orgetDisplayString()
before falling back totoString()
.- Returns:
- a more user-friendly name for the value
-
getValueFromComponent
protected ColumnConstraint<T> getValueFromComponent()
Description copied from class:AbstractColumnConstraintEditor
Get the constraints' new value from the editor component. This expects the UI to have been constructed.- Specified by:
getValueFromComponent
in classAbstractColumnConstraintEditor<T extends java.lang.Enum<T>>
- Returns:
- See Also:
AbstractColumnConstraintEditor.getValue()
-
updateEditorComponent
protected void updateEditorComponent()
Description copied from class:AbstractColumnConstraintEditor
Indicates to subclasses that the constraint has changed, and the user interface needs to be updated to reflect the new state.- Specified by:
updateEditorComponent
in classAbstractColumnConstraintEditor<T extends java.lang.Enum<T>>
-
reset
public void reset()
Description copied from interface:ColumnConstraintEditor
Reset the editor to a known-good state.
-
checkEditorValueValidity
protected boolean checkEditorValueValidity()
Description copied from class:AbstractColumnConstraintEditor
Template method that subclasses must implement. This class will call this method whenever the value changes so that the validity state is updated.Only called when the editor component has been constructed and UI elements are defined.
- Specified by:
checkEditorValueValidity
in classAbstractColumnConstraintEditor<T extends java.lang.Enum<T>>
- Returns:
- true if the UI defines a valid value, false otherwise
- See Also:
ColumnConstraintEditor.hasValidValue()
-
updateInfoMessage
protected void updateInfoMessage(boolean isValid)
- Specified by:
updateInfoMessage
in classAbstractColumnConstraintEditor<T extends java.lang.Enum<T>>
-
getErrorMessage
public java.lang.String getErrorMessage()
Description copied from interface:ColumnConstraintEditor
If the editor contains and invalid value, this message should indicate why the value is invalid. Only called ifhasValidValue()
returns false.- Returns:
- an error message, or an empty string if no error
-
-