List of usage examples for org.eclipse.jface.databinding.viewers ViewersObservables observeCheckedElements
@Deprecated public static IViewerObservableSet observeCheckedElements(CheckboxTreeViewer viewer, Object elementType)
From source file:ccw.preferences.HoverPreferencePage.java
License:Open Source License
protected DataBindingContext initDataBindings() { final DataBindingContext context = new DataBindingContext(); // Page Support PreferencePageSupport.create(this, context); // /////////////////////////// // Label/Content providers \\ // /////////////////////////// ObservableListContentProvider contentProvider = new ObservableListContentProvider(); IObservableMap[] columnsObservables = Properties.observeEach(contentProvider.getKnownElements(), HoverViewModel.hoverDisplayDomain); ObservableMapLabelProvider labelProvider = new ObservableMapLabelProvider(columnsObservables); fHoverTableViewer.setLabelProvider(labelProvider); fHoverTableViewer.setContentProvider(contentProvider); fHoverTableViewer.setInput(fViewModel.hoverObservableList); ////////////////////////// // Selected hover logic \\ ////////////////////////// final IObservableValue selectedHover = ViewersObservables.observeSingleSelection(fHoverTableViewer); final IObservableValue isHoverSelected = new ComputedValue(Boolean.TYPE) { @Override/*from www .ja v a2s.c om*/ protected Object calculate() { return Boolean.valueOf(selectedHover.getValue() != null); } }; context.bindValue(WidgetProperties.enabled().observe(fGrpSummary), isHoverSelected); context.bindValue(WidgetProperties.enabled().observe(fSummaryHoverModifierStringText), isHoverSelected); final IObservableValue stateMaskOfSelected = HoverViewModel.hoverStateMask.observeDetail(selectedHover); final IObservableValue modifierStringOfSelected = HoverViewModel.hoverModifierString .observeDetail(selectedHover); final UpdateValueStrategy modifierStringStrategyConvert = new UpdateValueStrategy( UpdateValueStrategy.POLICY_CONVERT); modifierStringStrategyConvert.setConverter(new HoverViewModel.StateMaskToModifierConverter()); final Binding stateMaskToModifierBinding = context.bindValue(modifierStringOfSelected, stateMaskOfSelected, new UpdateValueStrategy(UpdateValueStrategy.POLICY_NEVER), modifierStringStrategyConvert); if (!fViewModel.hoverObservableList.isEmpty()) { selectedHover.setValue(fViewModel.hoverObservableList.get(0)); } ////////////////////// // Validation logic \\ ////////////////////// MultiValidator validator = new MultiValidator() { @Override protected IStatus validate() { IStatus status = ValidationStatus.ok(); if (isHoverSelected.getValue() == Boolean.TRUE) { status = fViewModel.stateMaskValidator.validate(stateMaskOfSelected.getValue()); } if (status.isOK()) { Iterator<HoverDescriptor> it = fViewModel.checkedSet.iterator(); while (it.hasNext()) { int stateMask = it.next().getStateMask(); if (!fViewModel.isStateMaskUnique(stateMask)) { status = fViewModel.stateMaskError(stateMask); } } } return status; } }; context.addValidationStatusProvider(validator); ////////////////////////// // Checked hovers logic \\ ////////////////////////// // AR - because of some ordering issue problem, I am disabling the automatic // update from model to target of the checked hovers and... final UpdateSetStrategy checkedModelToTargetStrategy = new UpdateSetStrategy( UpdateValueStrategy.POLICY_ON_REQUEST); // AR - ... add an explicit binding that will be needed... final Binding checkedBindSet = context.bindSet( ViewersObservables.observeCheckedElements(fHoverTableViewer, HoverDescriptor.class), fViewModel.checkedSet, null, checkedModelToTargetStrategy); // AR - ...to manually trigger the update when new elements are added to the provider... IObservableSet realizedElements = contentProvider.getRealizedElements(); realizedElements.addChangeListener(new IChangeListener() { @Override public void handleChange(ChangeEvent event) { checkedBindSet.updateModelToTarget(); } }); ///////////////// // UI Bindings \\ ///////////////// EditingSupport modifierEditorSupport = ObservableValueEditingSupport.create(fHoverTableViewer, context, fHoverModifierStringTextCellEditor, CellEditorProperties.control().value(WidgetProperties.text(SWT.Modify)), HoverViewModel.hoverModifierString); fModifierTableViewerColumn.setEditingSupport(modifierEditorSupport); final UpdateValueStrategy statusMaskToModifierStrategy = new UpdateValueStrategy(); statusMaskToModifierStrategy.setConverter(new HoverViewModel.StateMaskToModifierConverter()); final UpdateValueStrategy modifierToStatusMaskStrategy = new UpdateValueStrategy(); modifierToStatusMaskStrategy.setConverter(new HoverViewModel.ModifierToStateMaskConverter()); context.bindValue(WidgetProperties.text().observe(fSummaryHoverNameLabel), HoverViewModel.hoverLabel.observeDetail(selectedHover)); context.bindValue(WidgetProperties.text().observe(fSummaryHoverDescriptionLabel), HoverViewModel.hoverDescription.observeDetail(selectedHover)); context.bindValue(WidgetProperties.text().observe(fSummaryHoverModifierStringText), HoverViewModel.hoverStateMask.observeDetail(selectedHover), modifierToStatusMaskStrategy, statusMaskToModifierStrategy); KeyListener stateMaskKeyListener = new KeyListener() { public void keyPressed(KeyEvent e) { boolean isPressedKeyModifier = e.keyCode > 0 && e.character == 0 && (e.keyCode & SWT.MODIFIER_MASK) != 0; boolean isStateKeyModifier = e.stateMask > 0 && (e.stateMask & SWT.MODIFIER_MASK) != 0; int mask = SWT.NONE; if (isPressedKeyModifier) { mask = e.keyCode; if (isStateKeyModifier) { mask |= e.stateMask; } stateMaskOfSelected.setValue(mask); stateMaskToModifierBinding.updateModelToTarget(); } } public void keyReleased(KeyEvent e) { if (e.keyCode == SWT.BS || e.keyCode == SWT.DEL) { stateMaskOfSelected.setValue(SWT.NONE); stateMaskToModifierBinding.updateModelToTarget(); } } }; fHoverModifierStringTextCellEditor.getControl().addKeyListener(stateMaskKeyListener); fSummaryHoverModifierStringText.addKeyListener(stateMaskKeyListener); return context; }
From source file:ch.acanda.eclipse.pmd.properties.RuleSetConfigurationTable.java
License:Open Source License
private void initDataBindings() { final DataBindingContext bindingContext = new DataBindingContext(); ////from w w w . j av a2 s . com final ObservableListContentProvider listContentProvider = new ObservableListContentProvider(); tableViewer.setContentProvider(listContentProvider); // final IObservableList ruleSetsObserveList = BeansObservables.observeList(Realm.getDefault(), model, "ruleSets"); tableViewer.setInput(ruleSetsObserveList); // final IObservableValue tableObserveEnabledObserveWidget = SWTObservables.observeEnabled(table); final IObservableValue modelPMDEnabledObserveValue = BeansObservables.observeValue(model, "PMDEnabled"); bindingContext.bindValue(tableObserveEnabledObserveWidget, modelPMDEnabledObserveValue, null, null); // final IObservableList tableViewerObserveMultiSelection = ViewersObservables .observeMultiSelection(tableViewer); final IObservableList selectedRuleSetsObserveList = BeansObservables.observeList(Realm.getDefault(), model, "selectedRuleSets"); bindingContext.bindList(tableViewerObserveMultiSelection, selectedRuleSetsObserveList, null, null); // final IObservableSet tableViewerObserveCheckedElements = ViewersObservables .observeCheckedElements(tableViewer, RuleSetViewModel.class); final IObservableSet activeConfigurationsObserveSet = BeansObservables.observeSet(Realm.getDefault(), model, "activeRuleSets"); bindingContext.bindSet(tableViewerObserveCheckedElements, activeConfigurationsObserveSet, null, null); }
From source file:com.htmlhifive.tools.jslint.view.TargetStructureComposite.java
License:Apache License
/** * ???.// w w w . jav a 2s . c o m */ private void initialDataBinding() { context = new DataBindingContext(); // ?????. IObservableSet obsCheckedElemInternalLibTableViewer = ViewersObservables .observeCheckedElements(tableViewerInternalLib, String.class); IObservableSet obsCheckedInternalLibElemModel = BeansObservables.observeSet(model, "checkedInternalLibElement"); context.bindSet(obsCheckedElemInternalLibTableViewer, obsCheckedInternalLibElemModel, null, null); // ?????. IObservableSet obsCheckedElemExternalLibTableViewer = ViewersObservables .observeCheckedElements(tableViewerExternalLib, String.class); IObservableSet obsCheckedExternalLibElemModel = BeansObservables.observeSet(model, "checkedExternalLibElement"); context.bindSet(obsCheckedElemExternalLibTableViewer, obsCheckedExternalLibElemModel, null, null); }
From source file:de.walware.ecommons.ui.dialogs.AbstractCheckboxSelectionDialog.java
License:Open Source License
@Override protected void addBindings(final DataBindingSupport db) { db.getContext().bindSet(ViewersObservables.observeCheckedElements(fViewer, null), fCheckedValue); }
From source file:de.walware.statet.r.internal.console.ui.launching.RConsoleOptionsTab.java
License:Open Source License
@Override protected void addBindings(final DataBindingContext dbc, final Realm realm) { fPinValue = new WritableValue(realm, Boolean.class); dbc.bindValue(SWTObservables.observeSelection(fPinControl), fPinValue, null, null); fTrackingList = new WritableList(realm, new ArrayList<Object>(), TrackingConfiguration.class); fTrackingTable.setContentProvider(new ObservableListContentProvider()); fTrackingTable.setInput(fTrackingList); fStartupSnippetValue = new WritableValue(realm, String.class); dbc.bindValue(new SnippetEditorObservable(realm, fStartupSnippetEditor, SWT.Modify), fStartupSnippetValue, null, null);/*w ww . j a va 2 s . co m*/ fRHelpByStatetValue = new WritableValue(realm, Boolean.class); fRGraphicsByStatetValue = new WritableValue(realm, Boolean.class); fRDbgExtValue = new WritableValue(realm, Boolean.class); dbc.bindValue(SWTObservables.observeSelection(fRHelpByStatetControl), fRHelpByStatetValue, null, null); dbc.bindValue(SWTObservables.observeSelection(fRGraphicsByStatetControl), fRGraphicsByStatetValue, null, null); dbc.bindValue(SWTObservables.observeSelection(fRDbgExtControl), fRDbgExtValue, null, null); fObjectDBEnabledValue = new WritableValue(realm, Boolean.class); fObjectDBAutoEnabledValue = new WritableValue(realm, Boolean.class); fObjectDBListsChildrenValue = new WritableValue(realm, Integer.class); fObjectDBEnvsChildrenValue = new WritableValue(realm, Integer.class); final ISWTObservableValue dbObs = SWTObservables.observeSelection(fObjectDBEnabledControl); dbc.bindValue(dbObs, fObjectDBEnabledValue, null, null); dbc.bindValue(SWTObservables.observeSelection(fObjectDBAutoEnabledControl), fObjectDBAutoEnabledValue, null, null); dbc.bindValue(SWTObservables.observeText(fObjectDBListsChildrenControl, SWT.Modify), fObjectDBListsChildrenValue, new UpdateValueStrategy().setAfterGetValidator(new IntegerValidator(100, Integer.MAX_VALUE, "Invalid max value for length of R lists to fetch (100-).")), null); dbc.bindValue(SWTObservables.observeText(fObjectDBEnvsChildrenControl, SWT.Modify), fObjectDBEnvsChildrenValue, new UpdateValueStrategy().setAfterGetValidator(new IntegerValidator(100, Integer.MAX_VALUE, "Invalid max value for length of R environments to fetch (100-).")), null); dbc.bindValue(new SWTMultiEnabledObservable(realm, new Control[] { fObjectDBAutoEnabledControl, fObjectDBEnvsChildrenControl, fObjectDBListsChildrenControl, }, null), dbObs, null, null); fTrackingButtons.connectTo(fTrackingTable, new DataAdapter.ListAdapter<TrackingConfiguration>(fTrackingList, null) { @Override public boolean isDeleteAllowed(final Object element) { return (super.isDeleteAllowed(element) && ((TrackingConfiguration) element).getId().startsWith(CUSTOM_TRACKING_ID_PREFIX)); } }); fTrackingEnabledSet = new WritableSet(realm, new HashSet<Object>(), TrackingConfiguration.class); fTrackingButtons.setCheckedModel(fTrackingEnabledSet); dbc.bindSet(ViewersObservables.observeCheckedElements(fTrackingTable, TrackingConfiguration.class), fTrackingEnabledSet); }
From source file:de.walware.statet.r.internal.ui.datafilterview.LevelClient.java
License:Open Source License
@Override protected void addBindings(final DataBindingSupport db) { db.getContext().bindSet(ViewersObservables.observeCheckedElements(fValueListViewer, Object.class), fSelectedValues, new UpdateSetStrategy().setConverter(UI2RStoreConverter.INSTANCE), new UpdateSetStrategy().setConverter(RStore2UIConverter.INSTANCE)); }
From source file:de.walware.statet.r.internal.ui.datafilterview.TextClient.java
License:Open Source License
@Override protected void addBindings(final DataBindingSupport db) { db.getContext().bindSet(ViewersObservables.observeCheckedElements(fValueListViewer, Object.class), fSelectedValueSet, new UpdateSetStrategy().setConverter(UI2RStoreConverter.INSTANCE), new UpdateSetStrategy().setConverter(RStore2UIConverter.INSTANCE)); }
From source file:de.walware.statet.r.internal.ui.pkgmanager.PkgTab.java
License:Open Source License
void addBinding(final DataBindingSupport db) { fFilterPrioritySet = new WritableSet(db.getRealm(), Collections.EMPTY_SET, String.class); db.getContext().bindSet(ViewersObservables.observeCheckedElements(fFilterPriorityTable, String.class), fFilterPrioritySet);/* ww w .j a v a2 s.c o m*/ new AutoCheckController(fFilterPriorityTable, fFilterPrioritySet); fFilterRViewsSet = new WritableSet(db.getRealm(), Collections.EMPTY_SET, IRView.class); db.getContext().bindSet(ViewersObservables.observeCheckedElements(fFilterRViewsTable, IRView.class), fFilterRViewsSet); new AutoCheckController(fFilterRViewsTable, fFilterRViewsSet); fFilterController = new TableFilterController(fPkgTable.viewer); fFilterController.addFilter(new InstalledFilter()); { // Priority final SetElementFilter filter = new SetElementFilter() { @Override protected boolean select(final Collection<?> set, final Object element) { final String name = (String) element; if (Util.hasPkgPriority(fPkgSet.getAvailable(), name, set)) { return true; } if (Util.hasPkgPriority(fPkgSet.getInstalled(), name, set)) { return true; } return false; } }; fFilterController.addFilter(filter); new ObservableSetBinding(fFilterController, fFilterPrioritySet, filter) { @Override protected java.util.Collection<?> getAll() { return fPkgSet.getPriorities(); } }; } { // Task Views final SetElementFilter filter = new SetElementFilter(); fFilterController.addFilter(filter); new ObservableSetBinding(fFilterController, fFilterRViewsSet, filter) { @Override protected Collection<?> createFilterSet(final Collection<?> set) { final Set<String> pkgNames = new HashSet<String>(set.size() * 50); for (final IRView view : (Collection<? extends IRView>) set) { pkgNames.addAll(view.getPkgList()); } return pkgNames; } }; } { final TextElementFilter filter = new TextElementFilter(); fFilterController.addFilter(filter); new SearchTextBinding(fFilterText, fFilterController, filter); } fFilterController.addListener(new TableFilterController.Listener() { @Override public void inputUpdated(final boolean newInput) { if (newInput) { fSelectedPkgVersion = null; updateDetail(); } } }); fPkgTable.viewer.addPostSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(final SelectionChangedEvent event) { final List<?> list = ((IStructuredSelection) event.getSelection()).toList(); doUpdateDetail(list.toArray(new String[list.size()])); } }); fDetailTable.viewer.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(final SelectionChangedEvent event) { final ITreeSelection treeSelection = (ITreeSelection) event.getSelection(); final Object element = treeSelection.getFirstElement(); updateDetailDetail((element instanceof IRPkgData) ? treeSelection.getPaths()[0] : null); } }); }
From source file:de.walware.statet.r.internal.ui.pkgmanager.RepoTab.java
License:Open Source License
void addBindings(final DataBindingSupport db) { fSelectedRepos = new WritableSet(db.getRealm(), Collections.EMPTY_SET, RRepo.class); fSelectedCRAN = new WritableValue(db.getRealm(), null, RRepo.class); fSelectedBioC = new WritableValue(db.getRealm(), null, RRepo.class); db.getContext().bindSet(ViewersObservables.observeCheckedElements(fRepoTable, RRepo.class), fSelectedRepos); db.getContext().bindValue(ViewersObservables.observeSingleSelection(fCRANTable), fSelectedCRAN); db.getContext().bindValue(ViewersObservables.observeSingleSelection(fBioCTable), fSelectedBioC); fSelectedRepos.addChangeListener(fDialog); fSelectedCRAN.addChangeListener(fDialog); fSelectedBioC.addChangeListener(fDialog); }
From source file:gov.redhawk.ide.codegen.frontend.ui.wizard.SelectFrontEndTunerPropsDialog.java
License:Open Source License
private void createTable(Composite client) { theTableViewer = FrontEndDeviceUIUtils.INSTANCE.getCheckboxTableViewer(client); theTableViewer.setInput(this.input); context.bindSet(ViewersObservables.observeCheckedElements(theTableViewer, FrontEndProp.class), this.output); }