Class ComboboxDataBinding<V>
java.lang.Object
com.amalgamasimulation.desktop.binding.widgets.AbstractComboboxDataBinding<V>
com.amalgamasimulation.desktop.binding.widgets.ComboboxDataBinding<V>
- Type Parameters:
V- The type of selectable values
- All Implemented Interfaces:
AbstractDataBinding<V>,AbstractSelectObjectDataBinding<V>
A concrete implementation of
AbstractComboboxDataBinding that uses functional interfaces
for value access, modification, and display formatting. Provides a fluent API for configuring
combo box data bindings.- Author:
- Ionov Ivan
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionThe function that handles new values when selected.The function that formats values for display in the combo box.The function that provides the current model value.Fields inherited from class com.amalgamasimulation.desktop.binding.widgets.AbstractComboboxDataBinding
canBeNull, comboViewer, comparator, contentProvider, controlDecoration, filter, values -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidPerforms an action when the value changes.protected org.eclipse.jface.viewers.IBaseLabelProviderCreates a custom label provider that uses the name extractor function.getValue()Gets the current value from the binding.Sets the handler function for selection changes.nameExtractor(Function<V, String> nameExtractor) Sets the function that formats values for display.valueExtractor(Supplier<V> valueExtractor) Sets the value extractor function.Methods inherited from class com.amalgamasimulation.desktop.binding.widgets.AbstractComboboxDataBinding
canBeNull, createBinding, enable, executeToModel, executeToTarget, setComparator, setControl, setFilter, valuesMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.amalgamasimulation.desktop.binding.widgets.AbstractDataBinding
createControlDecoration
-
Field Details
-
valueExtractor
The function that provides the current model value. Defaults to a supplier that returns null. -
handler
The function that handles new values when selected. Defaults to a no-op consumer. -
nameExtractor
The function that formats values for display in the combo box. Defaults to standard String.valueOf() conversion.
-
-
Constructor Details
-
ComboboxDataBinding
public ComboboxDataBinding()
-
-
Method Details
-
getLabelProvider
protected org.eclipse.jface.viewers.IBaseLabelProvider getLabelProvider()Creates a custom label provider that uses the name extractor function.- Overrides:
getLabelProviderin classAbstractComboboxDataBinding<V>- Returns:
- Configured label provider instance
-
getValue
Description copied from interface:AbstractDataBindingGets the current value from the binding.- Returns:
- The current value of type V
-
doAction
Description copied from interface:AbstractDataBindingPerforms an action when the value changes.- Parameters:
newNalue- The new value being set
-
nameExtractor
Sets the function that formats values for display.- Parameters:
nameExtractor- The formatting function- Returns:
- this binding instance for method chaining
-
valueExtractor
Sets the value extractor function.- Parameters:
valueExtractor- The supplier function to get the current value- Returns:
- this binding instance for method chaining
-
handler
Sets the handler function for selection changes.- Parameters:
handler- The consumer function to handle new values- Returns:
- this binding instance for method chaining
-