List of usage examples for org.eclipse.jface.viewers ComboViewer getCombo
public Combo getCombo()
From source file:org.jboss.mapper.eclipse.internal.editor.AddCustomOperationDialog.java
License:Open Source License
@Override protected Control createDialogArea(final Composite parent) { setTitle("Add Custom Operation"); setMessage("Select or create the Java class and method that implements the custom operation"); setHelpAvailable(false);//from w ww . j a v a 2 s. c o m final Composite area = new Composite(parent, SWT.NONE); area.setLayout(GridLayoutFactory.swtDefaults().numColumns(3).create()); area.setLayoutData(GridDataFactory.fillDefaults().grab(true, true).create()); Label label = new Label(area, SWT.NONE); label.setText("Class:"); final Button classButton = new Button(area, SWT.NONE); classButton.setLayoutData( GridDataFactory.swtDefaults().align(SWT.FILL, SWT.CENTER).grab(true, false).create()); classButton.setAlignment(SWT.LEFT); classButton.setText("< Click to select an existing class >"); final Button newClassButton = new Button(area, SWT.NONE); newClassButton .setImage(new DecorationOverlayIcon(JavaUI.getSharedImages().getImage(ISharedImages.IMG_OBJS_CLASS), Util.ADD_OVERLAY_IMAGE_DESCRIPTOR, IDecoration.TOP_RIGHT).createImage()); label = new Label(area, SWT.NONE); label.setText("Method:"); final ComboViewer methodComboViewer = new ComboViewer(area, SWT.READ_ONLY); methodComboViewer.getCombo().setLayoutData( GridDataFactory.swtDefaults().span(2, 1).align(SWT.FILL, SWT.CENTER).grab(true, false).create()); methodComboViewer.setContentProvider(new ArrayContentProvider()); methodComboViewer.setLabelProvider(new LabelProvider() { @Override public String getText(final Object element) { final IMethod method = (IMethod) element; try { final StringBuilder builder = new StringBuilder(); builder.append(Signature.getSignatureSimpleName(method.getReturnType())); builder.append(" "); builder.append(method.getElementName()); builder.append("("); final String[] types = method.getParameterTypes(); final String[] names = method.getParameterNames(); boolean hasPrm = false; for (int ndx = 0; ndx < types.length; ndx++) { if (hasPrm) { builder.append(", "); } else { builder.append(" "); hasPrm = true; } builder.append(Signature.getSignatureSimpleName(types[ndx])); builder.append(" "); builder.append(names[ndx]); } if (hasPrm) { builder.append(" "); } builder.append(")"); return builder.toString(); } catch (final JavaModelException e) { return ""; } } }); methodComboViewer.setComparator(new ViewerComparator() { @Override public int compare(final Viewer viewer, final Object object1, final Object object2) { final IMethod method1 = (IMethod) object1; final IMethod method2 = (IMethod) object2; int comparison = method1.getElementName().compareTo(method2.getElementName()); if (comparison != 0) { return comparison; } final String[] types1 = method1.getParameterTypes(); final String[] types2 = method2.getParameterTypes(); comparison = types1.length - types2.length; if (comparison != 0) { return comparison; } for (int ndx = 0; ndx < types1.length; ndx++) { comparison = Signature.getSignatureSimpleName(types1[ndx]) .compareTo(Signature.getSignatureSimpleName(types2[ndx])); if (comparison != 0) { return comparison; } } return 0; } }); methodComboViewer.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(final SelectionChangedEvent event) { methodSelected(methodComboViewer); } }); classButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(final SelectionEvent event) { selectClass(classButton, methodComboViewer); } }); newClassButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(final SelectionEvent event) { createNewClass(classButton, methodComboViewer); } }); return area; }
From source file:org.jboss.mapper.eclipse.internal.wizards.FirstPage.java
License:Open Source License
void createFileControls(final Group group, final Label pathLabel, final String schemaType, final Text pathText, final Button pathButton, final Label typeLabel, final ComboViewer typeComboViewer) { group.setLayoutData(/*from www.j a v a 2 s. c o m*/ GridDataFactory.swtDefaults().grab(true, false).span(3, 1).align(SWT.FILL, SWT.CENTER).create()); group.setLayout(GridLayoutFactory.swtDefaults().spacing(0, 5).numColumns(3).create()); group.setText(schemaType + " File"); pathLabel.setText("File path:"); pathText.setLayoutData( GridDataFactory.swtDefaults().grab(true, false).align(SWT.FILL, SWT.CENTER).create()); pathButton.setText("..."); typeLabel.setText("Type:"); typeComboViewer.getCombo() .setLayoutData(GridDataFactory.swtDefaults().span(2, 1).grab(true, false).create()); pathButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(final SelectionEvent event) { final String path = Util.selectFile(getShell(), model.getProject(), schemaType); if (path != null) { pathText.setText(path); if (typeComboViewer.getSelection().isEmpty()) { final String ext = path.substring(path.lastIndexOf('.') + 1).toLowerCase(); switch (ext) { case "class": typeComboViewer.setSelection(new StructuredSelection(ModelType.CLASS)); break; case "java": typeComboViewer.setSelection(new StructuredSelection(ModelType.JAVA)); break; case "json": try (InputStream stream = model.getProject().getFile(path).getContents()) { char quote = '\0'; final StringBuilder builder = new StringBuilder(); ModelType type = ModelType.JSON; for (char chr = (char) stream.read(); chr != -1; chr = (char) stream.read()) { // Find quote if (quote == '\0') { if (chr == '"' || chr == '\'') { quote = chr; } } else if (chr == quote) { final String keyword = builder.toString(); switch (keyword) { case "$schema": case "title": case "type": case "id": type = ModelType.JSON_SCHEMA; break; default: // nothing } break; } else { builder.append(chr); } } typeComboViewer.setSelection(new StructuredSelection(type)); } catch (IOException | CoreException e) { Activator.error(e); typeComboViewer.setSelection(new StructuredSelection(ModelType.JSON)); } break; case "xml": typeComboViewer.setSelection(new StructuredSelection(ModelType.XML)); break; case "xsd": typeComboViewer.setSelection(new StructuredSelection(ModelType.XSD)); break; default: break; } } } } }); }
From source file:org.jboss.mapper.eclipse.internal.wizards.FirstPage.java
License:Open Source License
void createPage(final Composite parent) { final Composite page = new Composite(parent, SWT.NONE); setControl(page);//ww w . ja v a 2 s. c o m page.setLayout(GridLayoutFactory.swtDefaults().spacing(0, 5).numColumns(3).create()); // Create project widgets Label label = new Label(page, SWT.NONE); label.setText("Project:"); label.setToolTipText("The project that will contain the mapping file."); final ComboViewer projectViewer = new ComboViewer(new Combo(page, SWT.READ_ONLY)); projectViewer.getCombo().setLayoutData( GridDataFactory.swtDefaults().grab(true, false).span(2, 1).align(SWT.FILL, SWT.CENTER).create()); projectViewer.getCombo().setToolTipText(label.getToolTipText()); projectViewer.setLabelProvider(new LabelProvider() { @Override public String getText(final Object element) { return ((IProject) element).getName(); } }); // Create ID widgets label = new Label(page, SWT.NONE); label.setText("ID:"); label.setToolTipText("The transformation ID that will be shown in the Fuse editor"); final Text idText = new Text(page, SWT.BORDER); idText.setLayoutData( GridDataFactory.swtDefaults().span(2, 1).grab(true, false).align(SWT.FILL, SWT.CENTER).create()); idText.setToolTipText(label.getToolTipText()); // Create file path widgets label = new Label(page, SWT.NONE); label.setText("Dozer File path: "); label.setToolTipText("The path to the Dozer transformation file."); final Text pathText = new Text(page, SWT.BORDER); pathText.setLayoutData( GridDataFactory.swtDefaults().span(2, 1).grab(true, false).align(SWT.FILL, SWT.CENTER).create()); pathText.setToolTipText(label.getToolTipText()); // Create camel file path widgets label = new Label(page, SWT.NONE); label.setText("Camel File path: "); label.setToolTipText("Path to the Camel configuration file."); final Text camelFilePathText = new Text(page, SWT.BORDER); camelFilePathText.setLayoutData( GridDataFactory.swtDefaults().span(1, 1).grab(true, false).align(SWT.FILL, SWT.CENTER).create()); camelFilePathText.setToolTipText(label.getToolTipText()); final Button camelPathButton = new Button(page, SWT.NONE); camelPathButton.setText("..."); camelPathButton.setToolTipText("Browse to select an available Camel file."); camelPathButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(final SelectionEvent event) { final IResource res = Util.selectResourceFromWorkspace(getShell(), ".xml", model.getProject()); if (res != null) { final IPath respath = JavaUtil.getJavaPathForResource(res); final String path = respath.makeRelative().toString(); model.setCamelFilePath(path); camelFilePathText.setText(path); camelFilePathText.notifyListeners(SWT.Modify, new Event()); } } }); // Create source widgets Group group = new Group(page, SWT.SHADOW_ETCHED_IN); Label fileLabel = new Label(group, SWT.NONE); final Text sourcePathText = new Text(group, SWT.BORDER); final Button sourcePathButton = new Button(group, SWT.NONE); Label typeLabel = new Label(group, SWT.NONE); final ComboViewer sourceTypeViewer = new ComboViewer(new Combo(group, SWT.READ_ONLY)); createFileControls(group, fileLabel, "Source", sourcePathText, sourcePathButton, typeLabel, sourceTypeViewer); // Create target widgets group = new Group(page, SWT.SHADOW_ETCHED_IN); fileLabel = new Label(group, SWT.NONE); final Text targetPathText = new Text(group, SWT.BORDER); final Button targetPathButton = new Button(group, SWT.NONE); typeLabel = new Label(group, SWT.NONE); final ComboViewer targetTypeViewer = new ComboViewer(new Combo(group, SWT.READ_ONLY)); createFileControls(group, fileLabel, "Target", targetPathText, targetPathButton, typeLabel, targetTypeViewer); // Bind project widget to UI model projectViewer.setContentProvider(new ObservableListContentProvider()); IObservableValue widgetValue = ViewerProperties.singleSelection().observe(projectViewer); IObservableValue modelValue = BeanProperties.value(Model.class, "project").observe(model); UpdateValueStrategy strategy = new UpdateValueStrategy(); strategy.setBeforeSetValidator(new IValidator() { @Override public IStatus validate(final Object value) { if (value == null) { sourcePathButton.setEnabled(false); targetPathButton.setEnabled(false); return ValidationStatus.error("A project must be selected"); } sourcePathButton.setEnabled(true); targetPathButton.setEnabled(true); return ValidationStatus.ok(); } }); ControlDecorationSupport.create(context.bindValue(widgetValue, modelValue, strategy, null), SWT.LEFT); projectViewer.setInput(Properties.selfList(IProject.class).observe(model.projects)); // Bind transformation ID widget to UI model widgetValue = WidgetProperties.text(SWT.Modify).observe(idText); modelValue = BeanProperties.value(Model.class, "id").observe(model); strategy = new UpdateValueStrategy(); strategy.setBeforeSetValidator(new IValidator() { @Override public IStatus validate(final Object value) { if (value == null || value.toString().trim().isEmpty()) { return ValidationStatus.error("A transformation ID must be supplied"); } final String id = value.toString().trim(); final StringCharacterIterator iter = new StringCharacterIterator(id); for (char chr = iter.first(); chr != StringCharacterIterator.DONE; chr = iter.next()) { if (!Character.isJavaIdentifierPart(chr)) { return ValidationStatus.error("The transformation ID may only contain letters, " + "digits, currency symbols, or underscores"); } } if (model.camelConfigBuilder != null) { for (final String endpointId : model.camelConfigBuilder.getTransformEndpointIds()) { if (id.equalsIgnoreCase(endpointId)) { return ValidationStatus.error("A transformation with the supplied ID already exists"); } } } return ValidationStatus.ok(); } }); ControlDecorationSupport.create(context.bindValue(widgetValue, modelValue, strategy, null), SWT.LEFT); // Bind file path widget to UI model widgetValue = WidgetProperties.text(SWT.Modify).observe(pathText); modelValue = BeanProperties.value(Model.class, "filePath").observe(model); strategy = new UpdateValueStrategy(); strategy.setBeforeSetValidator(new IValidator() { @Override public IStatus validate(final Object value) { if (value == null || value.toString().trim().isEmpty()) { return ValidationStatus.error("The transformation file path must be supplied"); } if (!(value.toString().trim().isEmpty())) { final IFile file = model.getProject().getFile(Util.RESOURCES_PATH + (String) value); if (file.exists()) { return ValidationStatus.warning("A transformation file with that name already exists."); } } return ValidationStatus.ok(); } }); ControlDecorationSupport.create(context.bindValue(widgetValue, modelValue, strategy, null), SWT.LEFT); // Bind camel file path widget to UI model widgetValue = WidgetProperties.text(SWT.Modify).observe(camelFilePathText); modelValue = BeanProperties.value(Model.class, "camelFilePath").observe(model); strategy = new UpdateValueStrategy(); strategy.setBeforeSetValidator(new IValidator() { @Override public IStatus validate(final Object value) { if (value == null || value.toString().trim().isEmpty()) { return ValidationStatus.error("The Camel file path must be supplied"); } if (!(value.toString().trim().isEmpty())) { File testFile = null; final String path = (String) value; testFile = new File(model.getProject().getFile(path).getLocationURI()); if (!testFile.exists()) { testFile = new File( model.getProject().getFile(Util.RESOURCES_PATH + path).getLocationURI()); if (!testFile.exists()) { return ValidationStatus.error("The Camel file path must be a valid file location"); } } try { CamelConfigBuilder.loadConfig(testFile); } catch (final Exception e) { return ValidationStatus.error("The Camel file path must refer to a valid Camel file"); } } return ValidationStatus.ok(); } }); ControlDecorationSupport.create(context.bindValue(widgetValue, modelValue, strategy, null), SWT.LEFT | SWT.TOP); final ControlDecorationUpdater sourceUpdator = new ControlDecorationUpdater(); final ControlDecorationUpdater targetUpdator = new ControlDecorationUpdater(); // Bind source file path widget to UI model widgetValue = WidgetProperties.text(SWT.Modify).observe(sourcePathText); modelValue = BeanProperties.value(Model.class, "sourceFilePath").observe(model); strategy = new UpdateValueStrategy(); strategy.setBeforeSetValidator(new IValidator() { @Override public IStatus validate(final Object value) { final String path = value == null ? null : value.toString().trim(); if (path == null || path.isEmpty()) { return ValidationStatus .error("A source file path must be supplied for the supplied target file path"); } if (model.getProject().findMember(path) == null) { return ValidationStatus.error("Unable to find a source file with the supplied path"); } return ValidationStatus.ok(); } }); ControlDecorationSupport.create(context.bindValue(widgetValue, modelValue, strategy, null), SWT.LEFT, null, sourceUpdator); // Bind target file path widget to UI model widgetValue = WidgetProperties.text(SWT.Modify).observe(targetPathText); modelValue = BeanProperties.value(Model.class, "targetFilePath").observe(model); strategy = new UpdateValueStrategy(); strategy.setBeforeSetValidator(new IValidator() { @Override public IStatus validate(final Object value) { final String path = value == null ? null : value.toString().trim(); if (path == null || path.isEmpty()) { return ValidationStatus .error("A target file path must be supplied for the supplied source file path"); } if (model.getProject().findMember(path) == null) { return ValidationStatus.error("Unable to find a target file with the supplied path"); } return ValidationStatus.ok(); } }); ControlDecorationSupport.create(context.bindValue(widgetValue, modelValue, strategy, null), SWT.LEFT, null, targetUpdator); // Bind source type widget to UI model sourceTypeViewer.setContentProvider(new ObservableListContentProvider()); widgetValue = ViewerProperties.singleSelection().observe(sourceTypeViewer); modelValue = BeanProperties.value(Model.class, "sourceType").observe(model); context.bindValue(widgetValue, modelValue); sourceTypeViewer.setInput(Properties.selfList(ModelType.class).observe(Arrays.asList(ModelType.values()))); // Bind target type widget to UI model targetTypeViewer.setContentProvider(new ObservableListContentProvider()); widgetValue = ViewerProperties.singleSelection().observe(targetTypeViewer); modelValue = BeanProperties.value(Model.class, "targetType").observe(model); context.bindValue(widgetValue, modelValue); targetTypeViewer.setInput(Properties.selfList(ModelType.class).observe(Arrays.asList(ModelType.values()))); // Set focus to appropriate control page.addPaintListener(new PaintListener() { @Override public void paintControl(final PaintEvent event) { if (model.getProject() == null) { projectViewer.getCombo().setFocus(); } else { idText.setFocus(); } page.removePaintListener(this); } }); for (final Object observable : context.getValidationStatusProviders()) { ((Binding) observable).getTarget().addChangeListener(new IChangeListener() { @Override public void handleChange(final ChangeEvent event) { validatePage(); } }); } if (model.getProject() == null) { validatePage(); } else { projectViewer.setSelection(new StructuredSelection(model.getProject())); } }
From source file:org.jboss.tools.fuse.transformation.editor.internal.AddCustomFunctionDialog.java
License:Open Source License
@Override protected void constructContents(final Composite parent) { parent.setLayout(GridLayoutFactory.swtDefaults().numColumns(3).create()); Label label = new Label(parent, SWT.NONE); label.setText("Class:"); final Button classButton = new Button(parent, SWT.NONE); classButton.setLayoutData(// ww w . j a va 2 s . c o m GridDataFactory.swtDefaults().align(SWT.FILL, SWT.CENTER).grab(true, false).create()); classButton.setAlignment(SWT.LEFT); classButton.setText("< Click to select an existing class >"); final Button newClassButton = new Button(parent, SWT.NONE); newClassButton .setImage(new DecorationOverlayIcon(JavaUI.getSharedImages().getImage(ISharedImages.IMG_OBJS_CLASS), Decorations.ADD, IDecoration.TOP_RIGHT).createImage()); label = new Label(parent, SWT.NONE); label.setText("Method:"); final ComboViewer methodComboViewer = new ComboViewer(parent, SWT.READ_ONLY); methodComboViewer.getCombo().setLayoutData( GridDataFactory.swtDefaults().span(2, 1).align(SWT.FILL, SWT.CENTER).grab(true, false).create()); methodComboViewer.setContentProvider(new ArrayContentProvider()); methodComboViewer.setLabelProvider(new LabelProvider() { @Override public String getText(final Object element) { final IMethod method = (IMethod) element; try { final StringBuilder builder = new StringBuilder(); builder.append(Signature.getSignatureSimpleName(method.getReturnType())); builder.append(" "); builder.append(method.getElementName()); builder.append("("); final String[] types = method.getParameterTypes(); final String[] names = method.getParameterNames(); boolean hasPrm = false; for (int ndx = 0; ndx < types.length; ndx++) { if (hasPrm) { builder.append(", "); } else { builder.append(" "); hasPrm = true; } builder.append(Signature.getSignatureSimpleName(types[ndx])); builder.append(" "); builder.append(names[ndx]); } if (hasPrm) { builder.append(" "); } builder.append(")"); return builder.toString(); } catch (final JavaModelException e) { return ""; } } }); methodComboViewer.setComparator(new ViewerComparator() { @Override public int compare(final Viewer viewer, final Object object1, final Object object2) { final IMethod method1 = (IMethod) object1; final IMethod method2 = (IMethod) object2; int comparison = method1.getElementName().compareTo(method2.getElementName()); if (comparison != 0) { return comparison; } final String[] types1 = method1.getParameterTypes(); final String[] types2 = method2.getParameterTypes(); comparison = types1.length - types2.length; if (comparison != 0) { return comparison; } for (int ndx = 0; ndx < types1.length; ndx++) { comparison = Signature.getSignatureSimpleName(types1[ndx]) .compareTo(Signature.getSignatureSimpleName(types2[ndx])); if (comparison != 0) { return comparison; } } return 0; } }); methodComboViewer.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(final SelectionChangedEvent event) { methodSelected(methodComboViewer); } }); classButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(final SelectionEvent event) { selectClass(classButton, methodComboViewer); } }); newClassButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(final SelectionEvent event) { createNewClass(classButton, methodComboViewer); } }); }
From source file:org.jboss.tools.fuse.transformation.editor.internal.AddCustomTransformationDialog.java
License:Open Source License
@Override protected void constructContents(Composite parent) { parent.setLayout(GridLayoutFactory.swtDefaults().numColumns(3).create()); Label label = new Label(parent, SWT.NONE); label.setText(Messages.AddCustomTransformationDialog_label_Class); final Button classButton = new Button(parent, SWT.NONE); classButton.setLayoutData(//from w ww.j a va2 s .co m GridDataFactory.swtDefaults().align(SWT.FILL, SWT.CENTER).grab(true, false).create()); classButton.setAlignment(SWT.LEFT); classButton.setText(Messages.AddCustomTransformationDialog_button_selectAnExistingClass); Button newClassButton = new Button(parent, SWT.NONE); newClassButton .setImage(new DecorationOverlayIcon(JavaUI.getSharedImages().getImage(ISharedImages.IMG_OBJS_CLASS), Decorations.ADD, IDecoration.TOP_RIGHT).createImage()); label = new Label(parent, SWT.NONE); label.setText(Messages.AddCustomTransformationDialog_label_method); final ComboViewer methodComboViewer = new ComboViewer(parent, SWT.READ_ONLY); methodComboViewer.getCombo().setLayoutData( GridDataFactory.swtDefaults().span(2, 1).align(SWT.FILL, SWT.CENTER).grab(true, false).create()); methodComboViewer.setContentProvider(new ArrayContentProvider()); methodComboViewer.setLabelProvider(new LabelProvider() { @Override public String getText(Object element) { IMethod method = (IMethod) element; try { StringBuilder builder = new StringBuilder(); builder.append(Signature.getSignatureSimpleName(method.getReturnType())); builder.append(" "); //$NON-NLS-1$ builder.append(method.getElementName()); builder.append("("); //$NON-NLS-1$ String[] types = method.getParameterTypes(); String[] names = method.getParameterNames(); boolean hasPrm = false; for (int ndx = 0; ndx < types.length; ndx++) { if (hasPrm) builder.append(", "); //$NON-NLS-1$ else { builder.append(" "); //$NON-NLS-1$ hasPrm = true; } builder.append(Signature.getSignatureSimpleName(types[ndx])); builder.append(" "); //$NON-NLS-1$ builder.append(names[ndx]); } if (hasPrm) builder.append(" "); //$NON-NLS-1$ builder.append(")"); //$NON-NLS-1$ return builder.toString(); } catch (JavaModelException e) { return ""; //$NON-NLS-1$ } } }); methodComboViewer.setComparator(new ViewerComparator() { @Override public int compare(Viewer viewer, Object object1, Object object2) { IMethod method1 = (IMethod) object1; IMethod method2 = (IMethod) object2; int comparison = method1.getElementName().compareTo(method2.getElementName()); if (comparison != 0) return comparison; String[] types1 = method1.getParameterTypes(); String[] types2 = method2.getParameterTypes(); comparison = types1.length - types2.length; if (comparison != 0) return comparison; for (int ndx = 0; ndx < types1.length; ndx++) { comparison = Signature.getSignatureSimpleName(types1[ndx]) .compareTo(Signature.getSignatureSimpleName(types2[ndx])); if (comparison != 0) return comparison; } return 0; } }); methodComboViewer.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { methodSelected(methodComboViewer); } }); classButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent event) { try { selectClass(classButton, methodComboViewer); } catch (JavaModelException e) { Activator.error(e); } } }); newClassButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent event) { createNewClass(classButton, methodComboViewer); } }); }
From source file:org.kalypso.contribs.eclipse.ui.pager.ElementsComposite.java
License:Open Source License
private void addCombo(final Composite body) { final ComboViewer viewer = new ComboViewer(body, SWT.SINGLE | SWT.READ_ONLY); viewer.getCombo().setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, false)); viewer.setContentProvider(new ArrayContentProvider()); viewer.setLabelProvider(new LabelProvider() { @Override/* ww w . j a v a 2s. c o m*/ public String getText(final Object element) { if (element instanceof IElementPage) { final IElementPage page = (IElementPage) element; return page.getLabel(); } return super.getText(element); } }); viewer.setInput(m_pages); viewer.setSelection(new StructuredSelection(m_selectedPage)); viewer.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(final SelectionChangedEvent event) { final IStructuredSelection selection = (IStructuredSelection) viewer.getSelection(); final Object element = selection.getFirstElement(); if (element instanceof IElementPage) { m_selectedPage = (IElementPage) element; fireSelectedPageChanged(m_selectedPage); } update(); } }); fireSelectedPageChanged(m_selectedPage); }
From source file:org.kalypso.kalypsomodel1d2d.ui.map.channeledit.ProfileSelectionSection.java
License:Open Source License
private Control createThemeCombo(final FormToolkit toolkit, final Composite parent, final ChannelEditData data, final DatabindingForm binding) { final ComboViewer themeChooser = new ComboViewer(parent, SWT.DROP_DOWN | SWT.READ_ONLY); toolkit.adapt(themeChooser.getControl(), true, false); themeChooser.setContentProvider(new ArrayContentProvider()); themeChooser.setLabelProvider(new LabelProvider()); /* Binding */ final IObservableValue targetInput = ViewersObservables.observeInput(themeChooser); final IObservableValue modelInput = BeansObservables.observeValue(data, ChannelEditData.PROPERTY_PROFILE_THEME_INPUT); binding.bindValue(targetInput, modelInput); final IObservableValue targetSelection = ViewersObservables.observeSinglePostSelection(themeChooser); final IObservableValue modelSelection = BeansObservables.observeValue(data, ChannelEditData.PROPERTY_PROFILE_THEME_SELECTED); binding.bindValue(targetSelection, modelSelection); final IObservableValue targetEnablement = SWTObservables.observeEnabled(themeChooser.getCombo()); final IObservableValue modelEnablement = BeansObservables.observeValue(data, ChannelEditData.PROPERTY_PROFILE_THEME_SELECTION_ENABLED); binding.bindValue(targetEnablement, modelEnablement); return themeChooser.getControl(); }
From source file:org.kalypso.model.wspm.pdb.ui.internal.admin.waterbody.imports.AbstractSelectAttributesPage.java
License:Open Source License
protected final <T> ImportAttributeInfo<T> createAttributeControl(final String label, final String property, final Composite parent, final boolean optional) { new Label(parent, SWT.NONE).setText(label); final ComboViewer viewer = new ComboViewer(parent, SWT.DROP_DOWN | SWT.READ_ONLY); final Combo combo = viewer.getCombo(); combo.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); viewer.setLabelProvider(new DBFFieldLabelProvider()); viewer.setContentProvider(new ArrayContentProvider()); viewer.setComparator(new ViewerComparator()); final ImportAttributeInfo<T> info = new ImportAttributeInfo<>(property, optional); m_infoComboMap.put(info, viewer);/*ww w. java2s. c om*/ final IViewerObservableValue target = ViewersObservables.observeSinglePostSelection(viewer); final IObservableValue model = BeansObservables.observeValue(info, ImportAttributeInfo.PROPERTY_FIELD); final DataBinder binder = new DataBinder(target, model); if (!optional) { final String message = String.format(Messages.getString("AbstractSelectAttributesPage.3"), label); //$NON-NLS-1$ final ObjectNotSameValidator validator = new ObjectNotSameValidator(IStatus.ERROR, message, ImportAttributeInfo.FIELD_USE_DEFAULT); binder.addTargetAfterGetValidator(validator); binder.addModelBeforeSetValidator(validator); } m_binding.bindValue(binder); return info; }
From source file:org.kalypso.model.wspm.tuhh.ui.panel.EnergylossPanel.java
License:Open Source License
private void buildCombo(final IDataBinding dataBinding, final EnergylossDataModel model) { final ComboViewer elType = new ComboViewer(m_propPanel, SWT.BORDER); elType.setContentProvider(new ArrayContentProvider()); elType.setInput(ArrayUtils.remove(ENERGYLOSS_TYPE.values(), 0)); final Combo combo = elType.getCombo(); combo.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false)); combo.setToolTipText(Messages.getString("org.kalypso.model.wspm.tuhh.ui.panel.EnergylossPanel.2")); //$NON-NLS-1$ // FIXME: makes no sense: data binding, but also a focus listener ?!? combo.addFocusListener(new FocusListener() { @Override/*w w w . java2s . c o m*/ public void focusGained(final FocusEvent e) { // } @Override public void focusLost(final FocusEvent e) { if (!(e.getSource() instanceof Combo)) { return; } if (((Combo) e.getSource()).getSelectionIndex() > -1 || ((Combo) e.getSource()).getText() != "") //$NON-NLS-1$ { model.fireObjectChange(((Combo) e.getSource()).getText(), model.getEnergylossValue()); } else if (((Combo) e.getSource()).getText() == "") //$NON-NLS-1$ { model.removeEnergyloss(); } } }); combo.addFocusListener(getComboMessageListener()); m_toolkit.adapt(elType.getCombo()); final DataBinder binder = bind(elType.getCombo(), model); dataBinding.bindValue(binder); m_comboFocusListener.init(combo); }
From source file:org.kalypso.model.wspm.tuhh.ui.panel.roughness.pages.RoughnessClassesPage.java
License:Open Source License
@Override protected void build(final Composite body, final FormToolkit toolkit, final String label, final String property) { toolkit.createLabel(body, label);/*from w w w .j av a 2 s.c o m*/ final ComboViewer viewer = new ComboViewer(body, SWT.READ_ONLY | SWT.SINGLE | SWT.BORDER); viewer.getCombo().setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); viewer.setContentProvider(new ArrayContentProvider()); viewer.setLabelProvider( new ClassificationLabelProvider(getProfile(), IWspmPointProperties.POINT_PROPERTY_ROUGHNESS_CLASS)); viewer.setInput(getRoughnessClasses()); final IObservableValue viewerSelection = ViewersObservables.observeSingleSelection(viewer); final IObservableValue modelValue = getModel().getObservableValue(property); getBinding().bindValue(new DataBinder(viewerSelection, modelValue)); }