1 package org.columba.calendar.ui.comp; 19 20 import java.awt.Dimension ; 21 import java.text.DateFormat ; 22 import java.util.Calendar ; 23 import java.util.GregorianCalendar ; 24 25 import org.columba.calendar.model.api.IDateRange; 26 import org.columba.calendar.ui.navigation.DateAreaBeanFactory; 27 28 import com.miginfocom.calendar.datearea.DateArea; 29 import com.miginfocom.util.dates.BoundaryRounder; 30 import com.miginfocom.util.dates.DateRangeI; 31 import com.miginfocom.util.dates.ImmutableDateRange; 32 33 public class DatePicker extends com.miginfocom.calendar.DatePicker { 34 35 private com.miginfocom.beans.DateAreaBean dateAreaBean; 36 37 public DatePicker() { 38 super(); 39 40 dateAreaBean = DateAreaBeanFactory.initDateArea(); 41 42 dateAreaBean.setSelectionType(DateArea.SELECTION_TYPE_NORMAL); 44 45 Calendar today = Calendar.getInstance(); 46 long startMillis = new GregorianCalendar (today.get(java.util.Calendar.YEAR), 0, 0).getTimeInMillis(); 47 long endMillis = new GregorianCalendar (today.get(java.util.Calendar.YEAR), 12, 31).getTimeInMillis(); 48 ImmutableDateRange dr = new ImmutableDateRange(startMillis, endMillis, 49 false, null, null); 50 dateAreaBean.getDateArea().setVisibleDateRange(dr); 51 dateAreaBean.setPreferredSize(new Dimension (200, 400)); 52 53 dateAreaBean.setSelectionBoundaryType(DateRangeI.RANGE_TYPE_DAY); 54 dateAreaBean.getDateArea().setSelectionRounder( 55 new BoundaryRounder(DateRangeI.RANGE_TYPE_DAY, true, true, 56 false, 1, 1, null)); 57 dateAreaBean.repaint(); 58 setDateAreaContainer(dateAreaBean); 59 60 setHomeButtonVisible(true); 61 setLeftRightButtonsVisible(true); 62 setDefaultDateStyle(DateFormat.DEFAULT); 63 setHideEndDate(true); 64 65 setDate(Calendar.getInstance()); 66 } 67 68 public void setDate(Calendar date) { 69 ImmutableDateRange dr = new ImmutableDateRange(date.getTimeInMillis(), 70 date.getTimeInMillis(), false, null, null); 71 72 setSelectedRange(dr); 73 } 74 75 public Calendar getDate() { 76 DateRangeI range = getSelectedRange(); 77 78 return range.getStart(); 79 } 80 81 public void setSelectedColumbaDateRange(IDateRange range) { 82 ImmutableDateRange dr = new ImmutableDateRange(range.getStartTime() 83 .getTimeInMillis(), range.getEndTime().getTimeInMillis(), true, 84 null, null); 85 86 setSelectedRange(dr); 87 } 88 89 } 90 | Popular Tags |