Hallo,
Hat einer von euch schon ein datenbinding mittels EMF mit dem CalendarCombo geschafft?
ich versuche das jetzt seit einiger zeit und schaffe das nur in eine richtung (daten -> gui)
sobald der gui die daten ändert werden die im modell hinten nicht mitgezogen...
sieht jemand was ich da falsch mache?
übrigens: data = DataFactory.getTestData(); <-- das ist meine EMF klasse
danke
Lumo
Hat einer von euch schon ein datenbinding mittels EMF mit dem CalendarCombo geschafft?
ich versuche das jetzt seit einiger zeit und schaffe das nur in eine richtung (daten -> gui)
sobald der gui die daten ändert werden die im modell hinten nicht mitgezogen...
Java:
EMFDataBindingContext ctx = new EMFDataBindingContext();
IObservableValue mObs = EMFProperties.value(FeaturePath
.fromList(FormPackage.Literals.TEST_CLASS__DATE))
.observe(data);
// binding
IObservableValue uiObs = new CalendarComboSelectionProperty().observe(cc);
ctx.bindValue(uiObs, mObs);
Java:
import java.util.Calendar;
import org.eclipse.jface.databinding.swt.WidgetValueProperty;
import org.eclipse.nebula.widgets.calendarcombo.CalendarCombo;
import org.eclipse.swt.SWT;
public class CalendarComboSelectionProperty extends WidgetValueProperty {
public CalendarComboSelectionProperty() {
super(SWT.Selection);
}
public Object getValueType() {
return Calendar.class;
}
@Override
protected Object doGetValue(Object source) {
CalendarCombo cc = (CalendarCombo) source;
return cc.getDate();
}
@Override
protected void doSetValue(Object source, Object value) {
CalendarCombo cc = (CalendarCombo) source;
if (!cc.isDisposed()) {
if (value instanceof Calendar) {
cc.setDate((Calendar) value);
}
}
}
}
sieht jemand was ich da falsch mache?
übrigens: data = DataFactory.getTestData(); <-- das ist meine EMF klasse
danke
Lumo