예제 #1
0
 @Override
 public void onClick(ClickEvent event) {
   Widget sender = (Widget) event.getSource();
   if (prevMBtn.equals(sender)) {
     setCursorDate(
         GWTCSimpleDatePicker.increaseMonth(getCursorDate(), isMonthInRange(-1 * monthStep)));
   } else if (nextMBtn.equals(sender)) {
     setCursorDate(GWTCSimpleDatePicker.increaseMonth(getCursorDate(), isMonthInRange(monthStep)));
   } else if (prevYBtn.equals(sender)) {
     setCursorDate(GWTCSimpleDatePicker.increaseMonth(getCursorDate(), isMonthInRange(-12)));
   } else if (nextYBtn.equals(sender)) {
     setCursorDate(GWTCSimpleDatePicker.increaseMonth(getCursorDate(), isMonthInRange(12)));
   } else if (todayBtn.equals(sender)) {
     setCursorDate(new Date());
   } else if (helpBtn.equals(sender)) {
     helpDlg.alert(helpStr.replaceAll("\\n", "<br/>"));
   } else if (closeBtn.equals(sender)) {
     hide();
   } else {
     super.onClick(event);
   }
   refresh();
 }
예제 #2
0
 /** Redraw all calendar elements into the container */
 @Override
 public void refresh() {
   needsRedraw = false;
   prevMBtn.setEnabled(simpleDatePickers.get(0).isVisibleMonth(-1));
   nextMBtn.setEnabled(simpleDatePickers.get(0).isVisibleMonth(1));
   prevYBtn.setEnabled(simpleDatePickers.get(0).isVisibleMonth(-1));
   nextYBtn.setEnabled(simpleDatePickers.get(0).isVisibleMonth(1));
   todayBtn.setEnabled(
       getMonthNumber(simpleDatePickers.get(0).getCursorDate()) != getMonthNumber(new Date()));
   fillMenuItems();
   for (int i = 0; i < simpleDatePickers.size(); i++) {
     simpleDatePickers
         .get(i)
         .setCursorDate(
             GWTCSimpleDatePicker.increaseMonth(simpleDatePickers.get(0).getCursorDate(), i));
     simpleDatePickers.get(i).refresh();
     monthHeaders
         .get(i)
         .setText(
             GWTCSimpleDatePicker.formatDate(
                 MONTH_FORMAT, simpleDatePickers.get(i).getCursorDate()));
   }
 }
예제 #3
0
  private void fillMenuItems() {
    monthSelectorHeader.clearItems();
    monthMenu.clearItems();
    monthSelectorHeader.addItem(
        GWTCSimpleDatePicker.formatDate(MONTH_FORMAT, simpleDatePickers.get(0).getCursorDate()),
        monthMenu);

    int n = -1 * (monthSelector / 2);
    Date d = new Date(GWTCSimpleDatePicker.getFirstDayOfMonth(getCursorDate()).getTime());
    Date md =
        new Date(
            GWTCSimpleDatePicker.getFirstDayOfMonth(simpleDatePickers.get(0).getMinimalDate())
                .getTime());
    d = GWTCSimpleDatePicker.increaseMonth(d, n);
    while (GWTCSimpleDatePicker.compareDate(md, d) < 0) {
      d = GWTCSimpleDatePicker.increaseMonth(d, 1);
      n++;
    }
    n += monthSelector;
    d = GWTCSimpleDatePicker.increaseMonth(getCursorDate(), n);
    while (GWTCSimpleDatePicker.compareDate(simpleDatePickers.get(0).getMaximalDate(), d) > 0) {
      d = GWTCSimpleDatePicker.increaseMonth(d, -1);
      n--;
    }
    n -= monthSelector;
    d = GWTCSimpleDatePicker.increaseMonth(getCursorDate(), n);
    for (int i = n; i < monthSelector; i++) {
      String t = GWTCSimpleDatePicker.formatDate(MONTH_FORMAT, d);
      MenuCommand c = new MenuCommand(d);
      d = GWTCSimpleDatePicker.increaseMonth(d, 1);
      if (GWTCSimpleDatePicker.compareDate(d, simpleDatePickers.get(0).getMaximalDate()) >= 0
          && GWTCSimpleDatePicker.compareDate(simpleDatePickers.get(0).getMinimalDate(), d) > 0) {
        monthMenu.addItem(t, c);
      }
    }
  }