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