예제 #1
0
  public void setFields(int[] calendarFields) {
    cdt.builder.setFields(calendarFields);
    fields = 0;
    int[] fa = getFields();
    for (int i = 0; i < calendarFields.length; i++) {
      for (int j = 0; j < fa.length; j++) {
        if (calendarFields[i] == fa[j]) fields |= (1 << j);
      }
    }

    createContents();
    updateLabels();

    if (monthButton != null) {
      monthButton.addListener(
          SWT.Resize,
          new Listener() {
            public void handleEvent(Event event) {
              if (SWT.Resize == event.type) {
                setMonthLabelText();
              }
            }
          });
    }

    if (timePanel != null) {
      timePanel.setFields(calendarFields);
    }
  }
예제 #2
0
 public void setEditable(boolean editable) {
   setStyle(SWT.READ_ONLY, !editable);
   if (dayPanel != null) {
     dayPanel.setActivatable(false);
   }
   if (timePanel != null) {
     timePanel.setActivatable(false);
   }
 }
예제 #3
0
  private void createTime(Body b) {
    VPanel bodyPanel = bodyPanels[bodyPanels.length - 1];

    timePanel = new AnalogTimePicker(cdt, this);
    timePanel.setParent(bodyPanel);

    bodyPanel.getLayout(VStackLayout.class).setDefault(timePanel, false);

    if (timeButton != null) {
      timeButton.setData(Key.Panel, timePanel);
    }
  }
예제 #4
0
 void updateView() {
   updateHeader();
   if (dayPanel != null) {
     setDays(cdt.getCalendarTime(), true);
     updateDays();
   }
   updateMonths();
   updateYears();
   if (timePanel != null) {
     timePanel.updateView();
   }
   updateFooter();
 }