@Override public void bind(final IEMFEditContext context) { super.bind(context); final IEMFEditListProperty emfProperty = EMFEditProperties.list(getEditingDomain(), getEFeature()); fModelObservable = emfProperty.observeDetail(getBaseObservable()); ((IObserving) fModelObservable).getObserved(); fWidget.viewer.setInput(fModelObservable); fButtonGroup.connectTo(fWidget.viewer, fModelObservable, null); register(fWidget.table, IEFPropertyExpressions.EOBJECT_LIST_ID); fSelectionProvider = new ElementSourceSelectionProvider(fWidget.viewer, this); ViewerUtil.setSelectionProvider(fWidget.table, fSelectionProvider); { final int operations = (DND.DROP_DEFAULT | DND.DROP_COPY | DND.DROP_MOVE); final Transfer[] transfers = new Transfer[] {LocalTransfer.getInstance()}; fWidget.viewer.addDragSupport(operations, transfers, new ViewerDragAdapter(fWidget.viewer)); fWidget.viewer.addDropSupport( operations, transfers, new EditingDomainViewerDropAdapter(getEditingDomain(), fWidget.viewer)); } fSingleSelectionObservable = ViewersObservables.observeSinglePostSelection(fWidget.viewer); fButtonGroup.updateState(); }
@Override protected void updateControls() { loadValues(); this.listViewer.refresh(); this.listButtons.updateState(); ViewerUtil.scheduleStandardSelection(this.listViewer); }