Skip to main content

[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();
   }


Back to the top