Example usage for org.eclipse.jface.databinding.util JFaceProperties value

List of usage examples for org.eclipse.jface.databinding.util JFaceProperties value

Introduction

In this page you can find the example usage for org.eclipse.jface.databinding.util JFaceProperties value.

Prototype

public static <S, T> IValueProperty<S, T> value(Class<S> clazz, String fieldName, String propertyName) 

Source Link

Document

Returns a property for observing the property of the given model object whose getter and setter use the suffix fieldName in the same manner as a Java bean and which fires events to an IPropertyChangeListener for the given propertyName when the value of the field changes.

Usage

From source file:org.eclipse.pde.emfforms.editor.EmfMasterDetailBlock.java

License:Open Source License

@Override
protected void createMasterPart(final IManagedForm managedForm, Composite parent) {
    FormToolkit toolkit = parentEditor.getToolkit();

    section = toolkit.createSection(parent, getSectionOptions());
    section.setText(title);//from  w ww.  j av  a  2s .c om
    section.setDescription("Edit " + title); //$NON-NLS-1$
    section.marginWidth = 5;
    section.setLayout(new FillLayout());
    section.marginHeight = 5;

    Composite client = toolkit.createComposite(section, SWT.WRAP);
    GridLayoutFactory.fillDefaults().numColumns(showPushButtons() ? 2 : 1).applyTo(client);

    // deliberate use of the 3.4 API
    // TODO try to use the new look using a 3.5 fragment
    FilteredTree ft = new FilteredTree(client, getViewerOptions(), new PatternFilter());
    treeViewer = ft.getViewer();

    // Prevent scrollbars to be managed by the editor's root composite
    GridDataFactory.fillDefaults().grab(true, true).hint(50, 50).applyTo(treeViewer.getTree());

    //Buttons
    if (showPushButtons()) {
        Composite buttonComposite = new Composite(client, SWT.NONE);
        GridLayoutFactory.fillDefaults().numColumns(1).applyTo(buttonComposite);

        if (showGenericPushButtons())
            addButton = createButton(buttonComposite, "Add"); //$NON-NLS-1$
        if (showCustomPushButtons())
            createCustomButtons(buttonComposite);
        if (showGenericPushButtons())
            removeButton = createButton(buttonComposite, "Remove"); //$NON-NLS-1$

        GridDataFactory.fillDefaults().grab(false, false).applyTo(buttonComposite);
    }

    //SectionToolBar
    removeAction = createCustomToolbarRemoveAction();

    if (showToolbarButtons()) {
        toolBarManager = PDEFormToolkit.createSectionToolBarManager(section);
        Action addAction = createCustomToolbarAddAction();
        if (addAction != null) {
            toolBarManager.add(addAction);
        }

        if (removeAction != null) {
            toolBarManager.add(removeAction);
        }

        if (showExpandCollapseButtons()) {
            toolBarManager.add(new Separator());

            toolBarManager
                    .add(new Action("Expand All", Activator.getImageDescriptor("icons/obj16/expand.gif")) { //$NON-NLS-1$ //$NON-NLS-2$
                        @Override
                        public void run() {
                            treeViewer.getTree().setRedraw(false);
                            treeViewer.expandAll();
                            treeViewer.getTree().setRedraw(true);
                        }
                    });
            toolBarManager
                    .add(new Action("Collapse All", Activator.getImageDescriptor("icons/obj16/collapse.gif")) { //$NON-NLS-1$ //$NON-NLS-2$
                        @Override
                        public void run() {
                            treeViewer.getTree().setRedraw(false);
                            treeViewer.collapseAll();
                            treeViewer.getTree().setRedraw(true);
                        }
                    });
        }
        toolBarManager.update(true);
        section.setTextClient(toolBarManager.getControl());
    }

    treeViewer.setContentProvider(new AdapterFactoryContentProvider(parentEditor.getAdapterFactory()));
    treeViewer.setLabelProvider(
            new DecoratingLabelProvider(new AdapterFactoryLabelProvider(parentEditor.getAdapterFactory()),
                    PlatformUI.getWorkbench().getDecoratorManager().getLabelDecorator()));
    treeViewer.addFilter(getTreeFilter());

    int dndOperations = DND.DROP_COPY | DND.DROP_MOVE | DND.DROP_LINK;
    Transfer[] transfers = new Transfer[] { LocalTransfer.getInstance() };
    treeViewer.addDragSupport(dndOperations, transfers, new ViewerDragAdapter(treeViewer));
    treeViewer.addDropSupport(dndOperations, transfers,
            new EditingDomainViewerDropAdapter(parentEditor.getEditingDomain(), treeViewer));

    final SectionPart spart = new SectionPart(section);
    managedForm.addPart(spart);

    treeViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            managedForm.fireSelectionChanged(spart, event.getSelection());
        }
    });

    treeViewer.addOpenListener(new IOpenListener() {
        public void open(OpenEvent event) {
            detailsPart.setFocus();
        }
    });

    // Add listeners to manage activation/deactivation of the treeViewer's
    // ActionBarContributor's global handlers
    configureActionBarManagement();

    if (getRemoveButton() != null) {

        DataBindingContext bindingContext = new DataBindingContext();

        IValueProperty p = JFaceProperties.value(IAction.class, IAction.ENABLED, IAction.ENABLED);
        bindingContext.bindValue(SWTObservables.observeEnabled(getRemoveButton()), p.observe(removeAction));

        //Generic action for remove button
        getRemoveButton().addSelectionListener(new SelectionAdapter() {
            public void widgetSelected(SelectionEvent e) {
                if (removeAction != null)
                    removeAction.run();
            }
        });
    }

    createContextMenuFor(treeViewer);

    //update Editor selection
    getEditor().addViewerToListenTo(getTreeViewer());

    section.setClient(client);
}

From source file:org.eclipse.rcptt.ui.panels.Actions.java

License:Open Source License

public static final IObservableValue observeEnabled(IAction action) {
    return JFaceProperties.value(IAction.class, "enabled", IAction.ENABLED) //$NON-NLS-1$
            .observe(action);/*  www . j  ava2s .co  m*/
}

From source file:org.eclipse.rcptt.ui.panels.Actions.java

License:Open Source License

public static final IObservableValue observeChecked(IAction action) {
    return JFaceProperties.value(IAction.class, "checked", IAction.CHECKED) //$NON-NLS-1$
            .observe(action);/*w w  w.  j ava2 s  .  c o m*/
}

From source file:org.eclipse.rcptt.ui.panels.Actions.java

License:Open Source License

public static final IObservableValue observeImageDescriptor(IAction action) {
    return JFaceProperties.value(IAction.class, "imageDescriptor", //$NON-NLS-1$
            IAction.IMAGE).observe(action);
}

From source file:org.eclipse.rcptt.ui.panels.Actions.java

License:Open Source License

public static final IObservableValue observeToolTipText(IAction action) {
    return JFaceProperties.value(IAction.class, "toolTipText", //$NON-NLS-1$
            IAction.TOOL_TIP_TEXT).observe(action);
}

From source file:org.kalypso.kalypsomodel1d2d.ui.map.channeledit.ChannelEditUtil.java

License:Open Source License

public static Button createWidgetSelectionButton(final FormToolkit toolkit, final Composite parent,
        final ChannelEditData data, final IDataBinding binding, final SetWidgetAction action,
        final String enabledPropertyName) {
    final Button selectButton = ActionButton.createButton(toolkit, parent, action, SWT.TOGGLE);

    final IWidget delegate = action.getDelegate();

    final ISWTObservableValue targetActionSelection = SWTObservables.observeSelection(selectButton);
    final IObservableValue modelActionSelection = BeansObservables.observeValue(data,
            ChannelEditData.PROPERTY_DELEGATE);
    final DataBinder selectionActionBinder = new DataBinder(targetActionSelection, modelActionSelection);
    selectionActionBinder.setModelToTargetConverter(new DelegateActionSelectionConverter(delegate));
    binding.bindValue(selectionActionBinder);

    if (enabledPropertyName != null) {
        final IValueProperty enabledProperty = JFaceProperties.value(IAction.class, IAction.ENABLED,
                IAction.ENABLED);//from  w w w. ja  va 2 s. com
        final IObservableValue targetActionEnablement = enabledProperty.observe(action);
        final IObservableValue modelProfileSelectionEnablement = BeansObservables.observeValue(data,
                enabledPropertyName);
        binding.bindValue(targetActionEnablement, modelProfileSelectionEnablement);
    }

    return selectButton;
}