Example usage for org.eclipse.jface.databinding.viewers ViewerSupport bind

List of usage examples for org.eclipse.jface.databinding.viewers ViewerSupport bind

Introduction

In this page you can find the example usage for org.eclipse.jface.databinding.viewers ViewerSupport bind.

Prototype

@SafeVarargs
public static <E> void bind(StructuredViewer viewer, IObservableSet<E> input,
        IValueProperty<? super E, ?>... labelProperties) 

Source Link

Document

Binds the viewer to the specified input, using the specified label properties to generate labels.

Usage

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);
}