/**
* author: Marcel Genzmehr
* 02.12.2011
*/
package org.freeplane.core.ui;
import java.awt.event.ActionEvent;
import org.freeplane.core.ui.AFreeplaneAction;
/**
*
*/
@EnabledAction(checkOnPopup=true)
public class FreeplaneActionMultiCaster extends AFreeplaneAction {
private static final long serialVersionUID = 1L;
private final AFreeplaneAction a;
private final AFreeplaneAction b;
/***********************************************************************************
* CONSTRUCTORS
**********************************************************************************/
public FreeplaneActionMultiCaster(AFreeplaneAction a, AFreeplaneAction b) {
super(b.getKey());
if(a != null) {
assert(b.getKey().equals(a.getKey()));
}
this.a = a;
this.b = b;
}
/***********************************************************************************
* METHODS
**********************************************************************************/
public boolean isEnabled() {
return b.isEnabled();
}
public void setEnabled() {
//FIXME: DOCEAR - check annotation settings
this.a.setEnabled();
this.b.setEnabled();
}
public AFreeplaneAction getA() {
return a;
}
public AFreeplaneAction getB() {
return b;
}
/***********************************************************************************
* REQUIRED METHODS FOR INTERFACES
**********************************************************************************/
public void actionPerformed(ActionEvent e) {
if(b != null) b.actionPerformed(e);
if(a != null) a.actionPerformed(e);
}
}