List of usage examples for org.eclipse.jface.databinding.viewers ObservableListContentProvider ObservableListContentProvider
public ObservableListContentProvider()
From source file:at.bestsolution.e4.addressbook.ui.swt.AddressForm.java
License:Open Source License
public void init(AddressBook book) { {/*from w w w .j av a2s . c om*/ IEMFListProperty mProp = EMFProperties.list(AddressbookPackage.Literals.ADDRESS_BOOK__COUNTRIES); IValueProperty props = EMFProperties.value(AddressbookPackage.Literals.COUNTRY__NAME); v_country = new ComboViewer(w_country); ObservableListContentProvider cp = new ObservableListContentProvider(); v_country.setContentProvider(cp); v_country.setLabelProvider(new ObservableMapLabelProvider(props.observeDetail(cp.getKnownElements()))); v_country.setInput(mProp.observe(book)); } { IObservableValue value = ViewerProperties.singleSelection().observe(v_country); IEMFListProperty mProp = EMFProperties.list(AddressbookPackage.Literals.COUNTRY__FEDERAL_STATES); IValueProperty props = EMFProperties.value(AddressbookPackage.Literals.FEDERAL_STATE__NAME); value.addValueChangeListener(new IValueChangeListener() { @Override public void handleValueChange(ValueChangeEvent event) { if (stateBinding != null) { stateBinding.dispose(); stateBinding = null; } } }); v_state = new ComboViewer(w_state); ObservableListContentProvider cp = new ObservableListContentProvider(); v_state.setContentProvider(cp); v_state.setLabelProvider(new ObservableMapLabelProvider(props.observeDetail(cp.getKnownElements()))); v_state.setInput(mProp.observeDetail(value)); value.addValueChangeListener(new IValueChangeListener() { @Override public void handleValueChange(ValueChangeEvent event) { if (stateBinding == null && dbc != null && master != null) { bindState(); } } }); } }
From source file:at.bestsolution.e4.addressbook.ui.swt.PersonList.java
License:Open Source License
@PostConstruct void init(AddressBook book, final PersonSelectionPublisher personService) { {//from w w w. jav a2 s. c om IEMFListProperty mProp = EMFProperties.list(AddressbookPackage.Literals.ADDRESS_BOOK__PERSONS); final TableViewer viewer = new TableViewer(w_list); ObservableListContentProvider cp = new ObservableListContentProvider(); viewer.setContentProvider(cp); IObservableMap[] map = { EMFProperties.value(AddressbookPackage.Literals.PERSON__FIRSTNAME) .observeDetail(cp.getKnownElements()), EMFProperties.value(AddressbookPackage.Literals.PERSON__LASTNAME) .observeDetail(cp.getKnownElements()) }; viewer.setLabelProvider(new ObservableMapLabelProvider(map) { @Override public String getColumnText(Object element, int columnIndex) { Person object = (Person) element; return object == null ? "" : object.getFirstname() + " " + object.getLastname(); } }); final IObservableList list = mProp.observe(book); viewer.setInput(list); list.addListChangeListener(new IListChangeListener() { @Override public void handleListChange(ListChangeEvent event) { event.diff.accept(new ListDiffVisitor() { @Override public void handleRemove(int index, Object element) { if (list.size() == 0) { return; } if (list.size() > index - 1 && viewer.getSelection().isEmpty()) { if (index - 1 >= 0) { index--; } else { index = 0; } viewer.setSelection(new StructuredSelection(list.get(index))); } } @Override public void handleAdd(int index, Object element) { viewer.setSelection(new StructuredSelection(element)); } }); } }); ViewerProperties.singleSelection().observe(viewer).addValueChangeListener(new IValueChangeListener() { @Override public void handleValueChange(ValueChangeEvent event) { personService.setPerson((Person) event.diff.getNewValue()); } }); if (list.size() > 0) { viewer.setSelection(new StructuredSelection(list.get(0))); } } }
From source file:at.bestsolution.translate.view.TranslatorComponent.java
License:Open Source License
private void createUI(Composite parent) { GridLayout layout = new GridLayout(2, false); parent.setLayout(layout);//from w w w. j a v a 2 s. c om Label l = new Label(parent, SWT.NONE); l.setLayoutData(new GridData(GridData.FILL, GridData.BEGINNING, true, false, 2, 1)); l.setText("Translator"); l = new Label(parent, SWT.SEPARATOR | SWT.HORIZONTAL); l.setLayoutData(new GridData(GridData.FILL, GridData.BEGINNING, true, false, 2, 1)); l = new Label(parent, SWT.NONE); l.setText("Term"); term = new Text(parent, SWT.BORDER); term.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); l = new Label(parent, SWT.NONE); l.setText("Translator"); translator = new ComboViewer(parent); translator.getControl().setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); translator.setContentProvider(new ObservableListContentProvider()); translator.setLabelProvider(new LabelProvider() { @Override public String getText(Object element) { return ((ITranslator) element).getName(); } }); l = new Label(parent, SWT.NONE); l.setText("Source-Language"); final ComboViewer sourceLanguage = new ComboViewer(parent); sourceLanguage.getControl().setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); sourceLanguage.setContentProvider(new ObservableListContentProvider()); sourceLanguage.setLabelProvider(new LabelProvider() { @Override public String getText(Object element) { return ((TranslationLanguage) element).name; } }); IListProperty fromProp = PojoProperties.list("languages"); IValueProperty selectionProp = ViewerProperties.singleSelection(); IObservableList input = fromProp.observeDetail(selectionProp.observe(translator)); sourceLanguage.setInput(input); l = new Label(parent, SWT.NONE); l.setText("Target-Language"); final ComboViewer targetLanguage = new ComboViewer(parent); targetLanguage.getControl().setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); targetLanguage.setContentProvider(new ObservableListContentProvider()); targetLanguage.setLabelProvider(new LabelProvider()); IListProperty targetsProp = PojoProperties.list("targets"); input = targetsProp.observeDetail(selectionProp.observe(sourceLanguage)); targetLanguage.setInput(input); Button b = new Button(parent, SWT.PUSH); b.setText("Translate"); b.setLayoutData(new GridData(GridData.END, GridData.CENTER, false, false, 2, 1)); l = new Label(parent, SWT.SEPARATOR | SWT.HORIZONTAL); l.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false, 2, 1)); l = new Label(parent, SWT.NONE); l.setText("Translation"); final Label translation = new Label(parent, SWT.NONE); translation.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); b.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { IStructuredSelection transSelection = (IStructuredSelection) translator.getSelection(); IStructuredSelection sourceSelection = (IStructuredSelection) sourceLanguage.getSelection(); IStructuredSelection targetSelection = (IStructuredSelection) targetLanguage.getSelection(); if (!transSelection.isEmpty() && !sourceSelection.isEmpty()) { try { String trans = ((ITranslator) transSelection.getFirstElement()).translate( ((TranslationLanguage) sourceSelection.getFirstElement()).name, (String) targetSelection.getFirstElement(), term.getText()); translation.setText(trans); } catch (InvocationTargetException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } } } }); }
From source file:au.gov.ga.earthsci.bookmark.part.BookmarksPart.java
License:Apache License
private void initCombo(Composite parent) { bookmarkListsComboViewer = new ComboViewer(parent, SWT.READ_ONLY | SWT.DROP_DOWN); GridData gd = new GridData(GridData.FILL_HORIZONTAL); gd.grabExcessHorizontalSpace = true; gd.grabExcessVerticalSpace = false;/*from ww w . j a v a2 s . com*/ bookmarkListsComboViewer.getCombo().setLayoutData(gd); bookmarkListsComboViewer.setLabelProvider(new LabelProvider() { @Override public String getText(Object element) { if (!(element instanceof IBookmarkList)) { return super.getText(element); } return ((IBookmarkList) element).getName(); } }); // Trigger a label refresh if a list name changes etc. ObservableListContentProvider contentProvider = new ObservableListContentProvider(); IObservableMap nameMap = BeanProperties.value("name").observeDetail(contentProvider.getKnownElements()); //$NON-NLS-1$ nameMap.addMapChangeListener(new IMapChangeListener() { @Override public void handleMapChange(MapChangeEvent event) { for (Object key : event.diff.getChangedKeys()) { bookmarkListsComboViewer.refresh(key, true); } } }); bookmarkListsComboViewer.setContentProvider(contentProvider); bookmarkListsComboViewer.setInput(BeanProperties.list("lists").observe(bookmarks)); //$NON-NLS-1$ bookmarkListsComboViewer.setSelection(new StructuredSelection(bookmarks.getDefaultList())); bookmarkListsComboViewer.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { controller.setCurrentList(getSelectedBookmarkList()); } }); }
From source file:au.gov.ga.earthsci.bookmark.part.BookmarksPart.java
License:Apache License
private void initList(Composite parent) { Composite tableHolder = new Composite(parent, SWT.NONE); GridData gd = new GridData(GridData.FILL_BOTH); gd.grabExcessHorizontalSpace = true; gd.grabExcessVerticalSpace = true;/*from www . ja v a2 s. c o m*/ gd.horizontalAlignment = GridData.FILL; tableHolder.setLayoutData(gd); TableColumnLayout layout = new TableColumnLayout(); tableHolder.setLayout(layout); bookmarkListTableViewer = new TableViewer(tableHolder, SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER | SWT.MULTI | SWT.FULL_SELECTION); bookmarkListTableViewer.getTable().setHeaderVisible(false); bookmarkListTableViewer.getTable().setLinesVisible(false); bookmarkListTableViewer.getTable().setLayoutData(gd); ObservableListContentProvider contentProvider = new ObservableListContentProvider(); bookmarkListTableViewer.setContentProvider(contentProvider); IObservableMap labelMap = BeanProperties.value("name").observeDetail(contentProvider.getKnownElements()); //$NON-NLS-1$ TableViewerColumn column = new TableViewerColumn(bookmarkListTableViewer, SWT.LEFT); column.setEditingSupport(new BookmarkNameEditingSupport(bookmarkListTableViewer)); column.setLabelProvider(new ObservableMapCellLabelProvider(labelMap) { @Override public void update(ViewerCell cell) { super.update(cell); cell.setText(" " + ((IBookmark) cell.getElement()).getName()); //$NON-NLS-1$ cell.setImage(ImageRegistry.getInstance().get(ImageRegistry.ICON_BOOKMARKS)); } }); ColumnLayoutData cld = new ColumnWeightData(12); layout.setColumnData(column.getColumn(), cld); // Allow edit (rename) only via programmatic access (rename command) ColumnViewerEditorActivationStrategy activationStrategy = new ColumnViewerEditorActivationStrategy( bookmarkListTableViewer) { @Override protected boolean isEditorActivationEvent(ColumnViewerEditorActivationEvent event) { return event.eventType == ColumnViewerEditorActivationEvent.PROGRAMMATIC; } }; TableViewerEditor.create(bookmarkListTableViewer, activationStrategy, ColumnViewerEditor.KEYBOARD_ACTIVATION); // Populate the current selection with the actual bookmark items bookmarkListTableViewer.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { IStructuredSelection selection = (IStructuredSelection) bookmarkListTableViewer.getSelection(); List<?> list = selection.toList(); selectionService.setSelection(list.toArray(new IBookmark[list.size()])); } }); // Apply the bookmark on double click bookmarkListTableViewer.addDoubleClickListener(new IDoubleClickListener() { @Override public void doubleClick(DoubleClickEvent event) { controller.apply((IBookmark) ((IStructuredSelection) event.getSelection()).getFirstElement()); } }); // Deselect when clicking outside a valid row bookmarkListTableViewer.getTable().addMouseListener(new MouseAdapter() { @Override public void mouseUp(MouseEvent e) { if (bookmarkListTableViewer.getTable().getItem(new Point(e.x, e.y)) == null) { bookmarkListTableViewer.setSelection(null); } } }); }
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 ww w .j a v a 2 s . c o m 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(); //// w w w. j av a2 s . c om 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:ch.acanda.eclipse.pmd.wizard.AddRuleSetConfigurationWizardPage.java
License:Open Source License
private DataBindingContext initDataBindings() { final DataBindingContext bindingContext = new DataBindingContext(); ///* w ww. j a v a 2 s . com*/ final IObservableValue locationObserveText = SWTObservables.observeDelayedValue(200, SWTObservables.observeText(location, SWT.Modify)); final IObservableValue locationObserveValue = BeansObservables.observeValue(controller.getModel(), "location"); bindingContext.bindValue(locationObserveText, locationObserveValue, null, null); // final ObservableListContentProvider rulesContentProvider = new ObservableListContentProvider(); final IObservableMap rulesObserveMap = PojoObservables.observeMap(rulesContentProvider.getKnownElements(), Rule.class, "name"); tableViewer.setLabelProvider(new ObservableMapLabelProvider(rulesObserveMap)); tableViewer.setContentProvider(rulesContentProvider); // final IObservableList rulesObserveList = BeansObservables.observeList(Realm.getDefault(), controller.getModel(), "rules"); tableViewer.setInput(rulesObserveList); // final IObservableValue nameObserveTextObserveWidget = SWTObservables.observeDelayedValue(100, SWTObservables.observeText(name, SWT.Modify)); final IObservableValue controllergetModelNameObserveValue = BeansObservables .observeValue(controller.getModel(), "name"); bindingContext.bindValue(nameObserveTextObserveWidget, controllergetModelNameObserveValue, null, null); // final IObservableValue observeVisibleBrowseObserveWidget = WidgetProperties.visible().observe(browse); final IObservableValue browseEnabledControllergetModelObserveValue = BeanProperties.value("browseEnabled") .observe(controller.getModel()); bindingContext.bindValue(observeVisibleBrowseObserveWidget, browseEnabledControllergetModelObserveValue, null, null); // return bindingContext; }
From source file:ch.elexis.core.ui.contacts.views.ContactSelectorView.java
License:Open Source License
public ContactSelectorView() { contactList = new WritableList(); contentProvider = new ObservableListContentProvider(); filterPositionTitle = new KontaktAnzeigeTextFieldViewerFilter(); loadContactsRunnable = new LoadContactsRunnable(); }
From source file:com.hibouhome.rcp.spikes.databinding.parts.StockistsPart.java
License:Open Source License
private void createCountriesListViewer(final Composite parent) { countriesListViewer = new ListViewer(parent); countriesListViewer.getList().setLayoutData(new GridData(60, 300)); countriesListViewer.setLabelProvider(new LabelProvider() { @Override/*from w w w . j av a 2 s . c om*/ public String getText(final Object element) { return ((Country) element).getName(); } }); countriesListViewer.setContentProvider(new ObservableListContentProvider()); final IEMFListProperty countriesProperty = EMFProperties .list(StockistsPackage.Literals.STOCKISTS__COUNTRIES); countriesListViewer.setInput(countriesProperty.observe(stockists)); }