/*
* codjo.net
*
* Common Apache License 2.0
*/
package net.codjo.broadcast.gui.wizard;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import net.codjo.gui.toolkit.date.DateField;
import net.codjo.gui.toolkit.date.InternationalizableDateField;
import net.codjo.gui.toolkit.wizard.StepPanel;
import net.codjo.i18n.common.TranslationManager;
import net.codjo.i18n.gui.InternationalizableContainer;
import net.codjo.i18n.gui.TranslationNotifier;
import net.codjo.mad.gui.framework.GuiContext;
import net.codjo.mad.gui.i18n.InternationalizationUtil;
/**
*/
public class SelectDateStep extends StepPanel implements InternationalizableContainer {
public static final String SELECTION_DATE = "broadcast.date";
private DateField broadcastDateField = new DateField();
private GridBagLayout gridBagLayout = new GridBagLayout();
private TranslationManager translationManager;
public SelectDateStep(GuiContext guiContext) {
setName("SelectDateStep.title");
jbInit();
initDateField();
TranslationNotifier notifier = InternationalizationUtil.retrieveTranslationNotifier(guiContext);
translationManager = InternationalizationUtil.retrieveTranslationManager(guiContext);
notifier.addInternationalizableContainer(this);
}
public void addInternationalizableComponents(TranslationNotifier translationNotifier) {
translationNotifier.addInternationalizableComponent(new InternationalizableDateField(broadcastDateField,
translationNotifier,
translationManager));
}
private void initDateField() {
broadcastDateField.addPropertyChangeListener(new PropertyChangeListener() {
public void propertyChange(PropertyChangeEvent evt) {
if (broadcastDateField.getDate() != null) {
setFulfilled(true);
setValue(SELECTION_DATE, broadcastDateField.getDate());
}
else {
setFulfilled(false);
setValue(SELECTION_DATE, null);
}
}
});
broadcastDateField.setDate(new java.util.Date());
}
private void jbInit() {
this.setLayout(gridBagLayout);
this.add(broadcastDateField,
new GridBagConstraints(0, 0, 1, 1, 0.0, 0.0, GridBagConstraints.CENTER,
GridBagConstraints.NONE, new Insets(10, 10, 10, 0), 70, 0));
}
}