//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.textinput.impl;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import org.dtangler.swingui.actionfactory.ActionFactory;
import org.dtangler.swingui.textinput.impl.TextInputView.Actions;
import org.dtangler.swingui.windowmanager.SwingView;
import org.dtangler.swingui.windowmanager.WindowManager;
public class TextInputGlue {
private final TextInputPresenter presenter;
private final ActionFactory actionFactory;
public TextInputGlue(ActionFactory actionFactory,
final TextInputPresenter presenter, final SwingView view,
final WindowManager windowManager) {
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.setEnabled(Actions.ok, presenter.canOk());
}
}