diff --git a/GUI/src/main/java/cz/fidentis/analyst/core/ControlPanel.java b/GUI/src/main/java/cz/fidentis/analyst/core/ControlPanel.java index 02017a8501bff1c9ce5d0dc39c5a1f6dfc6aefd1..b859a2edb64e55e982d7ddb3dd124389d2f79a50 100644 --- a/GUI/src/main/java/cz/fidentis/analyst/core/ControlPanel.java +++ b/GUI/src/main/java/cz/fidentis/analyst/core/ControlPanel.java @@ -58,4 +58,18 @@ public abstract class ControlPanel extends JPanel { } }; } + + protected final ActionListener createListener(ActionListener action, String command, Object data) { + return new AbstractAction() { + @Override + public void actionPerformed(ActionEvent e) { + action.actionPerformed(new LoadedActionEvent( + e.getSource(), + ActionEvent.ACTION_PERFORMED, + command, + data) + ); + } + }; + } } diff --git a/GUI/src/main/java/cz/fidentis/analyst/core/LoadedActionEvent.java b/GUI/src/main/java/cz/fidentis/analyst/core/LoadedActionEvent.java new file mode 100644 index 0000000000000000000000000000000000000000..b10c96e8273e345d2d46edc160aee48e2613174d --- /dev/null +++ b/GUI/src/main/java/cz/fidentis/analyst/core/LoadedActionEvent.java @@ -0,0 +1,31 @@ +package cz.fidentis.analyst.core; + +import java.awt.event.ActionEvent; + +/** + * + * @author Daniel Schramm + */ +public class LoadedActionEvent extends ActionEvent { + + private final Object data; + + public LoadedActionEvent(Object source, int id, String command, Object data) { + super(source, id, command); + this.data = data; + } + + public LoadedActionEvent(Object source, int id, String command, int modifiers, Object data) { + super(source, id, command, modifiers); + this.data = data; + } + + public LoadedActionEvent(Object source, int id, String command, long when, int modifiers, Object data) { + super(source, id, command, when, modifiers); + this.data = data; + } + + public Object getData() { + return data; + } +}