私は次のモデルを持っています:
public class HoverDescriptor {
private String id;
private String label;
private boolean enabled;
private String description;
private int stateMask;
private String modifierString;
public HoverDescriptor(String id, String label, boolean isEnabled, String description,
...
}
public class HoverViewModel {
Set<HoverDescriptor> mHovers;
private HoverViewModel() {
mHovers = new HashSet<HoverDescriptor>();
mHovers.add(new HoverDescriptor("Mock1", "Label1", true, "Desc1", SWT.DEFAULT, ""));
mHovers.add(new HoverDescriptor("Mock2", "Label2", false, "Desc2",SWT.DEFAULT, ""));
mHovers.add(new HoverDescriptor("Mock3", "Label3", false, "Desc3", SWT.DEFAULT, ""));
}
public static HoverViewModel newInstance() {
return new HoverViewModel();
}
public Set<HoverDescriptor> getHovers() {
return mHovers;
}
バインドしたい:
final IObservableSet checkedElements = ViewersObservables.observeCheckedElements(viewer, HoverDescriptor.class);
次の ObservableMap に:
IBeanSetProperty descriptors = PojoProperties.set("hovers", HoverDescriptor.class);
IObservableMap observeMap = PojoObservables.observeMap(descriptors.observe(fViewModel), HoverDescriptor.class, "enabled");
MappedSet
しかし、非推奨とDataBindingContext.bindSet
(?) を除いて、私は慣用的な方法を見つけることができませんでした。どうすれば効果的にできるでしょうか?