List of usage examples for org.eclipse.jface.databinding.swt SWTObservables observeText
@Deprecated public static ISWTObservableValue observeText(Control control, int event)
control
. From source file:org.bonitasoft.studio.expression.editor.viewer.PatternExpressionViewer.java
License:Open Source License
protected void bindPatternExpression() { UpdateValueStrategy startegy = new UpdateValueStrategy(); if (mandatoryFieldLabel != null) { startegy.setAfterConvertValidator(new EmptyInputValidator(mandatoryFieldLabel)); }//from w w w .ja va2s. c om if (patternBinding != null) { patternBinding.dispose(); patternBinding = null; } expression.getReferencedElements().clear(); patternBinding = context.bindValue(SWTObservables.observeText(viewer.getTextWidget(), SWT.Modify), EMFObservables.observeValue(expression, ExpressionPackage.Literals.EXPRESSION__CONTENT), startegy, null); }
From source file:org.bonitasoft.studio.expression.editor.viewer.PatternExpressionViewer.java
License:Open Source License
protected void createTextViewer() { viewer = createViewer(mc);//from ww w. jav a 2s. c om viewer.getControl().setLayoutData(GridDataFactory.fillDefaults().grab(true, true).create()); configureTextViewer(); helpDecoration = new ControlDecoration(viewer.getControl(), SWT.TOP | SWT.RIGHT, this); helpDecoration.setImage(JFaceResources.getImage(Dialog.DLG_IMG_HELP)); helpDecoration.setDescriptionText(Messages.patternViewerHelp); helpDecoration.setMarginWidth(2); helpDecoration.hide(); hintDecoration = new ControlDecoration(viewer.getControl(), SWT.TOP | SWT.LEFT, this); hintDecoration.setImage(Pics.getImage(PicsConstants.hint)); hintDecoration.setMarginWidth(2); hintDecoration.setShowHover(true); hintDecoration.setShowOnlyOnFocus(true); hintDecoration.hide(); viewer.addTextListener(new ITextListener() { @Override public void textChanged(TextEvent event) { viewer.getTextWidget().notifyListeners(SWT.Modify, new Event()); } }); contentAssisProcessor = new ExpressionContentAssistProcessor(viewer.getDocument()); final ContentAssistant assistant = new ContentAssistant(); assistant.setContentAssistProcessor(contentAssisProcessor, IDocument.DEFAULT_CONTENT_TYPE); assistant.setShowEmptyList(true); assistant.enableAutoActivation(true); assistant.install(viewer); viewer.getTextWidget().addKeyListener(new KeyAdapter() { @Override public void keyPressed(KeyEvent e) { switch (e.keyCode) { case SWT.F1: assistant.showPossibleCompletions(); break; default: //ignore everything else } } @Override public void keyReleased(KeyEvent e) { if ((e.stateMask == SWT.CTRL || e.stateMask == SWT.COMMAND) && e.keyCode == SWT.SPACE) { assistant.showPossibleCompletions(); } } }); ISWTObservableValue observable = SWTObservables.observeDelayedValue(400, SWTObservables.observeText(getTextControl(), SWT.Modify)); observable.addValueChangeListener(new IValueChangeListener() { @Override public void handleValueChange(ValueChangeEvent event) { if (!expressionMode()) { updateExpressionDependencies(); } } }); helpDecoration.show(); }
From source file:org.bonitasoft.studio.groovy.ui.dialog.TestGroovyScriptDialog.java
License:Open Source License
@Override protected Control createDialogArea(Composite parent) { final Composite mainComposite = (Composite) super.createDialogArea(parent); mainComposite.setLayoutData(GridDataFactory.fillDefaults().hint(400, SWT.DEFAULT).create()); mainComposite/* w w w . j ava 2s . c om*/ .setLayout(GridLayoutFactory.fillDefaults().extendedMargins(15, 15, 10, 0).spacing(0, 15).create()); final Label descriptionLabel = new Label(mainComposite, SWT.WRAP); descriptionLabel.setLayoutData(GridDataFactory.fillDefaults().grab(true, true).create()); descriptionLabel.setText(Messages.testGroovyScriptDialogDescription); final Map<String, Serializable> procVariables = getProcessVariables(variables); final Map<String, Serializable> unknownVariables = getUnknownVariables(variables); if (!procVariables.isEmpty()) { createVariableGroup(mainComposite, Messages.processVariableLabel, procVariables); } if (!unknownVariables.isEmpty()) { createVariableGroup(mainComposite, Messages.unknownVariableLabel, unknownVariables); } final Composite buttonComposite = new Composite(mainComposite, SWT.NONE); buttonComposite .setLayoutData(GridDataFactory.fillDefaults().grab(false, false).align(SWT.END, SWT.FILL).create()); buttonComposite.setLayout(GridLayoutFactory.fillDefaults().numColumns(2).create()); final Button closeButton = new Button(buttonComposite, SWT.PUSH); closeButton.setLayoutData(GridDataFactory.fillDefaults().hint(100, SWT.DEFAULT).create()); closeButton.setText(IDialogConstants.CLOSE_LABEL); closeButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { close(); } }); final Button testButton = new Button(buttonComposite, SWT.PUSH); testButton.setLayoutData(GridDataFactory.fillDefaults().hint(100, SWT.DEFAULT).create()); testButton.setText(Messages.testButtonLabel); testButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { try { ManageConnectorJarDialog mcjd = new ManageConnectorJarDialog( Display.getDefault().getActiveShell()); int retCode = mcjd.open(); if (retCode == Window.OK) { TestGroovyScriptUtil.evaluateExpression(unit.getSource(), returnType, TestGroovyScriptUtil.getVariableValues(unit, nodes, widgetMap), mcjd.getSelectedJars()); } } catch (JavaModelException e1) { BonitaStudioLog.error(e1); } } }); DataBindingContext dbc = new DataBindingContext(); for (Entry<Label, Control> entry : widgetMap.entrySet()) { final UpdateValueStrategy strategy = new UpdateValueStrategy(); //strategy.setAfterGetValidator(new EmptyInputValidator(entry.getKey().getText())); strategy.setConverter(new Converter(String.class, Boolean.class) { @Override public Object convert(Object fromObject) { if (fromObject == null || fromObject.toString().isEmpty()) { return false; } return allWidgetFilled(); } }); dbc.bindValue(SWTObservables.observeEnabled(testButton), SWTObservables.observeText(entry.getValue(), SWT.Modify), new UpdateValueStrategy(UpdateValueStrategy.POLICY_NEVER), strategy); } return mainComposite; }
From source file:org.bonitasoft.studio.groovy.ui.providers.GroovyScriptExpressionEditor.java
License:Open Source License
@Override public void bindExpression(EMFDataBindingContext dataBindingContext, final EObject context, Expression inputExpression, ViewerFilter[] filters, final ExpressionViewer viewer) { this.inputExpression = inputExpression; this.context = context; IObservableValue dependenciesModelObservable = EMFObservables.observeValue(inputExpression, ExpressionPackage.Literals.EXPRESSION__REFERENCED_ELEMENTS); IObservableValue autoDepsModelObservable = EMFObservables.observeValue(inputExpression, ExpressionPackage.Literals.EXPRESSION__AUTOMATIC_DEPENDENCIES); inputExpression.setType(ExpressionConstants.SCRIPT_TYPE); inputExpression.setInterpreter(ExpressionConstants.GROOVY); groovyViewer.setContext(context, filters, viewer.getExpressionNatureProvider()); nodes = groovyViewer.getFieldNodes(); if (context == null && nodes == null) { dataCombo.add(Messages.noProcessVariableAvailable); dataCombo.getTableCombo().setText(Messages.noProcessVariableAvailable); dataCombo.getTableCombo().setEnabled(false); } else if (nodes != null) { dataCombo.setInput(nodes);//from w w w. j ava2 s .c om dataCombo.setSelection(new StructuredSelection(ProcessVariableContentProvider.SELECT_ENTRY)); if (nodes.isEmpty()) { dataCombo.getTableCombo().setEnabled(false); } } else { dataCombo.setInput(groovyViewer.getFieldNodes()); dataCombo.setSelection(new StructuredSelection(ProcessVariableContentProvider.SELECT_ENTRY)); if (groovyViewer.getFieldNodes().isEmpty()) { dataCombo.getTableCombo().setEnabled(false); } } bonitaDataCombo.setInput(GroovyUtil.getBonitaVariables(context, filters, isPageFlowContext)); bonitaDataCombo.setSelection(new StructuredSelection(ProcessVariableContentProvider.SELECT_ENTRY)); dataBindingContext.bindValue(ViewersObservables.observeInput(dependenciesViewer), dependenciesModelObservable); UpdateValueStrategy opposite = new UpdateValueStrategy(); opposite.setConverter(new Converter(Boolean.class, Boolean.class) { @Override public Object convert(Object fromObject) { return !((Boolean) fromObject); } }); dataBindingContext.bindValue(SWTObservables.observeSelection(automaticResolutionButton), autoDepsModelObservable); dataBindingContext.bindValue(SWTObservables.observeSelection(automaticResolutionButton), SWTObservables.observeEnabled(addDependencyButton), opposite, new UpdateValueStrategy(UpdateValueStrategy.POLICY_NEVER)); depndencySection.setExpanded(!automaticResolutionButton.getSelection()); addDependencyButton.setEnabled(!inputExpression.isAutomaticDependencies()); dependencyJob = new ComputeScriptDependenciesJob(sourceViewer.getDocument()); dependencyJob.setContext(context); this.nodes.addAll(GroovyUtil.getBonitaVariables(context, filters, isPageFlowContext)); dependencyJob.setNodes(nodes); final InputLengthValidator lenghtValidator = new InputLengthValidator("", GroovyViewer.MAX_SCRIPT_LENGTH); String content = inputExpression.getContent(); if (content == null) { content = ""; } sourceViewer.getTextWidget().setText(content); sourceViewer.getDocument().addDocumentListener(new IDocumentListener() { @Override public void documentChanged(DocumentEvent event) { final String text = event.getDocument().get(); if (lenghtValidator.validate(text).isOK()) { GroovyScriptExpressionEditor.this.inputExpression.setContent(text); } if (automaticResolutionButton.getSelection()) { dependencyJob.schedule(); } } @Override public void documentAboutToBeChanged(DocumentEvent event) { } }); dependencyJob.addJobChangeListener(new IJobChangeListener() { @Override public void sleeping(IJobChangeEvent event) { } @Override public void scheduled(IJobChangeEvent event) { } @Override public void running(IJobChangeEvent event) { } @Override public void done(IJobChangeEvent event) { if (dependencyJob != null && GroovyScriptExpressionEditor.this.inputExpression.isAutomaticDependencies()) { List<EObject> deps = dependencyJob.getDependencies(document.get()); GroovyScriptExpressionEditor.this.inputExpression.getReferencedElements().clear(); if (deps != null && !deps.isEmpty()) { GroovyScriptExpressionEditor.this.inputExpression.getReferencedElements().addAll(deps); } } } @Override public void awake(IJobChangeEvent event) { } @Override public void aboutToRun(IJobChangeEvent event) { } }); final ExpressionContentProvider provider = new ExpressionContentProvider(); provider.setContext(context); final Set<Expression> filteredExpressions = new HashSet<Expression>(); Expression[] expressions = provider.getExpressions(); EObject input = provider.getContext(); if (expressions != null) { filteredExpressions.addAll(Arrays.asList(expressions)); if (input != null && filters != null) { for (Expression exp : expressions) { for (ViewerFilter filter : filters) { if (filter != null && !filter.select(groovyViewer.getSourceViewer(), input, exp)) { filteredExpressions.remove(exp); } } } } } addDependencyButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { SelectDependencyDialog dialog = new SelectDependencyDialog(Display.getDefault().getActiveShell(), filteredExpressions, GroovyScriptExpressionEditor.this.inputExpression.getReferencedElements()); dialog.open(); } }); final UpdateValueStrategy evaluateStrategy = new UpdateValueStrategy(); evaluateStrategy.setConverter(new Converter(String.class, Boolean.class) { @Override public Object convert(Object fromObject) { if (fromObject == null || fromObject.toString().isEmpty()) { return false; } return true; } }); dataBindingContext.bindValue(SWTObservables.observeEnabled(testButton), SWTObservables.observeText(groovyViewer.getSourceViewer().getTextWidget(), SWT.Modify), null, evaluateStrategy); }
From source file:org.bonitasoft.studio.groovy.ui.providers.GroovyScriptFileEditor.java
License:Open Source License
@Override public void bindExpression(EMFDataBindingContext dataBindingContext, final EObject context, Expression inputExpression, ViewerFilter[] filters, ExpressionViewer expressionViewer) { this.inputExpression = inputExpression; this.context = context; IObservableValue contentModelObservable = EMFObservables.observeValue(inputExpression, ExpressionPackage.Literals.EXPRESSION__CONTENT); groovyViewer.getDocument().set(inputExpression.getContent()); IExpressionNatureProvider natureProvider = null; if (expressionViewer != null) { natureProvider = expressionViewer.getExpressionNatureProvider(); }//from ww w. ja va2 s . com groovyViewer.setContext(context, filters, natureProvider); groovyViewer.getSourceViewer().getTextWidget().setData(BONITA_KEYWORDS_DATA_KEY, null); groovyViewer.getSourceViewer().getTextWidget().setData(PROCESS_VARIABLES_DATA_KEY, null); groovyViewer.getSourceViewer().getTextWidget().setData(CONTEXT_DATA_KEY, null); dataBindingContext.bindValue(SWTObservables.observeText(sourceViewer.getTextWidget(), SWT.Modify), contentModelObservable, new UpdateValueStrategy() .setAfterGetValidator(new InputLengthValidator("", GroovyViewer.MAX_SCRIPT_LENGTH)), null); sourceViewer.addTextListener(new ITextListener() { @Override public void textChanged(TextEvent event) { sourceViewer.getTextWidget().notifyListeners(SWT.Modify, new Event()); } }); }
From source file:org.bonitasoft.studio.parameters.expression.editor.ParameterEditor.java
License:Open Source License
@Override public void bindExpression(final EMFDataBindingContext dataBindingContext, final EObject context, final Expression inputExpression, final ViewerFilter[] filters, final ExpressionViewer expressionViewer) { final EObject finalContext = context; addExpressionButton.addSelectionListener(new SelectionAdapter() { @Override/*from w w w .j ava 2 s . c o m*/ public void widgetSelected(final SelectionEvent e) { super.widgetSelected(e); expressionButtonListener(finalContext); } }); editorInputExpression = inputExpression; fillViewerInput(context); final IObservableValue contentObservable = EMFObservables.observeValue(inputExpression, ExpressionPackage.Literals.EXPRESSION__CONTENT); final IObservableValue nameObservable = EMFObservables.observeValue(inputExpression, ExpressionPackage.Literals.EXPRESSION__NAME); final IObservableValue returnTypeObservable = EMFObservables.observeValue(inputExpression, ExpressionPackage.Literals.EXPRESSION__RETURN_TYPE); final IObservableValue referenceObservable = EMFObservables.observeValue(inputExpression, ExpressionPackage.Literals.EXPRESSION__REFERENCED_ELEMENTS); final UpdateValueStrategy selectionToName = new UpdateValueStrategy(); final IConverter nameConverter = new Converter(Parameter.class, String.class) { @Override public Object convert(final Object parameter) { return ((Parameter) parameter).getName(); } }; selectionToName.setConverter(nameConverter); final UpdateValueStrategy selectionToContent = new UpdateValueStrategy(); final IConverter contentConverter = new Converter(Parameter.class, String.class) { @Override public Object convert(final Object parameter) { return ((Parameter) parameter).getName(); } }; selectionToContent.setConverter(contentConverter); final UpdateValueStrategy selectionToReturnType = new UpdateValueStrategy(); final IConverter returnTypeConverter = new Converter(Parameter.class, String.class) { @Override public Object convert(final Object parameter) { return ((Parameter) parameter).getTypeClassname(); } }; selectionToReturnType.setConverter(returnTypeConverter); final UpdateValueStrategy selectionToReferencedData = new UpdateValueStrategy(); final IConverter referenceConverter = new Converter(Parameter.class, List.class) { @Override public Object convert(final Object parameter) { return Collections.singletonList(parameter); } }; selectionToReferencedData.setConverter(referenceConverter); final UpdateValueStrategy referencedDataToSelection = new UpdateValueStrategy(); final IConverter referencetoDataConverter = new Converter(List.class, Parameter.class) { @SuppressWarnings("unchecked") @Override public Object convert(final Object parameterList) { if (!((List<Parameter>) parameterList).isEmpty()) { final Parameter p = ((List<Parameter>) parameterList).get(0); final Collection<Parameter> inputParameters = (Collection<Parameter>) viewer.getInput(); for (final Parameter param : inputParameters) { if (param.getName().equals(p.getName()) && param.getTypeClassname().equals(p.getTypeClassname())) { return param; } } } return null; } }; referencedDataToSelection.setConverter(referencetoDataConverter); dataBindingContext.bindValue(ViewersObservables.observeSingleSelection(viewer), nameObservable, selectionToName, new UpdateValueStrategy(UpdateValueStrategy.POLICY_NEVER)); dataBindingContext.bindValue(ViewersObservables.observeSingleSelection(viewer), contentObservable, selectionToContent, new UpdateValueStrategy(UpdateValueStrategy.POLICY_NEVER)); dataBindingContext.bindValue(ViewersObservables.observeSingleSelection(viewer), returnTypeObservable, selectionToReturnType, new UpdateValueStrategy(UpdateValueStrategy.POLICY_NEVER)); dataBindingContext.bindValue(ViewersObservables.observeSingleSelection(viewer), referenceObservable, selectionToReferencedData, referencedDataToSelection); dataBindingContext.bindValue(SWTObservables.observeText(typeText, SWT.Modify), returnTypeObservable); }
From source file:org.bonitasoft.studio.properties.form.sections.actions.contributions.AsynchronousSuggestBoxContribution.java
License:Open Source License
protected void bindWidgets() { if (dataBindingContext != null) { dataBindingContext.dispose();/*from w ww.j a v a 2 s. c o m*/ } dataBindingContext = new EMFDataBindingContext(); IObservableValue value = EMFEditObservables.observeValue(editingDomain, suggestBox, FormPackage.Literals.SUGGEST_BOX__ASYNCHRONOUS); value.addChangeListener(new IChangeListener() { public void handleChange(ChangeEvent event) { ISection extensibleGridPropertySection = section.getTabbedPropertySheetPage().getCurrentTab() .getSections()[0]; if (extensibleGridPropertySection instanceof DataPropertySection) { for (IExtensibleGridPropertySectionContribution contib : ((DataPropertySection) extensibleGridPropertySection) .getContributions()) { if (contib instanceof AvailableValueContribution) { //((MultipleValuatedFieldContribution)contib).resetCombo() ; } } } } }); ; dataBindingContext.bindValue(SWTObservables.observeSelection(isAsynchronousCheckbox), EMFEditObservables .observeValue(editingDomain, suggestBox, FormPackage.Literals.SUGGEST_BOX__ASYNCHRONOUS)); dataBindingContext.bindValue( EMFEditObservables.observeValue(editingDomain, suggestBox, FormPackage.Literals.SUGGEST_BOX__ASYNCHRONOUS), SWTObservables.observeEnabled(delayText), null, new UpdateValueStrategy(UpdateValueStrategy.POLICY_NEVER)); dataBindingContext.bindValue(SWTObservables.observeText(delayText, SWT.Modify), EMFEditObservables .observeValue(editingDomain, suggestBox, FormPackage.Literals.SUGGEST_BOX__DELAY)); }
From source file:org.bonitasoft.studio.properties.form.sections.actions.contributions.FileGridPropertySectionContribution.java
License:Open Source License
protected void bindResourceText() { if (resourceText != null && element.getInputType() == FileWidgetInputType.RESOURCE && !resourceText.isDisposed()) { dataBindingContext.bindValue(SWTObservables.observeText(resourceText, SWT.Modify), EMFEditObservables .observeValue(editingDomain, element, FormPackage.Literals.FILE_WIDGET__INITIAL_RESOURCE_PATH)); }/* w ww . j a v a 2 s .c o m*/ }
From source file:org.bonitasoft.studio.properties.form.sections.general.contributions.NameGridPropertySectionContribution.java
License:Open Source License
@Override protected void createBinding(EMFDataBindingContext context) { Converter convertToId = new Converter(String.class, String.class) { public Object convert(final Object fromObject) { updatePropertyTabTitle();//from w w w . j av a 2 s . c o m /*Update the tab of the editor if the form name change*/ if (element instanceof Form) { FormDiagramEditor editor = (FormDiagramEditor) PlatformUI.getWorkbench() .getActiveWorkbenchWindow().getActivePage().getActiveEditor(); editor.setPartName(text.getText()); } return fromObject; } }; labelTargetToModelUpdate = new UpdateValueStrategy(); labelTargetToModelUpdate.setConverter(convertToId); List<IValidator> validators = new ArrayList<IValidator>(); validators.add(new GroovyReferenceValidator(Messages.name, true, false)); validators.add(getWidgetValidator()); MultiValidator multiValidation = new MultiValidator(validators); labelTargetToModelUpdate.setAfterGetValidator(multiValidation); labelTargetToModelUpdate.setBeforeSetValidator(new InputLengthValidator(Messages.name, 50)); ISWTObservableValue observable = SWTObservables.observeDelayedValue(400, SWTObservables.observeText(text, SWT.Modify)); ControlDecorationSupport.create(context.bindValue(observable, EMFEditObservables.observeValue(editingDomain, element, ProcessPackage.Literals.ELEMENT__NAME), labelTargetToModelUpdate, null), SWT.LEFT); }
From source file:org.bonitasoft.studio.properties.form.sections.options.HtmlAttributesPropertySection.java
License:Open Source License
public void createControl(Composite composite, TabbedPropertySheetWidgetFactory widgetFactory, ExtensibleGridPropertySection extensibleGridPropertySection) { composite.setLayout(new GridLayout(1, false)); composite.setLayoutData(GridDataFactory.fillDefaults().grab(true, false).create()); if (dataBinding != null) { dataBinding.dispose();//from w ww. j av a2 s . c om } dataBinding = new DataBindingContext(); Text text = widgetFactory.createText(composite, "", SWT.MULTI | SWT.BORDER); GridData gd = new GridData(SWT.FILL, SWT.CENTER, true, true); gd.heightHint = 80; text.setLayoutData(gd); dataBinding.bindValue(SWTObservables.observeText(text, SWT.Modify), EMFEditObservables .observeValue(editingDomain, widget, FormPackage.Literals.WIDGET__REAL_HTML_ATTRIBUTES)); /*Set an example beside*/ Label example = widgetFactory.createLabel(composite, Messages.OptionsSection_HtmlAttr_example, SWT.NONE); example.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false, 2, 1)); example.setFont(BonitaStudioFontRegistry.getCommentsFont()); }