List of usage examples for org.eclipse.jface.databinding.viewers ViewerProperties singleSelection
public static IViewerValueProperty singleSelection()
From source file:org.eclipse.emf.example.databinding.project.ui.rcp.views.ProjectExplorerPart.java
License:Open Source License
private TreeViewer init(Composite parent, Foundation foundation) { TreeViewer viewer = new TreeViewer(parent); ObservableListTreeContentProvider cp = new ObservableListTreeContentProvider(new TreeFactoryImpl(), new TreeStructureAdvisorImpl()); viewer.setContentProvider(cp);/*w w w . ja v a 2s . co m*/ IObservableSet set = cp.getKnownElements(); IObservableMap[] map = new IObservableMap[4]; map[0] = EMFProperties.value(ProjectPackage.Literals.PROJECT__SHORTNAME).observeDetail(set); map[1] = EMFProperties.value(ProjectPackage.Literals.PROJECT__COMMITTERS).observeDetail(set); map[2] = EMFProperties.value(FeaturePath.fromList(ProjectPackage.Literals.COMMITTER_SHIP__PERSON, ProjectPackage.Literals.PERSON__FIRSTNAME)).observeDetail(set); map[3] = EMFProperties.value(FeaturePath.fromList(ProjectPackage.Literals.COMMITTER_SHIP__PERSON, ProjectPackage.Literals.PERSON__LASTNAME)).observeDetail(set); viewer.setLabelProvider(new TreeLabelProviderImpl(map)); IEMFListProperty projects = EMFProperties.list(ProjectPackage.Literals.FOUNDATION__PROJECTS); viewer.setInput(projects.observe(foundation)); MenuManager mgr = new MenuManager(); mgr.add(new GroupMarker("additions")); viewer.getControl().setMenu(mgr.createContextMenu(viewer.getControl())); site.registerContextMenu(Activator.PLUGIN_ID + ".projectexp", mgr, viewer); site.setSelectionProvider(viewer); ColumnViewerToolTipSupportImpl.enableFor(viewer, toolkit); IObservableValue treeObs = ViewerProperties.singleSelection().observe(viewer); treeObs.addValueChangeListener(new IValueChangeListener() { public void handleValueChange(ValueChangeEvent event) { ISourceProviderService s = (ISourceProviderService) site.getService(ISourceProviderService.class); ResourceProvider p = (ResourceProvider) s.getSourceProvider(ResourceProvider.MODEL_RESOURCE_NAME); if (event.diff.getNewValue() instanceof Project) { Project pr = (Project) event.diff.getNewValue(); master.setValue(pr); p.setCommitter(null); p.setProject(pr); } else if (event.diff.getNewValue() != null) { CommitterShip cm = (CommitterShip) event.diff.getNewValue(); master.setValue(cm.getProject()); p.setCommitter(cm); p.setProject(cm.getProject()); } else { p.setCommitter(null); p.setProject(null); } } }); return viewer; }
From source file:org.eclipse.emf.examples.library.databinding.editor.LibraryEditor.java
License:Open Source License
private void createDetailArea(SashForm sashform, IFocusService focusService) { FormToolkit toolkit = new FormToolkit(sashform.getDisplay()); final DataBindingContext dbc = new DataBindingContext(); IValueProperty viewerProp = ViewerProperties.singleSelection(); IValueProperty textProp = WidgetProperties.text(SWT.Modify); IValueProperty formTextProp = FormProperties.text(); Composite comp = new Composite(sashform, SWT.NONE); comp.setLayout(new FillLayout()); Form form = toolkit.createForm(comp); toolkit.decorateFormHeading(form);/* ww w. ja v a2 s . com*/ form.setText(""); form.getBody().setLayout(new GridLayout(2, false)); toolkit.createLabel(form.getBody(), "Name"); Text t = toolkit.createText(form.getBody(), ""); t.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); focusService.addFocusTracker(t, LIBRARY_NAME); final IObservableValue viewerSelection = viewerProp.observe(viewer); IEMFEditValueProperty prop = EMFEditProperties.value(p.getEditingDomain(), EXTLibraryPackage.Literals.LIBRARY__NAME); IObservableValue uObs = prop.observeDetail(viewerSelection); dbc.bindValue(SWTObservables.observeDelayedValue(400, (ISWTObservableValue) textProp.observe(t)), uObs); dbc.bindValue(formTextProp.observe(form), uObs, new UpdateValueStrategy(), new UpdateValueStrategy().setConverter(new NullConverter())); GridData gd = new GridData(GridData.BEGINNING, GridData.BEGINNING, false, false); gd.verticalIndent = 10; toolkit.createLabel(form.getBody(), "Address").setLayoutData(gd); t = toolkit.createText(form.getBody(), "", SWT.MULTI | SWT.V_SCROLL | SWT.H_SCROLL); gd = new GridData(GridData.FILL_HORIZONTAL); gd.heightHint = t.getLineHeight() * 7; t.setLayoutData(gd); focusService.addFocusTracker(t, LIBRARY_ADDRESS); prop = EMFEditProperties.value(p.getEditingDomain(), EXTLibraryPackage.Literals.ADDRESSABLE__ADDRESS); dbc.bindValue(SWTObservables.observeDelayedValue(400, (ISWTObservableValue) textProp.observe(t)), prop.observeDetail(viewerSelection)); subfolder = new TabFolder(form.getBody(), SWT.NONE); subfolder.addSelectionListener(new SelectionListener() { public void widgetSelected(SelectionEvent e) { for (AbstractForm f : subforms) { if (e.item == f.getItem()) { f.activate(); } else { f.deactivate(); } } } public void widgetDefaultSelected(SelectionEvent e) { widgetSelected(e); } }); gd = new GridData(GridData.FILL_BOTH); gd.horizontalSpan = 2; subfolder.setLayoutData(gd); int i = 0; for (FormDescriptor desc : Activator.getDefault().getFormDescriptors()) { try { createForm(i++, desc, dbc, viewerSelection); } catch (CoreException e) { ErrorDialog.openError(viewer.getControl().getShell(), "Error loading forms", e.getMessage(), e.getStatus()); Activator.getDefault().getLog().log(e.getStatus()); } } if (subfolder.getItemCount() > 0) { subfolder.setSelection(0); subforms.get(0).activate(); } else { subfolder.setVisible(false); } Activator.getDefault().getFormHandler().addModificationListener(new IModificationListener() { public void formAdd(final int index, final FormDescriptor descriptor) { if (!viewer.getControl().isDisposed()) { viewer.getControl().getDisplay().syncExec(new Runnable() { public void run() { try { createForm(index, descriptor, dbc, viewerSelection); } catch (CoreException e) { ErrorDialog.openError(viewer.getControl().getShell(), "Error loading forms", e.getMessage(), e.getStatus()); Activator.getDefault().getLog().log(e.getStatus()); } } }); } } public void formRemoved(FormDescriptor descriptor) { String id = descriptor.getId(); Iterator<AbstractForm> it = subforms.iterator(); while (it.hasNext()) { final AbstractForm form = it.next(); if (form.getId().equals(id)) { if (!viewer.getControl().isDisposed()) { viewer.getControl().getDisplay().syncExec(new Runnable() { public void run() { form.dispose(); } }); it.remove(); } } } } }); }
From source file:org.eclipse.emf.examples.library.databinding.stock.dialog.BookDialog.java
License:Open Source License
@Override protected Control createDialogArea(Composite parent) { Composite container = (Composite) super.createDialogArea(parent); getShell().setText("Edit Book"); setTitle("Edit the book"); setMessage(/* ww w.j ava2 s. co m*/ "Edit the data of the book with the form below and press ok when done or cancel to undo all modifications."); Composite comp = new Composite(container, SWT.NONE); comp.setLayoutData(new GridData(GridData.FILL_BOTH)); comp.setLayout(new GridLayout(2, false)); DataBindingContext dbc = new DataBindingContext(); /* * Title */ Label l = new Label(comp, SWT.NONE); l.setText("Title"); Text t = new Text(comp, SWT.BORDER); t.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); IValueProperty uProp = WidgetProperties.text(SWT.Modify); IEMFEditValueProperty mProp = EMFEditProperties.value(domain, EXTLibraryPackage.Literals.BOOK__TITLE); dbc.bindValue(SWTObservables.observeDelayedValue(400, (ISWTObservableValue) uProp.observe(t)), mProp.observe(book)); /* * Publication Date */ l = new Label(comp, SWT.NONE); l.setText("Publication Date"); t = new Text(comp, SWT.BORDER); t.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); mProp = EMFEditProperties.value(domain, EXTLibraryPackage.Literals.ITEM__PUBLICATION_DATE); dbc.bindValue(SWTObservables.observeDelayedValue(400, (ISWTObservableValue) uProp.observe(t)), mProp.observe(book), new UpdateValueStrategy(), new UpdateValueStrategy().setConverter(new DateToStringConverter())); /* * Copies */ l = new Label(comp, SWT.NONE); l.setText("Copies"); t = new Text(comp, SWT.BORDER); t.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); mProp = EMFEditProperties.value(domain, EXTLibraryPackage.Literals.LENDABLE__COPIES); dbc.bindValue(SWTObservables.observeDelayedValue(400, (ISWTObservableValue) uProp.observe(t)), mProp.observe(book)); /* * Pages */ l = new Label(comp, SWT.NONE); l.setText("Pages"); t = new Text(comp, SWT.BORDER); t.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); mProp = EMFEditProperties.value(domain, EXTLibraryPackage.Literals.BOOK__PAGES); dbc.bindValue(SWTObservables.observeDelayedValue(400, (ISWTObservableValue) uProp.observe(t)), mProp.observe(book)); /* * Category */ l = new Label(comp, SWT.NONE); l.setText("Category"); ComboViewer categoryViewer = new ComboViewer(comp, SWT.BORDER); categoryViewer.setContentProvider(new ArrayContentProvider()); categoryViewer.setLabelProvider(new LabelProvider() { @Override public String getText(Object element) { switch ((BookCategory) element) { case BIOGRAPHY_LITERAL: return "Biographie"; case MYSTERY_LITERAL: return "Mystery"; case SCIENCE_FICTION_LITERAL: return "Science Fiction"; default: return ""; } } }); categoryViewer.getCombo().setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); categoryViewer.setInput(new BookCategory[] { BookCategory.BIOGRAPHY_LITERAL, BookCategory.MYSTERY_LITERAL, BookCategory.SCIENCE_FICTION_LITERAL }); IValueProperty selectionProp = ViewerProperties.singleSelection(); mProp = EMFEditProperties.value(domain, EXTLibraryPackage.Literals.BOOK__CATEGORY); dbc.bindValue(selectionProp.observe(categoryViewer), mProp.observe(book)); /* * Author */ l = new Label(comp, SWT.NONE); l.setText("Author"); TokenViewer authorViewer = new TokenViewer(comp); authorViewer.getControl().setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); authorViewer.setLabelProvider(new LabelProvider() { @Override public String getText(Object element) { Writer w = (Writer) element; return w.getLastName() + ", " + w.getFirstName(); } }); authorViewer.setContentProvider(new ArrayContentProvider()); authorViewer.setInput(EMFEditObservables.observeList(Realm.getDefault(), domain, library, EXTLibraryPackage.Literals.LIBRARY__WRITERS)); mProp = EMFEditProperties.value(domain, EXTLibraryPackage.Literals.BOOK__AUTHOR); dbc.bindValue(selectionProp.observe(authorViewer), mProp.observe(book)); return container; }
From source file:org.eclipse.emf.examples.library.databinding.stock.dialog.BookOnTapeDialog.java
License:Open Source License
@Override protected Control createDialogArea(Composite parent) { getShell().setText("Edit Book On Tape"); setTitle("Edit the book on tape"); setMessage(// ww w. j a va 2s .c o m "Edit the data of the book on tape with the form below and press ok when done or cancel to undo all modifications."); Composite container = (Composite) super.createDialogArea(parent); Composite comp = new Composite(container, SWT.NONE); comp.setLayoutData(new GridData(GridData.FILL_BOTH)); comp.setLayout(new GridLayout(2, false)); DataBindingContext dbc = new DataBindingContext(); /* * Title */ Label l = new Label(comp, SWT.NONE); l.setText("Title"); Text t = new Text(comp, SWT.BORDER); t.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); IValueProperty uProp = WidgetProperties.text(SWT.Modify); IEMFEditValueProperty mProp = EMFEditProperties.value(domain, EXTLibraryPackage.Literals.AUDIO_VISUAL_ITEM__TITLE); dbc.bindValue(SWTObservables.observeDelayedValue(400, (ISWTObservableValue) uProp.observe(t)), mProp.observe(bookOnTape)); /* * Publication Date */ l = new Label(comp, SWT.NONE); l.setText("Publication Date"); t = new Text(comp, SWT.BORDER); t.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); mProp = EMFEditProperties.value(domain, EXTLibraryPackage.Literals.ITEM__PUBLICATION_DATE); dbc.bindValue(SWTObservables.observeDelayedValue(400, (ISWTObservableValue) uProp.observe(t)), mProp.observe(bookOnTape), new UpdateValueStrategy(), new UpdateValueStrategy().setConverter(new DateToStringConverter())); /* * Copies */ l = new Label(comp, SWT.NONE); l.setText("Copies"); t = new Text(comp, SWT.BORDER); t.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); mProp = EMFEditProperties.value(domain, EXTLibraryPackage.Literals.LENDABLE__COPIES); dbc.bindValue(SWTObservables.observeDelayedValue(400, (ISWTObservableValue) uProp.observe(t)), mProp.observe(bookOnTape)); /* * Length */ l = new Label(comp, SWT.NONE); l.setText("Length (minutes)"); t = new Text(comp, SWT.BORDER); t.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); mProp = EMFEditProperties.value(domain, EXTLibraryPackage.Literals.AUDIO_VISUAL_ITEM__MINUTES_LENGTH); dbc.bindValue(SWTObservables.observeDelayedValue(400, (ISWTObservableValue) uProp.observe(t)), mProp.observe(bookOnTape)); /* * Author */ l = new Label(comp, SWT.NONE); l.setText("Author"); { TokenViewer authorViewer = new TokenViewer(comp); authorViewer.getControl().setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); authorViewer.setLabelProvider(new LabelProvider() { @Override public String getText(Object element) { Writer w = (Writer) element; return w.getLastName() + ", " + w.getFirstName(); } }); authorViewer.setContentProvider(new ArrayContentProvider()); authorViewer.setInput(EMFEditObservables.observeList(Realm.getDefault(), domain, library, EXTLibraryPackage.Literals.LIBRARY__WRITERS)); mProp = EMFEditProperties.value(domain, EXTLibraryPackage.Literals.BOOK_ON_TAPE__AUTHOR); IValueProperty selectionProp = ViewerProperties.singleSelection(); dbc.bindValue(selectionProp.observe(authorViewer), mProp.observe(bookOnTape)); } /* * Reader */ l = new Label(comp, SWT.NONE); l.setText("Reader"); { TokenViewer readerViewer = new TokenViewer(comp); readerViewer.getControl().setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); readerViewer.setLabelProvider(new LabelProvider() { @Override public String getText(Object element) { Writer w = (Writer) element; return w.getLastName() + ", " + w.getFirstName(); } }); readerViewer.setContentProvider(new ArrayContentProvider()); readerViewer.setInput(EMFEditObservables.observeList(Realm.getDefault(), domain, library, EXTLibraryPackage.Literals.LIBRARY__READERS)); mProp = EMFEditProperties.value(domain, EXTLibraryPackage.Literals.BOOK_ON_TAPE__READER); IValueProperty selectionProp = ViewerProperties.singleSelection(); dbc.bindValue(selectionProp.observe(readerViewer), mProp.observe(bookOnTape)); } return comp; }
From source file:org.eclipse.fx.ide.fxml.wizards.FXMLWizardPage.java
License:Open Source License
@Override protected void createFields(Composite parent, DataBindingContext dbc) { {//from www . java 2s. c o m Label l = new Label(parent, SWT.NONE); l.setText(Messages.FXMLWizardPage_4); final ComboViewer viewer = new ComboViewer(parent); viewer.setLabelProvider(new LabelProvider() { @Override public String getText(Object element) { IType t = (IType) element; return t.getElementName() + " - " + t.getPackageFragment().getElementName(); //$NON-NLS-1$ } }); viewer.setContentProvider(new ArrayContentProvider()); List<IType> types = getTypes(); viewer.setInput(types); viewer.getControl().setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); Button button = new Button(parent, SWT.PUSH); button.setText(Messages.FXMLWizardPage_6); button.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { IType type = findContainerType(); if (type != null) { FXMLWizardPage.this.customSelection = type; viewer.setInput(getTypes()); viewer.setSelection(new StructuredSelection(type)); } } }); FXMLElement element = getClazz(); element.addPropertyChangeListener(new PropertyChangeListener() { @Override public void propertyChange(PropertyChangeEvent evt) { if ("fragmentRoot".equals(evt.getPropertyName())) { //$NON-NLS-1$ viewer.setInput(getTypes()); } } }); dbc.bindValue(ViewerProperties.singleSelection().observe(viewer), BeanProperties.value("rootElement").observe(getClazz())); //$NON-NLS-1$ if (types.size() > 0) { viewer.setSelection(new StructuredSelection(types.get(0))); } } { Label l = new Label(parent, SWT.NONE); l.setText(Messages.FXMLWizardPage_9); Button b = new Button(parent, SWT.CHECK); dbc.bindValue(WidgetProperties.selection().observe(b), BeanProperties.value("fxRoot").observe(getClazz())); //$NON-NLS-1$ } }
From source file:org.eclipse.linuxtools.internal.docker.ui.wizards.ImagePullPushPage.java
License:Open Source License
@SuppressWarnings("unchecked") IObservableValue<IRegistry> createRegistrySelectionControls(Composite parent) { // registry selection final Label accountLabel = new Label(parent, SWT.NULL); accountLabel.setText(WizardMessages.getString("ImagePullPushPage.registry.account.label")); //$NON-NLS-1$ GridDataFactory.fillDefaults().align(SWT.FILL, SWT.CENTER).grab(false, false).applyTo(accountLabel); final Combo registryAccountCombo = new Combo(parent, SWT.DROP_DOWN | SWT.READ_ONLY); registryAccountCombo.setToolTipText(WizardMessages.getString("ImagePullPushPage.registry.account.desc")); //$NON-NLS-1$ GridDataFactory.fillDefaults().align(SWT.FILL, SWT.CENTER).grab(true, false).applyTo(registryAccountCombo); final ComboViewer registryAccountComboViewer = new ComboViewer(registryAccountCombo); registryAccountComboViewer.setContentProvider(ArrayContentProvider.getInstance()); registryAccountComboViewer.setLabelProvider(new RegistryAccountLabelProvider()); final List<IRegistry> allRegistryAccounts = getRegistryAccounts(); registryAccountComboViewer.setInput(allRegistryAccounts); if (!allRegistryAccounts.isEmpty()) { getModel().setSelectedRegistry(allRegistryAccounts.get(0)); }//ww w . j a va 2s.c om final IObservableValue<IRegistry> registryAccountObservable = BeanProperties .value(ImagePushPageModel.class, ImagePullPushPageModel.SELECTED_REGISTRY).observe(model); dbc.bindValue(ViewerProperties.singleSelection().observe(registryAccountComboViewer), registryAccountObservable); // link to add registries and accounts final Link addRegistryLink = new Link(parent, SWT.NONE); addRegistryLink.setText(WizardMessages.getString("ImagePullPushPage.add.link")); //$NON-NLS-1$ GridDataFactory.fillDefaults().align(SWT.RIGHT, SWT.CENTER).grab(true, false).applyTo(addRegistryLink); addRegistryLink.addSelectionListener(onAddRegistry(registryAccountComboViewer)); return registryAccountObservable; }
From source file:org.eclipse.linuxtools.internal.docker.ui.wizards.ImageSearchPage.java
License:Open Source License
@Override public void createControl(final Composite parent) { final int COLUMNS = 3; final Composite container = new Composite(parent, SWT.NONE); GridDataFactory.fillDefaults().align(SWT.FILL, SWT.FILL).span(1, 1).grab(true, false).applyTo(container); GridLayoutFactory.fillDefaults().numColumns(COLUMNS).margins(6, 6).spacing(10, 2).applyTo(container); // search text final Label searchImageLabel = new Label(container, SWT.NONE); searchImageLabel.setText(WizardMessages.getString("ImageSearchPage.imageLabel")); //$NON-NLS-1$ GridDataFactory.fillDefaults().align(SWT.FILL, SWT.CENTER).grab(false, false).applyTo(searchImageLabel); final Text searchImageText = new Text(container, SWT.BORDER | SWT.SEARCH | SWT.ICON_SEARCH | SWT.ICON_CANCEL); GridDataFactory.fillDefaults().align(SWT.FILL, SWT.CENTER).grab(true, false).applyTo(searchImageText); searchImageText.addKeyListener(onKeyPressed()); searchImageText.addTraverseListener(onSearchImageTextTraverse()); final Button searchImageButton = new Button(container, SWT.NONE); searchImageButton.setText(WizardMessages.getString("ImageSearchPage.search")); //$NON-NLS-1$ GridDataFactory.fillDefaults().align(SWT.FILL, SWT.CENTER).grab(false, false).applyTo(searchImageButton); searchImageButton.addSelectionListener(onSearchImageButtonSelected()); // result table final Label searchResultLabel = new Label(container, SWT.NONE); searchResultLabel.setText(WizardMessages.getString("ImageSearchPage.searchResultLabel")); //$NON-NLS-1$ GridDataFactory.fillDefaults().align(SWT.FILL, SWT.CENTER).grab(true, false).span(COLUMNS, 1) .applyTo(searchResultLabel); final Table table = new Table(container, SWT.BORDER | SWT.FULL_SELECTION | SWT.V_SCROLL | SWT.H_SCROLL); final TableViewer searchResultTableViewer = new TableViewer(table); table.setHeaderVisible(true);// w w w . j ava 2 s .c om table.setLinesVisible(true); addTableViewerColum(searchResultTableViewer, WizardMessages.getString("ImageSearchPage.nameColumn"), //$NON-NLS-1$ SWT.NONE, SWT.RIGHT, 290, new ImageNameColumnLabelProvider()); addTableViewerColum(searchResultTableViewer, WizardMessages.getString("ImageSearchPage.starsColumn"), //$NON-NLS-1$ SWT.NONE, SWT.RIGHT, 70, new ImageStarsColumnLabelProvider()); addTableViewerColum(searchResultTableViewer, WizardMessages.getString("ImageSearchPage.officialColumn"), //$NON-NLS-1$ SWT.NONE, SWT.CENTER, 70, new ImageOfficialColumnLabelProvider()); addTableViewerColum(searchResultTableViewer, WizardMessages.getString("ImageSearchPage.automatedColumn"), //$NON-NLS-1$ SWT.NONE, SWT.CENTER, 70, new ImageAutomatedColumnLabelProvider()); GridDataFactory.fillDefaults().align(SWT.FILL, SWT.FILL).grab(true, true).span(COLUMNS, 1).hint(200, 100) .applyTo(table); // description text area final Group selectedImageDescriptionGroup = new Group(container, SWT.BORDER); selectedImageDescriptionGroup.setText(WizardMessages.getString("ImageSearchPage.descriptionGroup")); //$NON-NLS-1$ GridDataFactory.fillDefaults().align(SWT.FILL, SWT.CENTER).grab(true, true).span(COLUMNS, 1) .applyTo(selectedImageDescriptionGroup); GridLayoutFactory.fillDefaults().margins(6, 6).spacing(10, 2).applyTo(selectedImageDescriptionGroup); final Label selectedImageDescription = new Label(selectedImageDescriptionGroup, SWT.WRAP); GridDataFactory.fillDefaults().align(SWT.FILL, SWT.CENTER).grab(true, true).hint(200, 100) .applyTo(selectedImageDescription); // bind the search term final IObservableValue observableTermModel = BeanProperties .value(ImageSearchModel.class, ImageSearchModel.TERM).observe(model); final ISWTObservableValue imageSearchTextObservable = WidgetProperties.text(SWT.Modify) .observe(searchImageText); ctx.bindValue(imageSearchTextObservable, observableTermModel, new UpdateValueStrategy().setBeforeSetValidator(new SearchTermValidator(searchImageButton)), null); // observe the viewer content searchResultTableViewer.setContentProvider(new ObservableListContentProvider()); // observe the viewer content final IObservableList observableSearchResultModel = BeanProperties .list(ImageSearchModel.class, ImageSearchModel.IMAGE_SEARCH_RESULT).observe(model); searchResultTableViewer.setInput(observableSearchResultModel); // observe the viewer selection ctx.bindValue(ViewerProperties.singleSelection().observe(searchResultTableViewer), BeanProperties.value(ImageSearchModel.SELECTED_IMAGE).observe(model)); // observe the viewer selection to update the description label final IObservableValue observableSelectedImageDescription = PojoProperties .value("description", String.class) // $NON-NLS-1$ .observeDetail(ViewerProperties.singleSelection().observe(searchResultTableViewer)); ctx.bindValue(WidgetProperties.text().observe(selectedImageDescription), observableSelectedImageDescription); searchImageText.setFocus(); // attach the Databinding context status to this wizard page. WizardPageSupport.create(this, this.ctx); setControl(container); // trigger a search if an image name was provided if (model.getTerm() != null && !model.getTerm().isEmpty()) { searchImages(); } }
From source file:org.eclipse.linuxtools.internal.docker.ui.wizards.ImageTagSelectionPage.java
License:Open Source License
@Override public void createControl(final Composite parent) { final int COLUMNS = 1; final Composite container = new Composite(parent, SWT.NONE); GridDataFactory.fillDefaults().align(SWT.FILL, SWT.FILL).span(1, 1).grab(true, false).applyTo(container); GridLayoutFactory.fillDefaults().numColumns(COLUMNS).margins(6, 6).spacing(10, 2).applyTo(container); // tags/layers table final Table table = new Table(container, SWT.BORDER | SWT.FULL_SELECTION | SWT.V_SCROLL | SWT.H_SCROLL); GridDataFactory.fillDefaults().align(SWT.FILL, SWT.FILL).grab(true, true).span(COLUMNS, 1).hint(200, 200) .applyTo(table);//from ww w . java2 s. c o m final TableViewer tableViewer = new TableViewer(table); table.setHeaderVisible(true); table.setLinesVisible(true); addTableViewerColum(tableViewer, WizardMessages.getString("ImageTagSelectionPage.column.tag"), //$NON-NLS-1$ SWT.NONE, SWT.LEFT, 200, new RepositoryTagColumnLabelProvider()); addTableViewerColum(tableViewer, WizardMessages.getString("ImageTagSelectionPage.column.layer"), //$NON-NLS-1$ SWT.NONE, SWT.LEFT, 200, new RepositoryLayerColumnLabelProvider()); addTableViewerColum(tableViewer, WizardMessages.getString("ImageTagSelectionPage.column.localcopy"), //$NON-NLS-1$ SWT.NONE, SWT.LEFT, 75, new ImagePulledColumnLabelProvider()); tableViewer.setContentProvider(new ObservableListContentProvider()); // observe the viewer content final IObservableList observableSearchResultModel = BeanProperties .list(ImageSearchModel.class, ImageSearchModel.IMAGE_TAG_SEARCH_RESULT).observe(model); tableViewer.setInput(observableSearchResultModel); // observe the viewer selection ctx.bindValue(ViewerProperties.singleSelection().observe(tableViewer), BeanProperties.value(ImageSearchModel.SELECTED_IMAGE_TAG).observe(model)); setControl(container); }
From source file:org.eclipse.papyrus.infra.widgets.editors.BooleanCombo.java
License:Open Source License
/** * /*w w w . j ava2s . co m*/ * Constructor. * * @param parent * The Composite widget in which this editor will be displayed * @param style * The style of this editor's CCombo * @param label * This editor's label */ public BooleanCombo(Composite parent, int style, String label) { super(parent, style, label); CCombo combo = factory.createCCombo(this, style | SWT.BORDER); combo.setBackground(new Color(combo.getDisplay(), 255, 255, 255)); combo.setLayoutData(getDefaultLayoutData()); combo.setEditable(false); viewer = createComboViewer(combo); viewer.setContentProvider(new EncapsulatedContentProvider(new AbstractStaticContentProvider() { public Object[] getElements() { return new Boolean[] { Boolean.TRUE, Boolean.FALSE }; } })); viewer.setInput(""); //$NON-NLS-1$ setWidgetObservable(ViewerProperties.singleSelection().observe(viewer)); setCommitOnFocusLost(combo); }
From source file:org.eclipse.papyrus.widgets.editors.BooleanCombo.java
License:Open Source License
/** * //from www . j a v a2 s . co m * Constructor. * * @param parent * The Composite widget in which this editor will be displayed * @param style * The style of this editor's CCombo * @param label * This editor's label */ public BooleanCombo(Composite parent, int style, String label) { super(parent, style, label); CCombo combo = factory.createCCombo(this, style); combo.setLayoutData(getDefaultLayoutData()); combo.setEditable(false); viewer = new ComboViewer(combo); viewer.setContentProvider(new EncapsulatedContentProvider(new AbstractStaticContentProvider() { public Object[] getElements() { return new Boolean[] { Boolean.TRUE, Boolean.FALSE }; } })); viewer.setInput(""); //$NON-NLS-1$ setWidgetObservable(ViewerProperties.singleSelection().observe(viewer)); setCommitOnFocusLost(combo); }