/* (non-Javadoc) * @see com.google.code.p.gwtchismes.client.GWTCSimpleDatePicker#setSelectedDate(java.util.Date) */ @Override public void setSelectedDate(Date d) { super.setSelectedDate(d); if (d == null) return; for (int i = 0; i < simpleDatePickers.size(); i++) { simpleDatePickers.get(i).setSelectedDate(d); simpleDatePickers.get(i).refresh(); } }
protected void setNumberOfMonths(int months) { monthColumns = Math.min(monthColumns, months); monthStep = Math.min(monthStep, months); simpleDatePickers = new Vector<GWTCSimpleDatePicker>(); for (int i = 0; i < Math.max(1, months); i++) { GWTCSimpleDatePicker picker = new GWTCSimpleDatePicker(true); picker.showWeekNumbers(showWeekNumbers); picker.clickOnWeekNumbers(clickOnWeekNumbers); simpleDatePickers.add(picker); Label l = new Label(); DOM.setElementAttribute(l.getElement(), "align", "center"); monthHeaders.add(l); } setMinimalDate(super.getMinimalDate()); setMaximalDate(super.getMaximalDate()); setSelectedDate(super.getSelectedDate()); }
@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(); }
/** 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())); } }
/* (non-Javadoc) * @see com.google.code.p.gwtchismes.client.GWTCSimpleDatePicker#setMaximalDate(java.util.Date) */ @Override public void setMaximalDate(Date d) { super.setMaximalDate(d); for (int i = 0; i < simpleDatePickers.size(); i++) simpleDatePickers.get(i).setMaximalDate(d); }
/* (non-Javadoc) * @see com.google.code.p.gwtchismes.client.GWTCSimpleDatePicker#setCursorDate(java.util.Date) */ @Override public void setCursorDate(Date d) { super.setCursorDate(d); simpleDatePickers.get(0).setCursorDate(d); }
/* (non-Javadoc) * @see com.google.gwt.user.client.ui.Composite#onAttach() */ @Override protected void onAttach() { super.onAttach(); }
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); } } }