Ignore:
Timestamp:
07/09/06 21:28:43 (18 years ago)
Author:
Nicholas Riley
Message:

Better way of retrieving selected unit (thanks, Jean-Sebastien Payette)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/hiptop/pester/net/sabi/pester/AlarmListView.java

    r246 r248  
    1313import danger.ui.DatePicker;
    1414import danger.ui.DialogWindow;
    15 import danger.ui.Menu;
    1615import danger.ui.MenuItem;
    1716import danger.ui.NumberEditor;
     
    3736    private RadioButton sInButton, sAtButton;
    3837    private NumberEditor sPeriodField;
    39     private Menu sPeriodUnitsMenu;
    4038    private PopupMenu sPeriodUnitsPopup;
    4139    // XXX don't allow <5 second repeating alarms
     
    6361        sAtButton = (RadioButton)sEditWindow.getDescendantWithID(ID_AT_BUTTON);
    6462        sPeriodField = (NumberEditor)sEditWindow.getDescendantWithID(ID_PERIOD_FIELD);
    65         sPeriodUnitsMenu = (Menu)sEditWindow.getDescendantWithID(ID_PERIOD_UNITS_MENU);
    6663        sPeriodUnitsPopup = (PopupMenu)sEditWindow.getDescendantWithID(ID_PERIOD_UNITS_POPUP);
    6764        sRepeatCheckBox = (CheckBox)sEditWindow.getDescendantWithID(ID_PERIOD_REPEAT_CHECKBOX);
     
    9794            int period = alarm.getPeriod();
    9895            for (int i = sPeriodUnitsPopup.itemCount() - 1 ; i >= 0 ; --i) {
    99                 MenuItem item = sPeriodUnitsPopup.getItem(i);
    100                 int unitsPerSec = item.getEvent().data;
     96                int unitsPerSec = sPeriodUnitsPopup.getItem(i).getEvent().data;
    10197                if (period % unitsPerSec == 0) {
    102                     sPeriodUnitsPopup.setValueWithItemID(sPeriodUnitsMenu.getIDOfItem(item));
     98                    sPeriodUnitsPopup.setValue(i);
    10399                    sPeriodField.setValue(period / unitsPerSec);
    104100                    break;
     
    139135    }
    140136
     137    // XXX make this into a more general validation method;
     138    // XXX check before dismissing dialog that alarm is valid
     139    // XXX and display alarm date
    141140    protected void constrainDate() {
    142141        // XXX schedule every minute (second?) if in AT mode
     
    157156            sEditingAlarm.setMessage(sMessageField.toString());
    158157            if (sInButton.getValue() == 1) {
    159                 int itemID = sPeriodUnitsPopup.getValueAsItemID();
    160                 MenuItem itemWithID = sPeriodUnitsMenu.getItemWithID(itemID);
    161                 Event event = itemWithID.getEvent();
     158                int itemIndex = sPeriodUnitsPopup.getValue();
     159                MenuItem itemAtIndex = sPeriodUnitsPopup.getItem(itemIndex);
     160                Event event = itemAtIndex.getEvent();
    162161                sEditingAlarm.setPeriod(sPeriodField.getValue() * event.data,
    163162                                        sRepeatCheckBox.getValue() == 1);
Note: See TracChangeset for help on using the changeset viewer.