[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
| [nebula-dev] CDateTime CDT.CLOCK_DISCRETE | CDT.DROP_DOWN no longer	works | 
Hi!
I have a problem with style "CDT.BORDER | CDT.DROP_DOWN | 
CDT.CLOCK_DISCRETE".
In the new version no longer works "CDT.CLOCK_DISCRETE | CDT.DROP_DOWN".
I've create a quick and dirty fix for me.
Thanks!
### Eclipse Workspace Patch 1.0
#P org.eclipse.nebula.widgets.cdatetime
Index: src/org/eclipse/nebula/widgets/cdatetime/DatePicker.java
===================================================================
RCS file: 
/cvsroot/technology/org.eclipse.swt.nebula/org.eclipse.nebula.widgets.cdatetime/src/org/eclipse/nebula/widgets/cdatetime/DatePicker.java,v 
retrieving revision 1.15
diff -u -r1.15 DatePicker.java
--- src/org/eclipse/nebula/widgets/cdatetime/DatePicker.java    11 Jun 
2009 21:25:02 -0000    1.15
+++ src/org/eclipse/nebula/widgets/cdatetime/DatePicker.java    16 Jul 
2009 20:54:11 -0000
@@ -89,7 +89,7 @@
   VButton[] yearButtons;
-    AnalogTimePicker timePanel;
+    VPanel timePanel;
      private CDateTime cdt;
   private int fields = 0;
@@ -686,7 +686,14 @@
   private void createTime(Body b) {
       VPanel bodyPanel = bodyPanels[bodyPanels.length-1];
-        timePanel = new AnalogTimePicker(cdt, this);
+// FIX:     +        if((getStyle() & CDT.CLOCK_DISCRETE) != 0) {
+            timePanel = new DiscreteTimePicker(cdt);
+        }else {
+            timePanel = new AnalogTimePicker(cdt, this);
+        }
+       +               timePanel.setParent(bodyPanel);
       bodyPanel.getLayout(VStackLayout.class).setDefault(timePanel, 
false);
@@ -918,7 +925,12 @@
       }
              if(timePanel != null) {
-            timePanel.setFields(calendarFields);
+// FIX:      +            if (timePanel instanceof AnalogTimePicker) {
+                ((AnalogTimePicker)timePanel).setFields(calendarFields);
+            }else if (timePanel instanceof DiscreteTimePicker) {
+                ((DiscreteTimePicker)timePanel).setFields(calendarFields);
+            }
       }
   }
@@ -1299,7 +1311,13 @@
       updateMonths();
       updateYears();
       if(timePanel != null) {
-            timePanel.updateView();
+           +// FIX:
+            if (timePanel instanceof AnalogTimePicker) {
+                ((AnalogTimePicker)timePanel).updateView();
+            }else if (timePanel instanceof DiscreteTimePicker) {
+                ((DiscreteTimePicker)timePanel).updateView();
+            }
       }
       updateFooter();
   }