List of usage examples for org.eclipse.jface.databinding.swt SWTObservables observeText
@Deprecated public static ISWTObservableValue observeText(Control control)
control
. From source file:org.eclipse.emf.ecp.view.custom.ui.swt.test.ECPAbstractCustomControlSWTTest.java
License:Open Source License
@Test public void testBindTargetToModel() { final VDomainModelReference bundleFeature = getFeature(customControl.getResolvedReferences(), VCustomPackage.eINSTANCE.getHardcodedDomainModelReference_ControlId(), true); customControl.createControls(testComposite); final Label label = (Label) testComposite.getChildren()[0]; final IObservableValue obsValue = SWTObservables.observeText(label); customControl.bindTargetToModel(bundleFeature, obsValue, null, null); // bundleFeature.bindTargetToModel(obsValue, null, null); // bundleFeature.setValue("testtesttest"); customControl.setValue(bundleFeature, "testtesttest"); assertEquals("testtesttest", label.getText()); }
From source file:org.eclipse.emf.examples.library.databinding.writer.WriterForm.java
License:Open Source License
@Override public void doCreateForm(TabFolder folder, TabItem item, final EditingDomain domain, DataBindingContext dbc, IObservableValue master) {/*from w w w . ja va2 s.com*/ IValueProperty textProp = WidgetProperties.text(); dbc.bindValue(textProp.observe(item), EMFEditObservables.observeDetailValue(Realm.getDefault(), domain, master, EXTLibraryPackage.Literals.LIBRARY__WRITERS), new UpdateValueStrategy(), new UpdateValueStrategy().setConverter(new LengthConverter())); Composite comp = new Composite(folder, SWT.NONE); TableColumnLayout layout = new TableColumnLayout(); comp.setLayout(layout); writerViewer = new TableViewer(comp, SWT.FULL_SELECTION | SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL); writerViewer.getTable().setHeaderVisible(true); writerViewer.getTable().setLinesVisible(true); Color color = comp.getDisplay().getSystemColor(SWT.COLOR_LIST_SELECTION); final Color bg = new Color(comp.getDisplay(), new RGB(color.getRed() - 50, color.getGreen() - 50, color.getBlue() - 50)); writerViewer.getControl().addDisposeListener(new DisposeListener() { public void widgetDisposed(DisposeEvent e) { bg.dispose(); } }); TableViewerFocusCellManager focusCellManager = new TableViewerFocusCellManager(writerViewer, new FocusCellOwnerDrawHighlighter(writerViewer) { @Override protected Color getSelectedCellBackgroundColor(ViewerCell cell) { return bg; } }); ColumnViewerEditorActivationStrategy actSupport = new ColumnViewerEditorActivationStrategy(writerViewer) { protected boolean isEditorActivationEvent(ColumnViewerEditorActivationEvent event) { boolean rv = false; if (event.eventType == ColumnViewerEditorActivationEvent.MOUSE_CLICK_SELECTION) { rv = (((MouseEvent) event.sourceEvent).stateMask & SWT.MOD1) == SWT.MOD1; } return rv || event.eventType == ColumnViewerEditorActivationEvent.TRAVERSAL || (event.eventType == ColumnViewerEditorActivationEvent.KEY_PRESSED && event.keyCode == SWT.CR) || event.eventType == ColumnViewerEditorActivationEvent.PROGRAMMATIC; } }; TableViewerEditor.create(writerViewer, focusCellManager, actSupport, ColumnViewerEditor.TABBING_HORIZONTAL //| ColumnViewerEditor.TABBING_MOVE_TO_ROW_NEIGHBOR | ColumnViewerEditor.TABBING_VERTICAL | ColumnViewerEditor.KEYBOARD_ACTIVATION); IFocusService focusService = (IFocusService) getSite().getService(IFocusService.class); focusService.addFocusTracker(writerViewer.getControl(), WRITER_TABLE); ObservableListContentProvider cp = new ObservableListContentProvider(); writerViewer.setContentProvider(cp); ConditionalTemplate[] tpl = new ConditionalTemplate[3]; tpl[0] = new ConditionalTemplate("${0}") { @Override public boolean isTemplate(EObject element) { return element instanceof Writer && ((Writer) element).getFirstName() != null; } }; tpl[1] = new ConditionalTemplate("${0}") { @Override public boolean isTemplate(EObject element) { return element instanceof Writer && ((Writer) element).getLastName() != null; } }; tpl[2] = new ConditionalTemplate("-") { @Override public boolean isTemplate(EObject element) { return true; } }; EStructuralFeature[] features = new EStructuralFeature[2]; features[0] = EXTLibraryPackage.Literals.PERSON__FIRST_NAME; features[1] = EXTLibraryPackage.Literals.PERSON__LAST_NAME; IObservableMap[] map = EMFEditObservables.observeMaps(domain, cp.getKnownElements(), features); TableViewerColumn c = new TableViewerColumn(writerViewer, SWT.NONE); c.getColumn().setText("Firstname"); layout.setColumnData(c.getColumn(), new ColumnWeightData(1, 120)); c.setLabelProvider( new ObservableColumnLabelProvider(new IObservableMap[] { map[0] }, Arrays.asList(tpl[0], tpl[2]))); final TextCellEditor editor = new TextCellEditor(writerViewer.getTable()); ObservableValueEditingSupport o = new ObservableValueEditingSupport(writerViewer, dbc) { @Override protected CellEditor getCellEditor(Object element) { return editor; } @Override protected IObservableValue doCreateElementObservable(Object element, ViewerCell cell) { return EMFEditObservables.observeValue(domain, (EObject) element, EXTLibraryPackage.Literals.PERSON__FIRST_NAME); } @Override protected IObservableValue doCreateCellEditorObservable(CellEditor cellEditor) { return SWTObservables.observeText(cellEditor.getControl()); } }; c.setEditingSupport(o); c = new TableViewerColumn(writerViewer, SWT.NONE); c.getColumn().setText("Lastname"); layout.setColumnData(c.getColumn(), new ColumnWeightData(1, 120)); c.setLabelProvider( new ObservableColumnLabelProvider(new IObservableMap[] { map[1] }, Arrays.asList(tpl[1], tpl[2]))); o = new ObservableValueEditingSupport(writerViewer, dbc) { @Override protected CellEditor getCellEditor(Object element) { return editor; } @Override protected IObservableValue doCreateElementObservable(Object element, ViewerCell cell) { return EMFEditObservables.observeValue(domain, (EObject) element, EXTLibraryPackage.Literals.PERSON__LAST_NAME); } @Override protected IObservableValue doCreateCellEditorObservable(CellEditor cellEditor) { return SWTObservables.observeText(cellEditor.getControl()); } }; c.setEditingSupport(o); MenuManager mgr = new MenuManager(); writerViewer.getControl().setMenu(mgr.createContextMenu(writerViewer.getControl())); getSite().registerContextMenu("org.eclipse.emf.examples.library.databinding.writer", mgr, writerViewer); writerViewer.setInput(EMFEditObservables.observeDetailList(Realm.getDefault(), domain, master, EXTLibraryPackage.Literals.LIBRARY__WRITERS)); item.setControl(comp); }
From source file:org.eclipse.etrice.ui.common.dialogs.AbstractPropertyDialog.java
License:Open Source License
@Override protected void createFormContent(IManagedForm mform) { toolkit = mform.getToolkit();//ww w .ja va2 s . c o m bindingContext = new DataBindingContext(); Form form = mform.getForm().getForm(); form.setText(title); form.setImage(getImage()); mform.getToolkit().decorateFormHeading(form); Composite body = form.getBody(); body.setLayout(new GridLayout(2, false)); body.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); validationLabel = toolkit.createLabel(body, "", SWT.NONE); validationLabel.setText("ERROR:"); validationLabel.setForeground(getShell().getDisplay().getSystemColor(SWT.COLOR_RED)); validationText = toolkit.createLabel(body, "", SWT.NONE); validationText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); createContent(mform, body, bindingContext); aggregateValidationStatus = new AggregateValidationStatus(bindingContext.getBindings(), AggregateValidationStatus.MAX_SEVERITY); bindingContext.bindValue(SWTObservables.observeText(validationText), aggregateValidationStatus, null, null); aggregateValidationStatus.addChangeListener(new IChangeListener() { public void handleChange(ChangeEvent event) { boolean ok = true; for (Object o : bindingContext.getBindings()) { Binding binding = (Binding) o; IStatus status = (IStatus) binding.getValidationStatus().getValue(); Control control = null; if (binding.getTarget() instanceof ISWTObservable) { ISWTObservable swtObservable = (ISWTObservable) binding.getTarget(); control = (Control) swtObservable.getWidget(); } ControlDecoration decoration = decoratorMap.get(control); if (decoration != null) { if (status.isOK()) { decoration.hide(); } else { ok = false; decoration.setDescriptionText(status.getMessage()); decoration.show(); } } } updateValidationFeedback(ok); } }); }
From source file:org.eclipse.etrice.ui.common.dialogs.AbstractPropertyDialog.java
License:Open Source License
protected Combo createCombo(Composite parent, String label, EObject obj, Object type, EReference ref, List<? extends EObject> candidates, EAttribute nameAttr, IValidator validator) { Label l = toolkit.createLabel(parent, label, SWT.NONE); l.setLayoutData(new GridData(SWT.NONE)); Combo combo = new Combo(parent, SWT.READ_ONLY); combo.setLayoutData(new GridData(SWT.HORIZONTAL)); combo.setVisibleItemCount(10);// ww w .j av a 2 s . co m toolkit.adapt(combo, true, true); Reference2StringConverter r2s = new Reference2StringConverter(type, nameAttr); for (EObject o : candidates) { combo.add((String) r2s.convert(o)); } String2ReferenceConverter s2r = new String2ReferenceConverter(type, candidates, nameAttr); UpdateValueStrategy t2m = new UpdateValueStrategy().setConverter(s2r); UpdateValueStrategy m2t = new UpdateValueStrategy().setConverter(r2s); if (validator != null) { t2m.setAfterConvertValidator(validator); t2m.setBeforeSetValidator(validator); m2t.setAfterConvertValidator(validator); m2t.setBeforeSetValidator(validator); } bindingContext.bindValue(SWTObservables.observeText(combo), PojoObservables.observeValue(obj, ref.getName()), t2m, m2t); return combo; }
From source file:org.eclipse.etrice.ui.common.dialogs.AbstractPropertyDialog.java
License:Open Source License
protected Combo createComboUsingDesc(Composite parent, String label, EObject obj, Object type, EReference ref, List<IEObjectDescription> candidates, EAttribute nameAttr, IValidator validator) { Label l = toolkit.createLabel(parent, label, SWT.NONE); l.setLayoutData(new GridData(SWT.NONE)); Combo combo = new Combo(parent, SWT.READ_ONLY); combo.setLayoutData(new GridData(SWT.HORIZONTAL)); combo.setVisibleItemCount(10);/*from w w w. j a v a 2s . c o m*/ toolkit.adapt(combo, true, true); DescriptionBased_Reference2StringConverter r2s = new DescriptionBased_Reference2StringConverter(type, nameAttr); for (IEObjectDescription desc : candidates) { combo.add(r2s.convert(desc).toString()); } DescriptionBased_String2ReferenceConverter s2r = new DescriptionBased_String2ReferenceConverter(type, obj, candidates); UpdateValueStrategy t2m = new UpdateValueStrategy().setConverter(s2r); UpdateValueStrategy m2t = new UpdateValueStrategy().setConverter(r2s); if (validator != null) { t2m.setAfterConvertValidator(validator); t2m.setBeforeSetValidator(validator); m2t.setAfterConvertValidator(validator); m2t.setBeforeSetValidator(validator); } bindingContext.bindValue(SWTObservables.observeText(combo), PojoObservables.observeValue(obj, ref.getName()), t2m, m2t); return combo; }
From source file:org.eclipse.jubula.client.ui.rcp.editors.ObjectMappingConfigComponent.java
License:Open Source License
/** * /* w w w . java 2 s .co m*/ * @param boundProperty The model property to use for databinding for * the created UI elements. * @param bindingContext The context to use for databinding for the created * UI elements. * @param factorScale Slider to bind. * @param factorText Label to bind. * @param lockCheckbox Checkbox to bind. * @param masterObservable Observable for the master element for which these * UI elements serve as detail. Essentially, the * created UI elements represent detailed * information about this element. * @param editor The editor containing the factor UI elements. */ private void bindFactor(String boundProperty, final DataBindingContext bindingContext, final Scale factorScale, Label factorText, Button lockCheckbox, IObservableValue masterObservable, IJBEditor editor) { IObservableValue uiElement = SWTObservables.observeSelection(factorScale); IObservableValue modelElement = BeansObservables.observeDetailValue(masterObservable, boundProperty, double.class); bindingContext.bindValue(uiElement, modelElement, new JBEditorUpdateValueStrategy(UpdateValueStrategy.POLICY_ON_REQUEST) .setConverter(m_sliderToModelConverter), new UpdateValueStrategy().setConverter(m_modelToSliderConverter)); uiElement = SWTObservables.observeText(factorText); bindingContext.bindValue(uiElement, modelElement, new UpdateValueStrategy().setConverter(m_labelToModelConverter), new UpdateValueStrategy().setConverter(m_modelToLabelConverter)); IObservableValue checkboxSelection = SWTObservables.observeSelection(lockCheckbox); uiElement = SWTObservables.observeEnabled(factorScale); bindingContext.bindValue(uiElement, masterObservable, new UpdateValueStrategy(UpdateValueStrategy.POLICY_NEVER), new UpdateValueStrategy().setConverter(m_modelToEnablementConverter)); bindingContext.bindValue(uiElement, checkboxSelection, new UpdateValueStrategy().setConverter(m_inverseBooleanConverter), new UpdateValueStrategy().setConverter(m_inverseBooleanConverter)); uiElement = SWTObservables.observeEnabled(factorText); bindingContext.bindValue(uiElement, masterObservable, new UpdateValueStrategy(UpdateValueStrategy.POLICY_NEVER), new UpdateValueStrategy().setConverter(m_modelToEnablementConverter)); bindingContext.bindValue(uiElement, checkboxSelection, new UpdateValueStrategy().setConverter(m_inverseBooleanConverter), new UpdateValueStrategy().setConverter(m_inverseBooleanConverter)); uiElement = SWTObservables.observeEnabled(lockCheckbox); bindingContext.bindValue(uiElement, masterObservable, new UpdateValueStrategy(UpdateValueStrategy.POLICY_NEVER), new UpdateValueStrategy().setConverter(m_modelToEnablementConverter)); }
From source file:org.eclipse.jubula.client.ui.rcp.editors.ObjectMappingConfigComponent.java
License:Open Source License
/** * Updates the binding between the given scale and its corresponding model * value. This is done by removing the old bindings and creating new ones. * /* w w w . j a va 2 s .c om*/ * @param boundProperty the property for the binding * @param bindingContext the binding context * @param factorScale the scale * @param masterObservable the observable */ private void updateBindFactor(String boundProperty, final DataBindingContext bindingContext, final Scale factorScale, IObservableValue masterObservable) { IObservableValue uiElement = SWTObservables.observeSelection(factorScale); IObservableValue modelElement = BeansObservables.observeDetailValue(masterObservable, boundProperty, double.class); removeBinding(uiElement, modelElement); bindingContext.bindValue(uiElement, modelElement, new JBEditorUpdateValueStrategy(UpdateValueStrategy.POLICY_ON_REQUEST) .setConverter(m_sliderToModelConverter), new UpdateValueStrategy().setConverter(m_modelToSliderConverter)); Label factorText = m_factorLabels.get(factorScale); uiElement = SWTObservables.observeText(factorText); removeBinding(uiElement, modelElement); bindingContext.bindValue(uiElement, modelElement, new UpdateValueStrategy().setConverter(m_labelToModelConverter), new UpdateValueStrategy().setConverter(m_modelToLabelConverter)); uiElement = SWTObservables.observeEnabled(factorScale); removeBinding(uiElement, masterObservable); bindingContext.bindValue(uiElement, masterObservable, new UpdateValueStrategy(UpdateValueStrategy.POLICY_NEVER), new UpdateValueStrategy().setConverter(m_modelToEnablementConverter)); }
From source file:org.eclipse.jubula.client.ui.rcp.editors.ObjectMappingConfigComponent.java
License:Open Source License
/** * Updates the binding for the threshold * @param bindingContext the binding context * @param masterObservable the model observable *//*from ww w .j ava 2s.c om*/ private void updateThresholdBind(final DataBindingContext bindingContext, IObservableValue masterObservable) { IObservableValue uiElement; IObservableValue modelElement; String boundProperty = IObjectMappingProfilePO.PROP_THRESHOLD; uiElement = SWTObservables.observeSelection(m_threshold); modelElement = BeansObservables.observeDetailValue(masterObservable, boundProperty, double.class); removeBinding(uiElement, masterObservable); bindingContext.bindValue(uiElement, modelElement, new UpdateValueStrategy().setConverter(m_sliderToModelConverter), new UpdateValueStrategy().setConverter(m_modelToSliderConverter)); uiElement = SWTObservables.observeText(m_thresholdText); removeBinding(uiElement, masterObservable); bindingContext.bindValue(uiElement, modelElement, new UpdateValueStrategy(UpdateValueStrategy.POLICY_NEVER), new UpdateValueStrategy().setConverter(m_modelToLabelConverter)); }
From source file:org.eclipse.jubula.client.ui.rcp.editors.ObjectMappingConfigComponent.java
License:Open Source License
/** * Creates the labels and slider for the Threshold property as * well as the corresponding data bindings. * //from www.j a v a2s . c o m * @param parent Parent of the created components. * @param bindingContext The data binding context. * @param masterObservable Observable value used to determine * which model object is currently * being observed in detail. */ private void createThresholdSlider(Composite parent, DataBindingContext bindingContext, IObservableValue masterObservable) { String boundProperty = IObjectMappingProfilePO.PROP_THRESHOLD; // create Widget Label label = new Label(parent, SWT.NONE); label.setText(Messages.ObjectMappingPreferencePageThreshold); m_threshold = new Scale(parent, SWT.NONE); m_threshold.setMinimum(0); m_threshold.setMaximum(HUNDRED_PERCENT); m_threshold.setIncrement(STEP); m_threshold.setPageIncrement(STEP); m_threshold.setLayoutData(GridDataFactory.fillDefaults().grab(true, false).create()); m_thresholdText = new Label(parent, SWT.NONE); setLabelWidth(m_thresholdText); new Label(parent, SWT.NONE); ISWTObservableValue uiElement = SWTObservables.observeSelection(m_threshold); IObservableValue modelElement = BeansObservables.observeDetailValue(masterObservable, boundProperty, double.class); bindingContext.bindValue(uiElement, modelElement, new UpdateValueStrategy().setConverter(m_sliderToModelConverter), new UpdateValueStrategy().setConverter(m_modelToSliderConverter)); uiElement = SWTObservables.observeText(m_thresholdText); bindingContext.bindValue(uiElement, modelElement, new UpdateValueStrategy(UpdateValueStrategy.POLICY_NEVER), new UpdateValueStrategy().setConverter(m_modelToLabelConverter)); uiElement = SWTObservables.observeEnabled(m_threshold); bindingContext.bindValue(uiElement, masterObservable, new UpdateValueStrategy(UpdateValueStrategy.POLICY_NEVER), new UpdateValueStrategy().setConverter(m_modelToEnablementConverter)); uiElement = SWTObservables.observeEnabled(m_thresholdText); bindingContext.bindValue(uiElement, masterObservable, new UpdateValueStrategy(UpdateValueStrategy.POLICY_NEVER), new UpdateValueStrategy().setConverter(m_modelToEnablementConverter)); }
From source file:org.eclipse.libra.facet.ui.wizards.ConvertProjectsToBundlesWizardPage.java
License:Open Source License
private void createProjectsViewer(Composite parent) { DataBindingContext dbc = new DataBindingContext(); WizardPageSupport.create(this, dbc); Label projectsLabel = new Label(parent, SWT.NONE); projectsLabel.setText(Messages.ConvertProjectsToBundlesWizardPage_AvailableProjects); GridDataFactory.swtDefaults().span(2, 1).applyTo(projectsLabel); final CheckboxTableViewer projectsViewer = CheckboxTableViewer.newCheckList(parent, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL); GridDataFactory.fillDefaults().grab(true, true).applyTo(projectsViewer.getControl()); projectsViewer.setLabelProvider(new WorkbenchLabelProvider()); projectsViewer.setContentProvider(new ArrayContentProvider()); projectsViewer.setInput(fUnconverted); projectsViewer.setComparator(new ViewerComparator()); dbc.bindSet(ViewersObservables.observeCheckedElements(projectsViewer, IProject.class), fSelected); dbc.addValidationStatusProvider(new SelectionValidator()); Composite buttonGroup = new Composite(parent, SWT.NONE); GridLayoutFactory.fillDefaults().generateLayout(buttonGroup); Button selectAllButton = new Button(buttonGroup, SWT.PUSH); selectAllButton.setText(Messages.ConvertProjectsToBundlesWizardPage_SelectAll); selectAllButton.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { fSelected.addAll(fUnconverted); }/*from w w w . j a v a 2s. c o m*/ }); GridDataFactory.fillDefaults().applyTo(selectAllButton); Button deselectAllButton = new Button(buttonGroup, SWT.PUSH); deselectAllButton.setText(Messages.ConvertProjectsToBundlesWizardPage_DeselectAll); deselectAllButton.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { for (Object o : fUnconverted) { fSelected.remove(o); } } }); GridDataFactory.fillDefaults().applyTo(deselectAllButton); Button addReferencesButton = new Button(buttonGroup, SWT.PUSH); addReferencesButton.setText(Messages.ConvertProjectsToBundlesWizardPage_AddReferences); addReferencesButton.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { selectReferences(); } }); GridDataFactory.fillDefaults().indent(0, 8).applyTo(addReferencesButton); Label selectedCountLabel = new Label(buttonGroup, SWT.WRAP); GridDataFactory.swtDefaults().align(SWT.FILL, SWT.BOTTOM).grab(false, true).applyTo(selectedCountLabel); dbc.bindValue(SWTObservables.observeText(selectedCountLabel), new ComputedValue(String.class) { @Override protected Object calculate() { return NLS.bind(Messages.ConvertProjectsToBundlesWizardPage_SelectionCounter, fSelected.size(), fUnconverted.size()); } }); }