Currently, we generate a default ActionListener for every SearchAction in the details pane:
|
for (final SearchAction action : actions) { |
|
final JButton button = new JButton(action.toString()); |
|
button.addActionListener(ae -> { |
|
action.run(); |
|
if (action.closesSearch()) { |
|
reset(); |
|
} |
|
}); |
Allowing for SearchActions to provide their own ActionListener would allow more flexibility, e.g. displaying a small popup menu (JPopupMenu) with additional (sub-)choices that wouldn't justify the creation of an own SearchAction for them.
This goes in the same direction as #4 to provide more flexibility to define search actions.
The problem with allowing with allowing ActionListener as a parameter would be that we introduce an awt dependency in a UI-agnostic SearchAction, so this would have to be abstracted somehow...