// This product is provided under the terms of EPL (Eclipse Public License)
// version 1.0.
//
// The full license text can be read from: http://www.eclipse.org/org/documents/epl-v10.php
package org.dtangler.swingui.rulememberselector.impl;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import org.dtangler.swingui.actionfactory.ActionFactory;
import org.dtangler.swingui.rulememberselector.impl.RuleMemberView.Actions;
import org.dtangler.swingui.windowmanager.SwingView;
import org.dtangler.swingui.windowmanager.WindowManager;
public class RuleMemberGlue {
private final ActionFactory actionFactory;
private final RuleMemberPresenter presenter;
public RuleMemberGlue(ActionFactory actionFactory,
final RuleMemberPresenter presenter,
final WindowManager windowManager, final SwingView view) {
this.actionFactory = actionFactory;
this.presenter = presenter;
updateActionStates();
actionFactory.setImplementation(Actions.ok, new ActionListener() {
public void actionPerformed(ActionEvent e) {
presenter.onOk();
windowManager.close(view);
}
});
actionFactory.setImplementation(Actions.cancel, new ActionListener() {
public void actionPerformed(ActionEvent e) {
windowManager.close(view);
}
});
actionFactory.setImplementation(Actions.updateActionStates,
new ActionListener() {
public void actionPerformed(ActionEvent e) {
updateActionStates();
}
});
}
private void updateActionStates() {
actionFactory.getAction(Actions.ok).setEnabled(presenter.canOk());
}
}