Example usage for org.eclipse.jface.databinding.swt SWTObservables observeDelayedValue

List of usage examples for org.eclipse.jface.databinding.swt SWTObservables observeDelayedValue

Introduction

In this page you can find the example usage for org.eclipse.jface.databinding.swt SWTObservables observeDelayedValue.

Prototype

@SuppressWarnings("unchecked")
@Deprecated
public static ISWTObservableValue observeDelayedValue(int delay, ISWTObservableValue observable) 

Source Link

Document

Returns an observable which delays notification of value change events from observable until delay milliseconds have elapsed since the last change event, or until a FocusOut event is received from the underlying widget (whichever happens first).

Usage

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(//from  w ww. j a v  a 2  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(// w  w  w  .  j  av a2  s  .  co 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.rcptt.ui.navigator.Q7Explorer.java

License:Open Source License

@Override
public void createPartControl(Composite parent) {
    final Composite composite = new Composite(parent, SWT.NONE);
    GridLayoutFactory.fillDefaults().numColumns(2).spacing(0, 1).applyTo(composite);

    final SearchControl searchControl = new SearchControl(composite);
    GridDataFactory.fillDefaults().align(SWT.FILL, SWT.TOP).grab(true, false).indent(1, 2)
            .applyTo(searchControl);/*from  w  w  w.j a  v  a2 s .co  m*/

    searchControl.getFilterControl().addFocusListener(new TextFocusListener(searchControl.getFilterControl()));

    final Composite container = new Composite(composite, SWT.NONE);
    GridDataFactory.fillDefaults().grab(true, true).span(2, 1).applyTo(container);
    container.setLayout(new FillLayout());

    super.createPartControl(container);

    // viewer is created now

    // set search result control for search control can pass focus after
    // enter or down arrow
    searchControl.setSearchResultControl(viewer.getControl());
    final IObservableValue searchObservable = SWTObservables.observeDelayedValue(400,
            SWTObservables.observeText(searchControl.getFilterControl(), SWT.Modify));
    job.addResultListener(new ResultListener() {
        public void resultAdded(IQ7NamedElement result) {
            final SearchFilter filter = findFilter();
            if (filter == null) {
                return;
            }

            filter.add(result);
            refreshViewerJob.cancel();
            refreshViewerJob.schedule(400);
        }
    });

    searchObservable.addValueChangeListener(new IValueChangeListener() {

        public void handleValueChange(ValueChangeEvent event) {
            final SearchFilter filter = findFilter();
            if (filter == null) {
                return;
            }

            job.cancel();
            refreshViewerJob.cancel();

            final String newValue = (String) event.diff.getNewValue();
            if ("".equals(newValue.trim())) { //$NON-NLS-1$
                filter.setEnabled(false);
                filter.clear();
                viewer.refresh(false);
            } else {
                filter.setEnabled(true);
                filter.clear();
                viewer.refresh(false);

                job.setQuery(newValue);
                job.setUser(false);
                job.setPriority(Job.LONG);
                job.schedule();
            }
        }
    });
}

From source file:org.goko.common.bindings.toolbar.ToolItemDelegatingProperty.java

License:Open Source License

/** (inheritDoc)
 * @see org.eclipse.jface.databinding.swt.IWidgetValueProperty#observeDelayed(int, org.eclipse.swt.widgets.Widget)
 *///from w  w  w.j  a  va  2s  .  co  m
@Override
public ISWTObservableValue observeDelayed(int delay, Widget widget) {
    return SWTObservables.observeDelayedValue(delay, observe(widget));
}

From source file:org.switchyard.tools.ui.editor.diagram.binding.AbstractSYBindingComposite.java

License:Open Source License

protected ISWTObservableValue createDelayedObservableText(int delay, Text control, int events) {
    ISWTObservableValue delayed = SWTObservables.observeDelayedValue(delay,
            SWTObservables.observeText(control, events));
    return delayed;
}