package caltool.view.schedule; import javax.swing.*; import java.awt.*; import java.awt.event.*; public class RecurringCheckBoxListener implements ActionListener { public RecurringCheckBoxListener(RecurringInfoSubdialog parentView, ScheduleAppointmentDialog grandparentView) { this.parentView = parentView; this.grandparentView = grandparentView; } public void actionPerformed(ActionEvent e) { if (parentView.recurringCheckBox.isSelected()) { if ((grandparentView.getClass() == ScheduleAppointmentDialog.class) || (grandparentView.getClass() == ScheduleTaskDialog.class)) { grandparentView.startDateLabel.setText("Start Date: "); } else /* grandparent is meeting dialog */ { grandparentView.startDateLabel.setText( "Earliest Start Date: "); ((ScheduleMeetingDialog)grandparentView).latestStartDateLabel. setText("Latest Start Date: "); } setEnabled(true); } else { if (grandparentView.getClass() == ScheduleAppointmentDialog.class) { grandparentView.startDateLabel.setText("Date: "); } else if (grandparentView.getClass() == ScheduleTaskDialog.class) { grandparentView.startDateLabel.setText("Due Date: "); } else /* grandparent is meeting dialog */ { grandparentView.startDateLabel.setText("Earliest Date: "); ((ScheduleMeetingDialog)grandparentView).latestStartDateLabel. setText("Latest Date: "); } setEnabled(false); clearAll(); } } protected void setEnabled(boolean isEnabled) { grandparentView.endDateLabel.setEnabled(isEnabled); grandparentView.endDateTextField.setEnabled(isEnabled); if (grandparentView.getClass() == ScheduleMeetingDialog.class) { ((ScheduleMeetingDialog)grandparentView).latestEndDateLabel. setEnabled(isEnabled); ((ScheduleMeetingDialog)grandparentView).latestEndDateTextField. setEnabled(isEnabled); } parentView.intervalComboBox.setEnabled(isEnabled); parentView.intervalLabel.setEnabled(isEnabled); parentView.sunCheckBox.setEnabled(isEnabled); parentView.sunLabel.setEnabled(isEnabled); parentView.monCheckBox.setEnabled(isEnabled); parentView.monLabel.setEnabled(isEnabled); parentView.tueCheckBox.setEnabled(isEnabled); parentView.tueLabel.setEnabled(isEnabled); parentView.wedCheckBox.setEnabled(isEnabled); parentView.wedLabel.setEnabled(isEnabled); parentView.thuCheckBox.setEnabled(isEnabled); parentView.thuLabel.setEnabled(isEnabled); parentView.friCheckBox.setEnabled(isEnabled); parentView.friLabel.setEnabled(isEnabled); parentView.satCheckBox.setEnabled(isEnabled); parentView.satLabel.setEnabled(isEnabled); } protected void clearAll() { parentView.sunCheckBox.setSelected(false); parentView.monCheckBox.setSelected(false); parentView.tueCheckBox.setSelected(false); parentView.wedCheckBox.setSelected(false); parentView.thuCheckBox.setSelected(false); parentView.friCheckBox.setSelected(false); parentView.satCheckBox.setSelected(false); } /** The recurring info parent view */ protected RecurringInfoSubdialog parentView; /** The schedule appointment grandparent view */ protected ScheduleAppointmentDialog grandparentView; }