List of usage examples for org.eclipse.jface.databinding.viewers ViewerSupport bind
@SafeVarargs public static <E> void bind(StructuredViewer viewer, IObservableSet<E> input, IValueProperty<? super E, ?>... labelProperties)
From source file:com.amitinside.e4.rcp.todo.parts.TodoOverviewPart.java
License:Apache License
@PostConstruct public void createControls(Composite parent, final MWindow window, EMenuService menuService) { applyGridLayout(parent).numColumns(1); btnNewButton = new Button(parent, SWT.PUSH); btnNewButton.addSelectionListener(new SelectionAdapter() { @Override//from ww w . java 2 s .c o m public void widgetSelected(SelectionEvent e) { final Job job = new Job("loading") { @Override protected IStatus run(IProgressMonitor monitor) { final List<Todo> list = model.getTodos(); broker.post(LOCAL_EVENT_FINISH, list); return Status.OK_STATUS; } }; job.schedule(); } }); btnNewButton.setText("Load Data"); final Text search = new Text(parent, SWT.SEARCH | SWT.CANCEL | SWT.ICON_SEARCH); // Assuming that GridLayout is used search.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false, 1, 1)); search.setMessage("Filter"); // Filter at every keystroke search.addModifyListener(new ModifyListener() { @Override public void modifyText(ModifyEvent e) { final Text source = (Text) e.getSource(); searchString = source.getText(); // Trigger update in the viewer viewer.refresh(); } }); // SWT.SEARCH | SWT.CANCEL not supported under Windows7 // This does not work under Windows7 search.addSelectionListener(new SelectionAdapter() { @Override public void widgetDefaultSelected(SelectionEvent e) { if (e.detail == SWT.CANCEL) { final Text text = (Text) e.getSource(); text.setText(""); // } } }); viewer = new TableViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION); final Table table = viewer.getTable(); table.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1)); table.setHeaderVisible(true); table.setLinesVisible(true); final TableViewerColumn colSummary = new TableViewerColumn(viewer, SWT.NONE); colSummary.getColumn().setWidth(100); colSummary.getColumn().setText("Summary"); colSummary.setEditingSupport(new EditingSupport(viewer) { @Override protected void setValue(Object element, Object value) { final Todo todo = (Todo) element; todo.setSummary(String.valueOf(value)); viewer.refresh(); } @Override protected Object getValue(Object element) { final Todo todo = (Todo) element; return todo.getSummary(); } @Override protected CellEditor getCellEditor(Object element) { return new TextCellEditor(viewer.getTable(), SWT.NONE); } @Override protected boolean canEdit(Object element) { return true; } }); final TableViewerColumn colDescription = new TableViewerColumn(viewer, SWT.NONE); colDescription.getColumn().setWidth(200); colDescription.getColumn().setText("Description"); // We search in the summary and description field viewer.addFilter(new ViewerFilter() { @Override public boolean select(Viewer viewer, Object parentElement, Object element) { final Todo todo = (Todo) element; return todo.getSummary().contains(searchString) || todo.getDescription().contains(searchString) || todo.getNote().contains(searchString); } }); final TableViewerColumn colNotes = new TableViewerColumn(viewer, SWT.NONE); colNotes.getColumn().setWidth(50); colNotes.getColumn().setText("Notes"); colNotes.setEditingSupport(new EditingSupport(viewer) { @Override protected void setValue(Object element, Object value) { final Todo todo = (Todo) element; todo.setNote(String.valueOf(value)); viewer.refresh(); } @Override protected Object getValue(Object element) { final Todo todo = (Todo) element; return todo.getNote(); } @Override protected CellEditor getCellEditor(Object element) { return new TextCellEditor(viewer.getTable(), SWT.NONE); } @Override protected boolean canEdit(Object element) { return true; } }); viewer.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { final IStructuredSelection selection = (IStructuredSelection) viewer.getSelection(); service.setSelection(selection.getFirstElement()); } }); menuService.registerContextMenu(viewer.getControl(), "com.amitinside.e4.rcp.todo.popupmenu.table"); writableList = new WritableList(model.getTodos(), Todo.class); ViewerSupport.bind(viewer, writableList, BeanProperties .values(new String[] { Todo.FIELD_SUMMARY, Todo.FIELD_DESCRIPTION, Todo.FIELD_NOTE })); }
From source file:com.google.cloud.tools.eclipse.projectselector.ProjectSelector.java
License:Apache License
public ProjectSelector(Composite parent) { super(parent, SWT.NONE); setLayout(new GridLayout()); Composite tableComposite = new Composite(this, SWT.NONE); TableColumnLayout tableColumnLayout = new TableColumnLayout(); tableComposite.setLayout(tableColumnLayout); GridDataFactory.fillDefaults().grab(true, true).applyTo(tableComposite); tableViewer = new TableViewer(tableComposite, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER); createColumns(tableColumnLayout);/*from ww w. j a v a2s . c o m*/ tableViewer.getTable().setHeaderVisible(true); input = WritableList.withElementType(GcpProject.class); ViewerSupport.bind(tableViewer, input, PojoProperties.values(new String[] { "name", //$NON-NLS-1$ "id" })); //$NON-NLS-1$ tableViewer.setComparator(new ViewerComparator()); statusLink = new Link(this, SWT.NONE); statusLink.addSelectionListener(new OpenUriSelectionListener(new ErrorDialogErrorHandler(getShell()))); statusLink.setText(""); GridDataFactory.fillDefaults().applyTo(statusLink); }
From source file:cz.robotron.examples.parts._003_TableWithViewerSupport.java
License:Open Source License
@PostConstruct public void createComposite(Composite parent) { try {// ww w. j a v a 2 s .c o m GridLayout gl_parent = new GridLayout(); parent.setLayout(gl_parent); WritableList input = new WritableList(TestData.getPersonData(), Person.class); _tableViewer = new TableViewer(parent, SWT.BORDER | SWT.FULL_SELECTION); Table table = _tableViewer.getTable(); table.setHeaderVisible(true); // Set content Provider ObservableListContentProvider contentProvider = new ObservableListContentProvider(); _tableViewer.setContentProvider(contentProvider); table.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1)); _tableViewer.setInput(input); String[] propertyNames = new String[] { "lastName", "firstName", "address.street", "address.city" }; createTableColumns(_tableViewer, propertyNames); ViewerSupport.bind(_tableViewer, input, BeanProperties.values(propertyNames)); } catch (Exception e) { Utils.showException("Cannot create ViewerSupport for a Table", e); } }
From source file:gov.redhawk.ui.views.internal.monitor.ports.PortMonitorViewConfigDialog.java
License:Open Source License
private void createColumnGroup(final Composite parent) { final Group group = new Group(parent, SWT.None); group.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1)); group.setText("Column Configuration"); group.setLayout(new GridLayout(1, false)); CheckboxTableViewer viewer = CheckboxTableViewer.newCheckList(group, SWT.BORDER | SWT.FULL_SELECTION | SWT.V_SCROLL); final Table table = viewer.getTable(); final GridData gd_table = new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1); gd_table.minimumHeight = 200;//from ww w . ja va 2s . c o m table.setLayoutData(gd_table); viewer.getTable().setHeaderVisible(false); viewer.setSorter(new ViewerSorter() { @Override public int compare(final Viewer viewer, final Object e1, final Object e2) { final Column c1 = (Column) e1; final Column c2 = (Column) e2; return c1.getName().compareToIgnoreCase(c2.getName()); } }); ViewerSupport.bind(viewer, BeansObservables.observeList(state, "input"), PojoProperties.value("name")); context.bindSet(ViewerProperties.checkedElements(Column.class).observe(viewer), BeansObservables.observeSet(state, "checked")); }
From source file:madcow.magic.ui.application.MagicApplicationGUI.java
License:Open Source License
/** * @param dbc//from www. j a v a 2s.co m * @param cardSelection * @param collCardSelection */ private void initCardInfoEnumBinding(EMFDataBindingContext dbc, IObservableValue cardSelection) { UpdateValueStrategy updateEnumStrategy = new UpdateValueStrategy(true, UpdateValueStrategy.POLICY_UPDATE); updateEnumStrategy .setConverter(new RarityTypeToEEnumLiteralConverter(RarityType.class, EEnumLiteral.class)); UpdateValueStrategy requestEnumStrategy = new UpdateValueStrategy(true, UpdateValueStrategy.POLICY_ON_REQUEST); requestEnumStrategy .setConverter(new EEnumLiteralToRarityTypeConverter(EEnumLiteral.class, RarityType.class)); IValueProperty raritySelection = ViewerProperties.singleSelection(); IEMFValueProperty pRarity = EMFProperties.value(CardPackage.Literals.CARD__RARITY); dbc.bindValue(raritySelection.observe(rarityViewer), pRarity.observeDetail(cardSelection), requestEnumStrategy, updateEnumStrategy); IEMFListProperty pExpansionList = EMFProperties.multiList(CardPackage.Literals.CARD__REPRINTS, CardPackage.Literals.CARD__ORIGINAL_CARD); IObservableList sets = pExpansionList.observeDetail(cardSelection); IEMFValueProperty pExpansionName = EMFProperties.value(FeaturePath.fromList(CardPackage.Literals.CARD__SET, DatabasePackage.Literals.MAGIC_DB_ELEMENT__NAME)); ViewerSupport.bind(otherSetsViewer, sets, pExpansionName); }
From source file:madcow.magic.ui.application.MagicApplicationGUI.java
License:Open Source License
/** * @param dbc//from ww w .j a va 2 s. c o m * @param cardSelection * @param collCardSelection */ private void initCardInfoTextBinding(EMFDataBindingContext dbc, IObservableValue cardSelection) { UpdateValueStrategy updateStrategy = new UpdateValueStrategy(true, UpdateValueStrategy.POLICY_UPDATE); UpdateValueStrategy requestStrategy = new UpdateValueStrategy(true, UpdateValueStrategy.POLICY_ON_REQUEST); IEMFValueProperty pName = EMFProperties.value(DatabasePackage.Literals.MAGIC_DB_ELEMENT__NAME); dbc.bindValue(SWTObservables.observeText(cardName, SWT.Modify), pName.observeDetail(cardSelection), requestStrategy, updateStrategy); IEMFValueProperty pMana = EMFProperties.value(CardPackage.Literals.CARD__MANACOST_STRING); dbc.bindValue(SWTObservables.observeText(manaCost, SWT.Modify), pMana.observeDetail(cardSelection), requestStrategy, updateStrategy); IEMFValueProperty pTypes = EMFProperties.value(CardPackage.Literals.CARD__TYPE_STRING); dbc.bindValue(SWTObservables.observeText(types, SWT.Modify), pTypes.observeDetail(cardSelection), requestStrategy, updateStrategy); IEMFValueProperty pSubTypes = EMFProperties.value(CardPackage.Literals.CARD__SUBTYPE); dbc.bindValue(SWTObservables.observeText(subTypes, SWT.Modify), pSubTypes.observeDetail(cardSelection), requestStrategy, updateStrategy); IEMFValueProperty pText = EMFProperties.value(DatabasePackage.Literals.MAGIC_DB_ELEMENT__DESCRIPTION); dbc.bindValue(SWTObservables.observeText(cardText, SWT.Modify), pText.observeDetail(cardSelection), requestStrategy, updateStrategy); IEMFValueProperty pExpansion = EMFProperties.value(FeaturePath.fromList(CardPackage.Literals.CARD__SET, DatabasePackage.Literals.MAGIC_DB_ELEMENT__NAME)); dbc.bindValue(SWTObservables.observeText(expansion, SWT.Modify), pExpansion.observeDetail(cardSelection), requestStrategy, updateStrategy); IEMFValueProperty pArtist = EMFProperties.value(CardPackage.Literals.CARD__ARTIST); dbc.bindValue(SWTObservables.observeText(artist, SWT.Modify), pArtist.observeDetail(cardSelection), requestStrategy, updateStrategy); IObservableList raritys = EMFObservables.observeList(CardPackage.Literals.RARITY_TYPE, EcorePackage.Literals.EENUM__ELITERALS); IEMFValueProperty pRarityName = EMFProperties.value(EcorePackage.Literals.EENUM_LITERAL__LITERAL); ViewerSupport.bind(rarityViewer, raritys, pRarityName); //IEMFValueProperty pFlavor = EMFProperties.value(CardPackage.Literals.CARD__MANACOST_STRING); //UpdateValueStrategy updateStrategyTemp = new UpdateValueStrategy(true, // UpdateValueStrategy.POLICY_UPDATE); //updateStrategyTemp.setAfterGetValidator(new DummyValidator()); //updateStrategyTemp.setAfterConvertValidator(new DummyValidator()); //updateStrategyTemp.setBeforeSetValidator(new DummyValidator()); //IEMFValueProperty pFlavor = EMFProperties.value( // FeaturePath.fromList(EcorePackage.Literals.ETYPED_ELEMENT__ETYPE, // EcorePackage.Literals.ENAMED_ELEMENT__NAME)); //dbc.bindValue(SWTObservables.observeText(flavorText, SWT.Modify), // pFlavor.observeDetail(cardSelection), requestStrategy, updateStrategyTemp); }
From source file:madcow.magic.ui.application.MagicApplicationGUI.java
License:Open Source License
private void initCardSelectionBinding() { // card list table binding IObservableValue setSelection = ViewersObservables.observeSingleSelection(setViewer); IEMFListProperty pCardList = EMFProperties.list(SetPackage.Literals.SET__CARDS); IObservableList cards = pCardList.observeDetail(setSelection); IEMFValueProperty[] pCardDetails = new IEMFValueProperty[3]; pCardDetails[0] = EMFProperties.value(DatabasePackage.Literals.MAGIC_DB_ELEMENT__NAME); pCardDetails[1] = EMFProperties.value(CardPackage.Literals.CARD__NUMBER); //pCardDetails[2] = EMFProperties.value(FeaturePath.fromList(EcorePackage.Literals.ETYPED_ELEMENT__ETYPE,EcorePackage.Literals.ECLASSIFIER__INSTANCE_TYPE_NAME)); pCardDetails[2] = EMFProperties.value(CardPackage.Literals.CARD__TYPE_STRING); ViewerSupport.bind(cardViewer, cards, pCardDetails); }
From source file:madcow.magic.ui.application.MagicApplicationGUI.java
License:Open Source License
private void initCollectionCardList() { IEMFValueProperty[] pCardDetails = new IEMFValueProperty[3]; pCardDetails[0] = EMFProperties.value(DatabasePackage.Literals.MAGIC_DB_ELEMENT__NAME); pCardDetails[1] = EMFProperties.value(CardPackage.Literals.CARD__NUMBER); pCardDetails[2] = EMFProperties.value(CardPackage.Literals.CARD__TYPE_STRING); IObservableValue containerSelection = ViewersObservables.observeSingleSelection(containers); IEMFListProperty pContCardList = EMFProperties.list(CollectionPackage.Literals.CONTAINER__CARDS); IObservableList contCards = pContCardList.observeDetail(containerSelection); IEMFValueProperty pcard = EMFProperties.value(CollectionPackage.Literals.CARD_INSTANCE__CARD); IObservableList cards = pcard.observeDetail(contCards); ViewerSupport.bind(cardViewer, cards, pCardDetails); }
From source file:madcow.magic.ui.application.MagicApplicationGUI.java
License:Open Source License
private void initSetSelectionBinding() { // set selection combo box binding IObservableValue blockSelection = ViewersObservables.observeSingleSelection(blockViewer); IEMFListProperty pSetList = EMFProperties.list(SetPackage.Literals.BLOCK__SETS); IObservableList sets = pSetList.observeDetail(blockSelection); IEMFValueProperty pSetName = EMFProperties.value(DatabasePackage.Literals.MAGIC_DB_ELEMENT__NAME); ViewerSupport.bind(setViewer, sets, pSetName); }
From source file:madcow.magic.ui.application.MagicApplicationGUI.java
License:Open Source License
private void initBlockSelectionBinding() { // block selection combo box binding WritableList blocks = new WritableList(database.getBlocks(), Block.class); IEMFValueProperty pBlockName = EMFProperties.value(DatabasePackage.Literals.MAGIC_DB_ELEMENT__NAME); ViewerSupport.bind(blockViewer, blocks, pBlockName); }