List of usage examples for org.eclipse.jface.databinding.swt SWTObservables observeDelayedValue
@SuppressWarnings("unchecked") @Deprecated public static ISWTObservableValue observeDelayedValue(int delay, ISWTObservableValue observable)
observable
until delay
milliseconds have elapsed since the last change event, or until a FocusOut event is received from the underlying widget (whichever happens first). 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 . c o m*/ 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.controls.AbstractComposite.java
License:Open Source License
void bindValue(Text text, String property, DataBindingContext bindingContext) { IObservableValue textObserveWidget = SWTObservables.observeDelayedValue(5, SWTObservables.observeText(text, SWT.Modify)); IObservableValue observeValue = BeansObservables.observeDetailValue(contactObservable, property, String.class); bindingContext.bindValue(textObserveWidget, observeValue, null, null); }
From source file:ch.elexis.core.ui.contacts.views.PatientDetailView.java
License:Open Source License
private void bindValue(Text text, String property, DataBindingContext bindingContext) { IObservableValue textObserveWidget = SWTObservables.observeDelayedValue(5, SWTObservables.observeText(text, SWT.Modify)); IObservableValue observeValue = PojoObservables.observeDetailValue(patientObservable, property, String.class); bindingContext.bindValue(textObserveWidget, observeValue, null, null); }
From source file:com.ebmwebsourcing.petals.common.internal.provisional.emf.EObjectUIHelper.java
License:Open Source License
/** * Sets up the data binding./*from w w w .j ava 2 s . co m*/ * @param eObject * @param domain * @param dbc * @param entries */ private static void setUpDatabinding(EObject eObject, EditingDomain domain, DataBindingContext dbc, boolean showDecorator, List<EntryDescription> entries) { for (EntryDescription entry : entries) { IObservableValue widgetObservable = null; if (entry.widget instanceof Text) widgetObservable = SWTObservables.observeDelayedValue(300, SWTObservables.observeText((Text) entry.widget, SWT.Modify)); else if (entry.widget instanceof StyledText) widgetObservable = SWTObservables.observeDelayedValue(300, SWTObservables.observeText((StyledText) entry.widget, SWT.Modify)); else if (entry.widget instanceof Spinner) widgetObservable = SWTObservables.observeSelection((Spinner) entry.widget); else if (entry.widget instanceof ISelectionProvider) widgetObservable = ViewersObservables.observeSingleSelection((ISelectionProvider) entry.widget); else if (entry.widget instanceof Button) widgetObservable = SWTObservables.observeSelection((Button) entry.widget); if (widgetObservable != null) { UpdateValueStrategy targetToModel = new UpdateValueStrategy(); if (entry.attribute.getLowerBound() > 0) targetToModel.setBeforeSetValidator(new MandatoryFieldValidator(entry.attribute)); IObservableValue iov = domain == null ? EMFObservables.observeValue(eObject, entry.attribute) // : EMFEditObservables.observeValue( domain, eObject, entry.attribute ); : createCustomEmfEditObservable(domain, eObject, entry.attribute); Binding binding; if (domain == null) binding = dbc.bindValue(widgetObservable, iov, targetToModel, null); else binding = dbc.bindValue(widgetObservable, iov); if (showDecorator && entry.attribute.getLowerBound() > 0) ControlDecorationSupport.create(binding, SWT.TOP | SWT.LEFT); } } }
From source file:com.ebmwebsourcing.petals.services.cdk.editor.CDK5JBIEndpointUIHelper.java
License:Open Source License
/** * Creates the UI for "provide" blocks in the JBI editor (with CDK 5 fields). * @param endpoint//from ww w.j a v a 2s . c om * @param toolkit * @param generalDetails * @param ise */ public static void createProvidesUI(final AbstractEndpoint endpoint, final FormToolkit toolkit, final Composite parent, final ISharedEdition ise) { // First: the WSDL part Color blueFont = parent.getDisplay().getSystemColor(SWT.COLOR_DARK_BLUE); // The label browser Label wsdlLabel = toolkit.createLabel(parent, "WSDL location:"); wsdlLabel.setToolTipText("The relative path of the WSDL in the service unit or an URL"); wsdlLabel.setForeground(blueFont); GridDataFactory.swtDefaults().align(SWT.LEFT, SWT.TOP).indent(0, 4).applyTo(wsdlLabel); Composite subContainer = new Composite(parent, SWT.NONE); GridLayoutFactory.swtDefaults().margins(0, 0).numColumns(2).extendedMargins(0, 0, 0, 20) .applyTo(subContainer); subContainer.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); final Text wsdlText = toolkit.createText(subContainer, "", SWT.SINGLE | SWT.BORDER); wsdlText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); Button browseButton = toolkit.createButton(subContainer, "Browse...", SWT.PUSH); browseButton.setToolTipText("Select a WSDL located in the project resources"); browseButton.addSelectionListener(new DefaultSelectionListener() { @Override public void widgetSelected(SelectionEvent e) { IProject project = ise.getEditedFile().getProject(); IFolder resourceFolder = project.getFolder(PetalsConstants.LOC_RES_FOLDER); // FIXME: replace this dialog by one that only shows WSDLs? ElementTreeSelectionDialog dlg = SwtFactory.createWorkspaceFileSelectionDialog(wsdlText.getShell(), resourceFolder, "WSDL Selection", "Select a WSDL file located in the project's resource directory.", "wsdl"); File file = JbiXmlUtils.getWsdlFile(ise.getEditedFile(), wsdlText.getText()); if (file != null) { IFile wsdlFile = ResourceUtils.getIFile(file); if (wsdlFile != null) dlg.setInitialElementSelections(Arrays.asList(wsdlFile)); } if (dlg.open() == Window.OK) { IFile selectedFile = (IFile) dlg.getResult()[0]; int rfsc = resourceFolder.getFullPath().segmentCount(); String wsdlValue = selectedFile.getFullPath().removeFirstSegments(rfsc).toString(); wsdlText.setText(wsdlValue); } } }); // The helpers final WsdlParsingJobManager wsdlParsingJob = new WsdlParsingJobManager(); wsdlText.addModifyListener(new ModifyListener() { @Override public void modifyText(ModifyEvent e) { String wsdlValue = ((Text) e.widget).getText().trim(); File f = JbiXmlUtils.getWsdlFile(ise.getEditedFile(), wsdlValue); final URI wsdlUri; if (f != null) wsdlUri = f.toURI(); else if (!StringUtils.isEmpty(wsdlValue)) wsdlUri = UriAndUrlHelper.urlToUri(wsdlValue); else wsdlUri = null; wsdlParsingJob.setWsdlUri(wsdlUri); } }); Link link = new Link(subContainer, SWT.NONE); link.setText("<A>" + Messages.wsdlTools + "</A>"); final AtomicBoolean tooltipVisible = new AtomicBoolean(false); final WSDLHelperTooltip tooltip = new WSDLHelperTooltip(link, toolkit, (Provides) endpoint, ise, wsdlParsingJob); link.addSelectionListener(new DefaultSelectionListener() { @Override public void widgetSelected(SelectionEvent e) { boolean visible = tooltipVisible.get(); if (visible) tooltip.hide(); else tooltip.show(); tooltipVisible.set(!visible); } }); link.addMouseTrackListener(new MouseTrackAdapter() { @Override public void mouseEnter(MouseEvent e) { tooltip.show(); } @Override public void mouseExit(MouseEvent e) { if (!tooltipVisible.get()) tooltip.hide(); } }); // The data-binding ise.getDataBindingContext().bindValue( SWTObservables.observeDelayedValue(200, SWTObservables.observeText(wsdlText, SWT.Modify)), EObjectUIHelper.createCustomEmfEditObservable(ise.getEditingDomain(), endpoint, Cdk5Package.Literals.CDK5_PROVIDES__WSDL)); // Then, the common widgets final CommonUIBean commonBean = JBIEndpointUIHelpers.createCommonEndpointUI(endpoint, toolkit, parent, ise); // Then, add the auto-generation button toolkit.createLabel(parent, ""); // Add the button and its label final Button generateEdptButton = toolkit.createButton(parent, "", SWT.CHECK); generateEdptButton.setText("Generate the end-point at deployment time"); generateEdptButton.setToolTipText("The end-point name will be generated by Petals on deployment"); generateEdptButton.addSelectionListener(new DefaultSelectionListener() { private String oldValue; @Override public void widgetSelected(SelectionEvent e) { boolean selected = generateEdptButton.getSelection(); commonBean.edptText.setEnabled(!selected); commonBean.edptLabel.setEnabled(!selected); if (selected) this.oldValue = commonBean.edptText.getText().trim(); else if (StringUtils.isEmpty(this.oldValue)) this.oldValue = commonBean.srvNameText.getText() + "Endpoint"; String edptValue = selected ? PetalsConstants.AUTO_GENERATE : this.oldValue; Command cmd = SetCommand.create(ise.getEditingDomain(), endpoint, JbiPackage.Literals.ABSTRACT_ENDPOINT__ENDPOINT_NAME, edptValue); ise.getEditingDomain().getCommandStack().execute(cmd); } }); }
From source file:com.ebmwebsourcing.petals.services.filetransfer.v24.editor.FileTransferProvidesJbiEditorContribution.java
License:Open Source License
@Override public void addAdvancedSUContent(AbstractEndpoint endpoint, FormToolkit toolkit, Composite advancedTab, ISharedEdition ise) {/* www .j a va 2s. c o m*/ Composite composite = createEditorSection(advancedTab, toolkit, "File Transfer Parameters", true); if ("writefiles".equalsIgnoreCase(endpoint.getInterfaceName().getLocalPart())) { FileTransferProvideWriteControls controls = new FileTransferProvideWriteControls(); controls.createControls(composite, true); IObservableValue widgetObservable = SWTObservables.observeDelayedValue(300, SWTObservables.observeText(controls.getDirectoryText(), SWT.Modify)); IObservableValue iov = EObjectUIHelper.createCustomEmfEditObservable(ise.getEditingDomain(), endpoint, Filetransfer2xPackage.Literals.FILE_TRANSFER_PROVIDES__WRITE_DIRECTORY); ise.getDataBindingContext().bindValue(widgetObservable, iov); widgetObservable = ViewersObservables .observeSingleSelection((ISelectionProvider) controls.getCopyModeViewer()); iov = EObjectUIHelper.createCustomEmfEditObservable(ise.getEditingDomain(), endpoint, Filetransfer2xPackage.Literals.FILE_TRANSFER_PROVIDES__COPY_MODE); ise.getDataBindingContext().bindValue(widgetObservable, iov); widgetObservable = SWTObservables.observeDelayedValue(300, SWTObservables.observeText(controls.getFilenameText(), SWT.Modify)); iov = EObjectUIHelper.createCustomEmfEditObservable(ise.getEditingDomain(), endpoint, Filetransfer2xPackage.Literals.FILE_TRANSFER_PROVIDES__FILE_PATTERN); ise.getDataBindingContext().bindValue(widgetObservable, iov); } else { FileTransferProvideGetControls controls = new FileTransferProvideGetControls(); controls.createControls(composite, true); IObservableValue widgetObservable = SWTObservables.observeDelayedValue(300, SWTObservables.observeText(controls.getReadText(), SWT.Modify)); IObservableValue iov = EObjectUIHelper.createCustomEmfEditObservable(ise.getEditingDomain(), endpoint, Filetransfer2xPackage.Literals.FILE_TRANSFER_PROVIDES__READ_DIRECTORY); ise.getDataBindingContext().bindValue(widgetObservable, iov); widgetObservable = SWTObservables.observeDelayedValue(300, SWTObservables.observeText(controls.getBackupText(), SWT.Modify)); iov = EObjectUIHelper.createCustomEmfEditObservable(ise.getEditingDomain(), endpoint, Filetransfer2xPackage.Literals.FILE_TRANSFER_PROVIDES__BACKUP_DIRECTORY); ise.getDataBindingContext().bindValue(widgetObservable, iov); } composite = createEditorSection(advancedTab, toolkit, "CDK Parameters"); CDK5JBIEndpointUIHelper.generateDefaultCdkWidgetsForProvidesEditor(endpoint, toolkit, composite, ise); }
From source file:com.ebmwebsourcing.petals.services.quartz.editor.QuartzConsumesEditorContribution.java
License:Open Source License
@Override public void addAdvancedSUContent(AbstractEndpoint endpoint, FormToolkit toolkit, Composite advancedTab, ISharedEdition ise) {//w w w .ja v a2s . co m Composite composite = createEditorSection(advancedTab, toolkit, "Quartz Parameters"); QuartzControls controls = new QuartzControls(); controls.createControls(composite, true); IObservableValue widgetObservable = SWTObservables.observeDelayedValue(300, SWTObservables.observeText(controls.getCronText(), SWT.Modify)); IObservableValue iov = EObjectUIHelper.createCustomEmfEditObservable(ise.getEditingDomain(), endpoint, QuartzPackage.Literals.QUARTZ_CONSUMES__CRON_EXPRESSION); ise.getDataBindingContext().bindValue(widgetObservable, iov); widgetObservable = SWTObservables.observeDelayedValue(300, SWTObservables.observeText(controls.getMsgText(), SWT.Modify)); iov = EObjectUIHelper.createCustomEmfEditObservable(ise.getEditingDomain(), endpoint, QuartzPackage.Literals.QUARTZ_CONSUMES__CONTENT); ise.getDataBindingContext().bindValue(widgetObservable, iov); composite = createEditorSection(advancedTab, toolkit, "CDK Parameters"); CDK5JBIEndpointUIHelper.generateDefaultCdkWidgetsForConsumesEditor(endpoint, toolkit, composite, ise); }
From source file:com.ebmwebsourcing.petals.services.su.editor.su.JBIEndpointUIHelpers.java
License:Open Source License
/** * Creates the common widgets for the main tab in the JBI editor. * @param endpoint/*from www. j a v a2 s . c om*/ * @param toolkit * @param generalDetails * @param ise */ public static CommonUIBean createCommonEndpointUI(final AbstractEndpoint endpoint, FormToolkit toolkit, final Composite container, final ISharedEdition ise) { // Controls String end = endpoint instanceof Provides ? " *:" : ":"; Color blueFont = container.getDisplay().getSystemColor(SWT.COLOR_DARK_BLUE); SwtFactory.createLabel(container, "Interface Namespace *:", "The qualified name of the service contract") .setForeground(blueFont); final Text itfNamespaceText = SwtFactory.createSimpleTextField(container, true); SwtFactory.createLabel(container, "Interface Name *:", "The qualified name of the service contract") .setForeground(blueFont); final Text itfNameText = SwtFactory.createSimpleTextField(container, true); SwtFactory.createLabel(container, "Service Namespace" + end, "The qualified name of the service implementation").setForeground(blueFont); final Text srvNamespaceText = SwtFactory.createSimpleTextField(container, true); SwtFactory.createLabel(container, "Service Name" + end, "The qualified name of the service implementation") .setForeground(blueFont); final Text srvNameText = SwtFactory.createSimpleTextField(container, true); Label edptLabel = SwtFactory.createLabel(container, "End-point Name" + end, "The name of the service deployment point"); edptLabel.setForeground(blueFont); Text edptText = SwtFactory.createSimpleTextField(container, true); // Data-binding ise.getDataBindingContext().bindValue(SWTObservables.observeText(itfNameText), EMFEditObservables.observeValue(ise.getEditingDomain(), endpoint, JbiPackage.Literals.ABSTRACT_ENDPOINT__INTERFACE_NAME), null, new UpdateValueStrategy().setConverter(new LocalQNameToStringConverter())); ise.getDataBindingContext().bindValue(SWTObservables.observeText(itfNamespaceText), EMFEditObservables.observeValue(ise.getEditingDomain(), endpoint, JbiPackage.Literals.ABSTRACT_ENDPOINT__INTERFACE_NAME), null, new UpdateValueStrategy().setConverter(new NamespaceQNameToStringConverter())); ise.getDataBindingContext().bindValue(SWTObservables.observeText(srvNameText), EMFEditObservables.observeValue(ise.getEditingDomain(), endpoint, JbiPackage.Literals.ABSTRACT_ENDPOINT__SERVICE_NAME), null, new UpdateValueStrategy().setConverter(new LocalQNameToStringConverter())); ise.getDataBindingContext().bindValue(SWTObservables.observeText(srvNamespaceText), EMFEditObservables.observeValue(ise.getEditingDomain(), endpoint, JbiPackage.Literals.ABSTRACT_ENDPOINT__SERVICE_NAME), null, new UpdateValueStrategy().setConverter(new NamespaceQNameToStringConverter())); ise.getDataBindingContext().bindValue( SWTObservables.observeDelayedValue(200, SWTObservables.observeText(edptText, SWT.Modify)), EMFEditObservables.observeValue(ise.getEditingDomain(), endpoint, JbiPackage.Literals.ABSTRACT_ENDPOINT__ENDPOINT_NAME)); // The data-binding handles the "model to target (widget)" parts. But not ALL the "widget to model" parts. // For QNames, in fact, the data-binding cannot be applied in this sense. We have to use a modify listener for this. createModifyListenerForQname(ise.getEditingDomain(), endpoint, itfNamespaceText, itfNameText, JbiPackage.Literals.ABSTRACT_ENDPOINT__INTERFACE_NAME, false); createModifyListenerForQname(ise.getEditingDomain(), endpoint, srvNamespaceText, srvNameText, JbiPackage.Literals.ABSTRACT_ENDPOINT__SERVICE_NAME, false); // PETALSSTUD-268: Wrong handling of empty end-point name // Do not set an empty end-point name in the model edptText.addModifyListener(new ModifyListener() { @Override public void modifyText(ModifyEvent e) { String value = ((Text) e.widget).getText().trim(); if (value.length() > 0) return; Command cmd = EObjectUIHelper.createCustomSetCommand(ise.getEditingDomain(), endpoint, JbiPackage.Literals.ABSTRACT_ENDPOINT__ENDPOINT_NAME, null); ise.getEditingDomain().getCommandStack().execute(cmd); } }); // PETALSSTUD-268 // Complete the UI effects final ModifyListener sameNsModifyListener = new ModifyListener() { @Override public void modifyText(ModifyEvent e) { String serviceNs = srvNamespaceText.getText(); String interfaceNs = itfNamespaceText.getText(); Color fgColor; if (serviceNs.trim().length() > 0 && serviceNs.equals(interfaceNs)) fgColor = container.getDisplay().getSystemColor(SWT.COLOR_DARK_GREEN); else fgColor = container.getDisplay().getSystemColor(SWT.COLOR_WIDGET_FOREGROUND); srvNamespaceText.setForeground(fgColor); itfNamespaceText.setForeground(fgColor); } }; FocusListener nsFocusListener = new FocusAdapter() { @Override public void focusGained(FocusEvent e) { ((Text) e.widget).addModifyListener(sameNsModifyListener); ((Text) e.widget).notifyListeners(SWT.Modify, new Event()); } @Override public void focusLost(FocusEvent e) { ((Text) e.widget).removeModifyListener(sameNsModifyListener); Color fgColor = container.getDisplay().getSystemColor(SWT.COLOR_WIDGET_FOREGROUND); srvNamespaceText.setForeground(fgColor); itfNamespaceText.setForeground(fgColor); } }; itfNamespaceText.addFocusListener(nsFocusListener); srvNamespaceText.addFocusListener(nsFocusListener); // Prepare the result CommonUIBean result = new CommonUIBean(); result.edptText = edptText; result.itfNameText = itfNameText; result.itfNamespaceText = itfNamespaceText; result.srvNameText = srvNameText; result.srvNamespaceText = srvNamespaceText; result.edptLabel = edptLabel; return result; }
From source file:com.netxforge.netxstudio.callflow.screens.nodetypes.NewEditNodeType.java
License:Open Source License
public EMFDataBindingContext initDataBindings_() { EMFDataBindingContext context = new EMFDataBindingContext(); // Binding of name and Description IObservableValue nameObservable = SWTObservables.observeDelayedValue(400, SWTObservables.observeText(txtName, SWT.Modify)); IObservableValue leafObservable = SWTObservables.observeSelection(btnLeafNode); IEMFValueProperty nameProperty = EMFEditProperties.value(editingService.getEditingDomain(), LibraryPackage.Literals.NODE_TYPE__NAME); IEMFValueProperty leafProperty = EMFEditProperties.value(editingService.getEditingDomain(), LibraryPackage.Literals.NODE_TYPE__LEAF_NODE); context.bindValue(nameObservable, nameProperty.observe(nodeType), null, null); context.bindValue(leafObservable, leafProperty.observe(nodeType), null, null); // final NodeTypeSummary totals = (NodeTypeSummary) stateModel // .summary(nodeType); // this.frmTextNumberOfFunctions.setText( // totals.getFunctionCountAsString(), false, false); // this.frmTextNumberOfEquipments.setText( // totals.getEquipmentCountAsString(), false, false); // this.frmTextNumberOfResources.setText(totals.getResourCountAsString(), // false, false); return context; }
From source file:com.netxforge.netxstudio.screens.ch9.NewEditExpression.java
License:Open Source License
/** * Converted to new EMF API.//from w w w . j a va 2 s. c o m * * @return */ public EMFDataBindingContext initDataBindings_() { EMFUpdateValueStrategy expressionStrategy = ValidationService.getStrategyfactory() .strategyBeforeSetStringNotEmpty("Expression name is required"); EMFDataBindingContext bindingContext = new EMFDataBindingContext(); IObservableValue txtNameObserveTextObserveWidget = SWTObservables.observeDelayedValue(400, SWTObservables.observeText(txtExpressionName, SWT.Modify)); IEMFValueProperty expressionNameObserveValue_1 = EMFEditProperties.value(editingService.getEditingDomain(), Literals.EXPRESSION__NAME); bindingContext.bindValue(txtNameObserveTextObserveWidget, expressionNameObserveValue_1.observe(expression), expressionStrategy, null); return bindingContext; }