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

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

Introduction

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

Prototype

@Deprecated
public static ISWTObservableValue observeImage(Widget widget) 

Source Link

Document

Returns an observable observing the image attribute of the provided widget.

Usage

From source file:com.rcpcompany.uibindings.uiAttributes.SimpleUIAttribute.java

License:Open Source License

@Override
public IObservableValue getImageValue() {
    Assert.isTrue(!isDisposed());//from   ww  w  . j a  v a2s.c o  m
    if (myWidget instanceof Button) {
        final Button c = (Button) myWidget;
        return addObservable(SWTObservables.observeImage(c));
    }
    if (myWidget instanceof Item) {
        final Item c = (Item) myWidget;
        return addObservable(SWTObservables.observeImage(c));
    }
    if (myWidget instanceof Label) {
        final Label c = (Label) myWidget;
        return addObservable(SWTObservables.observeImage(c));
    }
    if (myWidget instanceof CLabel) {
        final CLabel c = (CLabel) myWidget;
        return addObservable(SWTObservables.observeImage(c));
    }
    return null;
}

From source file:com.toedter.e4.demo.contacts.rap.views.DetailComposite.java

License:Open Source License

@Inject
public DetailComposite(MDirtyable dirtyable, final Composite parent) {
    super(parent, SWT.NONE);
    this.dirtyable = dirtyable;

    parent.getShell().setBackgroundMode(SWT.INHERIT_DEFAULT);

    dbc = new DataBindingContext();

    URL url = FileLocator.find(Platform.getBundle("com.toedter.e4.demo.contacts.rap"),
            new Path("images/dummy.png"), null);
    ImageDescriptor imageDescriptor = ImageDescriptor.createFromURL(url);
    if (imageDescriptor != null) {
        dummyPortrait = imageDescriptor.createImage();
    }/*from ww  w  .  j av  a2  s . c  o  m*/

    final GridLayout layout = new GridLayout(1, false);
    layout.verticalSpacing = 5;
    setLayout(layout);

    // General
    final Composite composite = createComposite(this);

    createSeparator(composite, "General");

    createText(composite, "Title:", "title");
    createText(composite, "Name:", "name"); // Leads to Aggregate
    // "firstName" "middleName"
    // "lastName"
    createText(composite, "Company:", "company");
    createText(composite, "Job Title:", "jobTitle");
    createText(composite, "Note:", "note");

    createVerticalSpace(composite);

    // Business Address
    createSeparator(composite, "Business Address ");
    createText(composite, "Street:", "street");
    createText(composite, "City:", "city");
    createText(composite, "ZIP:", "zip");
    createText(composite, "State/Prov:", "state");
    createText(composite, "Country:", "country");
    createVerticalSpace(composite);

    // Business Phone
    createSeparator(composite, "Business Phones ");
    createText(composite, "Phone:", "phone");
    createText(composite, "Mobile:", "mobile");
    createVerticalSpace(composite);

    // Business Internet
    createSeparator(composite, "Business Internet");
    createText(composite, "Email:", "email");
    createText(composite, "Web Page:", "webPage");
    createVerticalSpace(composite);

    // Bind the image
    final IObservableValue imageObservableValue = PojoObservables.observeDetailValue(contactValue, "jpegString",
            String.class);

    this.scaledImage = new ComputedValue() {
        private Image currentImage;

        @Override
        protected Object calculate() {
            String jpegString = (String) imageObservableValue.getValue();
            Image image = null;
            if (jpegString == null) {
                image = dummyPortrait;
            } else {
                byte[] imageBytes = Base64.decode(jpegString.getBytes());
                ByteArrayInputStream is = new ByteArrayInputStream(imageBytes);
                ImageData imageData = new ImageData(is);
                image = new Image(Display.getCurrent(), imageData);
            }
            ImageData imageData = image.getImageData();
            double ratio = imageData.height / 85.0;
            int width = (int) (imageData.width / ratio);
            int height = (int) (imageData.height / ratio);
            ImageData scaledImageData = imageData.scaledTo(width, height);
            if (currentImage != null) {
                currentImage.dispose();
                currentImage = null;
            }
            currentImage = new Image(Display.getCurrent(), scaledImageData);
            return currentImage;
        }

        @Override
        public void dispose() {
            if (currentImage != null) {
                currentImage.dispose();
                currentImage = null;
            }
            super.dispose();
        }

    };

    dbc.bindValue(SWTObservables.observeImage(imageLabel), scaledImage,
            new UpdateValueStrategy(UpdateValueStrategy.POLICY_NEVER), null);

    addDisposeListener(new DisposeListener() {
        @Override
        public void widgetDisposed(DisposeEvent e) {
            dummyPortrait.dispose();
            scaledImage.dispose();
        }
    });

    commitChanges = true;
}

From source file:com.toedter.e4.demo.contacts.swt.views.DetailComposite.java

License:Open Source License

public DetailComposite(MDirtyable dirtyable, final Composite parent) {
    super(parent, SWT.NONE);
    this.dirtyable = dirtyable;

    parent.getShell().setBackgroundMode(SWT.INHERIT_DEFAULT);

    dbc = new DataBindingContext();

    URL url = FileLocator.find(Platform.getBundle("com.toedter.e4.demo.contacts.swt2"),
            new Path("images/dummy.png"), null);
    ImageDescriptor imageDescriptor = ImageDescriptor.createFromURL(url);
    if (imageDescriptor != null) {
        dummyPortrait = imageDescriptor.createImage();
    }//from  w  w  w .  ja  va 2s . co m

    final GridLayout layout = new GridLayout(1, false);
    layout.verticalSpacing = 5;
    setLayout(layout);

    // General
    final Composite composite = createComposite(this);

    createSeparator(composite, "General");

    createText(composite, "Title:", "title");
    createText(composite, "Name:", "name"); // Leads to Aggregate
    // "firstName" "middleName"
    // "lastName"
    createText(composite, "Company:", "company");
    createText(composite, "Job Title:", "jobTitle");
    createText(composite, "Note:", "note");

    createVerticalSpace(composite);

    // Business Address
    createSeparator(composite, "Business Address ");
    createText(composite, "Street:", "street");
    createText(composite, "City:", "city");
    createText(composite, "ZIP:", "zip");
    createText(composite, "State/Prov:", "state");
    createText(composite, "Country:", "country");
    createVerticalSpace(composite);

    // Business Phone
    createSeparator(composite, "Business Phones ");
    createText(composite, "Phone:", "phone");
    createText(composite, "Mobile:", "mobile");
    createVerticalSpace(composite);

    // Business Internet
    createSeparator(composite, "Business Internet");
    createText(composite, "Email:", "email");
    createText(composite, "Web Page:", "webPage");
    createVerticalSpace(composite);

    // Bind the image
    final IObservableValue imageObservableValue = PojoObservables.observeDetailValue(contactValue, "jpegString",
            String.class);

    this.scaledImage = new ComputedValue() {
        private Image currentImage;

        @Override
        protected Object calculate() {
            String jpegString = (String) imageObservableValue.getValue();
            Image image = null;
            if (jpegString == null) {
                image = dummyPortrait;
            } else {
                byte[] imageBytes = Base64.decode(jpegString.getBytes());
                ByteArrayInputStream is = new ByteArrayInputStream(imageBytes);
                ImageData imageData = new ImageData(is);
                image = new Image(Display.getCurrent(), imageData);
            }
            ImageData imageData = image.getImageData();
            double ratio = imageData.height / 85.0;
            int width = (int) (imageData.width / ratio);
            int height = (int) (imageData.height / ratio);
            ImageData scaledImageData = imageData.scaledTo(width, height);
            if (currentImage != null) {
                currentImage.dispose();
                currentImage = null;
            }
            currentImage = new Image(Display.getCurrent(), scaledImageData);
            return currentImage;
        }

        @Override
        public void dispose() {
            if (currentImage != null) {
                currentImage.dispose();
                currentImage = null;
            }
            super.dispose();
        }

    };

    dbc.bindValue(SWTObservables.observeImage(imageLabel), scaledImage,
            new UpdateValueStrategy(UpdateValueStrategy.POLICY_NEVER), null);

    addDisposeListener(new DisposeListener() {
        @Override
        public void widgetDisposed(DisposeEvent e) {
            dummyPortrait.dispose();
            scaledImage.dispose();
        }
    });

    commitChanges = true;
}

From source file:gov.nasa.ensemble.core.model.plan.temporal.provider.TemporalDetailProvider.java

License:Open Source License

private void addToggleEditabilityButton(final EObject target, Object feature,
        final List<TemporalMember> members, FormToolkit toolkit, DataBindingContext dbc, Composite composite) {
    boolean isEditable = EMFUtils.isEditable(target);
    Button button = toolkit.createButton(composite, null, SWT.PUSH);
    button.setImage(EDITABLE_IMAGE);//from  w  w  w . j ava 2 s .c o  m
    button.setEnabled(isEditable);
    button.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER, false, false));
    final CalculatedVariable calculatedVariable = getCalculatedVariable(feature);
    button.addSelectionListener(new SelectionListener() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            for (TemporalMember member : members) {
                setCalculatedVariable(member, calculatedVariable);
            }
        }

        @Override
        public void widgetDefaultSelected(SelectionEvent e) {
            for (TemporalMember member : members) {
                setCalculatedVariable(member, calculatedVariable);
            }
        }
    });
    IObservableValue modelObservableValue = observeCalculatedVariable(target);
    UpdateValueStrategy calculatedVariableToImage = new UpdateValueStrategy() {
        @Override
        public Object convert(Object value) {
            if (value instanceof Set) {
                if (((Set) value).contains(calculatedVariable)) {
                    return CALCULATED_IMAGE;
                }
                return EDITABLE_IMAGE;
            }
            if (value == calculatedVariable) {
                return CALCULATED_IMAGE;
            }
            return EDITABLE_IMAGE;
        }
    };
    dbc.bindValue(SWTObservables.observeImage(button), modelObservableValue, null, calculatedVariableToImage);
}

From source file:org.bonitasoft.studio.connectors.ui.wizard.page.SelectDatabaseOutputTypeWizardPage.java

License:Open Source License

protected Button createSingleChoice(final Composite choicesComposite, EMFDataBindingContext context) {
    final Button singleRadio = new Button(choicesComposite, SWT.RADIO);
    singleRadio.setLayoutData(GridDataFactory.fillDefaults().grab(false, false).create());
    singleRadio.setText(Messages.singleValue);

    final Label singleIcon = new Label(choicesComposite, SWT.NONE);
    singleIcon.setLayoutData(GridDataFactory.swtDefaults().align(SWT.BEGINNING, SWT.CENTER).indent(15, 0)
            .grab(true, false).create());

    final UpdateValueStrategy selectImageStrategy = new UpdateValueStrategy();
    selectImageStrategy.setConverter(new Converter(Boolean.class, Image.class) {

        @Override// www. j a  va2s.c  o  m
        public Object convert(Object fromObject) {
            if ((Boolean) fromObject) {
                return Pics.getImage("single_placeholder.png", ConnectorPlugin.getDefault());
            } else {
                return Pics.getImage("single_placeholder_disabled.png", ConnectorPlugin.getDefault());
            }

        }

    });
    singleModeRadioObserveEnabled = SWTObservables.observeEnabled(singleRadio);
    context.bindValue(SWTObservables.observeImage(singleIcon), singleModeRadioObserveEnabled, null,
            selectImageStrategy);

    return singleRadio;
}

From source file:org.bonitasoft.studio.connectors.ui.wizard.page.SelectDatabaseOutputTypeWizardPage.java

License:Open Source License

protected Button createOneRowNColsChoice(final Composite choicesComposite, EMFDataBindingContext context) {
    final Button oneRowRadio = new Button(choicesComposite, SWT.RADIO);
    oneRowRadio.setLayoutData(GridDataFactory.fillDefaults().grab(false, false).create());
    oneRowRadio.setText(Messages.oneRowNCol);

    final ControlDecoration oneRowDeco = new ControlDecoration(oneRowRadio, SWT.RIGHT);
    oneRowDeco.setImage(Pics.getImage(PicsConstants.hint));
    oneRowDeco.setDescriptionText(Messages.oneRowHint);

    final Label oneRowIcon = new Label(choicesComposite, SWT.NONE);
    oneRowIcon.setLayoutData(GridDataFactory.swtDefaults().align(SWT.BEGINNING, SWT.CENTER).indent(15, 0)
            .grab(true, false).create());

    final UpdateValueStrategy selectImageStrategy = new UpdateValueStrategy();
    selectImageStrategy.setConverter(new Converter(Boolean.class, Image.class) {

        @Override//from  ww w .j a  v a  2 s  .co  m
        public Object convert(Object fromObject) {
            if ((Boolean) fromObject) {
                return Pics.getImage("row_placeholder.png", ConnectorPlugin.getDefault());
            } else {
                return Pics.getImage("row_placeholder_disabled.png", ConnectorPlugin.getDefault());
            }

        }

    });
    oneRowNColModeRadioObserveEnabled = SWTObservables.observeEnabled(oneRowRadio);
    context.bindValue(SWTObservables.observeImage(oneRowIcon), oneRowNColModeRadioObserveEnabled, null,
            selectImageStrategy);

    return oneRowRadio;
}

From source file:org.bonitasoft.studio.connectors.ui.wizard.page.SelectDatabaseOutputTypeWizardPage.java

License:Open Source License

protected Button createNRowsOneColChoice(final Composite choicesComposite, EMFDataBindingContext context) {
    final Button oneColRadio = new Button(choicesComposite, SWT.RADIO);
    oneColRadio.setLayoutData(GridDataFactory.fillDefaults().grab(false, false).create());
    oneColRadio.setText(Messages.nRowOneCol);

    final ControlDecoration oneColDeco = new ControlDecoration(oneColRadio, SWT.RIGHT);
    oneColDeco.setImage(Pics.getImage(PicsConstants.hint));
    oneColDeco.setDescriptionText(Messages.oneColHint);

    final Label oneColIcon = new Label(choicesComposite, SWT.NONE);
    oneColIcon.setLayoutData(GridDataFactory.swtDefaults().align(SWT.BEGINNING, SWT.CENTER).indent(15, 0)
            .grab(true, false).create());

    final UpdateValueStrategy selectImageStrategy = new UpdateValueStrategy();
    selectImageStrategy.setConverter(new Converter(Boolean.class, Image.class) {

        @Override//from  w ww  . j  a  va 2  s  .  com
        public Object convert(Object fromObject) {
            if ((Boolean) fromObject) {
                return Pics.getImage("column_placeholder.png", ConnectorPlugin.getDefault());
            } else {
                return Pics.getImage("column_placeholder_disabled.png", ConnectorPlugin.getDefault());
            }

        }

    });

    nRowsOneColModeRadioObserveEnabled = SWTObservables.observeEnabled(oneColRadio);
    context.bindValue(SWTObservables.observeImage(oneColIcon), nRowsOneColModeRadioObserveEnabled, null,
            selectImageStrategy);

    return oneColRadio;

}

From source file:org.bonitasoft.studio.connectors.ui.wizard.page.SelectDatabaseOutputTypeWizardPage.java

License:Open Source License

protected Button createTableChoice(final Composite choicesComposite, EMFDataBindingContext context) {
    final Button tableRadio = new Button(choicesComposite, SWT.RADIO);
    tableRadio.setLayoutData(GridDataFactory.fillDefaults().grab(false, false).create());
    tableRadio.setText(Messages.nRowsNcolumns);

    final ControlDecoration tableDeco = new ControlDecoration(tableRadio, SWT.RIGHT);
    tableDeco.setImage(Pics.getImage(PicsConstants.hint));
    tableDeco.setDescriptionText(Messages.tableHint);

    final Label tableIcon = new Label(choicesComposite, SWT.NONE);
    tableIcon.setLayoutData(GridDataFactory.swtDefaults().align(SWT.BEGINNING, SWT.CENTER).indent(15, 0)
            .grab(true, false).create());

    final UpdateValueStrategy selectImageStrategy = new UpdateValueStrategy();
    selectImageStrategy.setConverter(new Converter(Boolean.class, Image.class) {

        @Override/* w  w w  .  j  a va  2  s. co  m*/
        public Object convert(Object fromObject) {
            if ((Boolean) fromObject) {
                return Pics.getImage("table_placeholder.png", ConnectorPlugin.getDefault());
            } else {
                return Pics.getImage("table_placeholder_disabled.png", ConnectorPlugin.getDefault());
            }

        }

    });
    tableObserveEnabled = SWTObservables.observeEnabled(tableRadio);
    context.bindValue(SWTObservables.observeImage(tableIcon), tableObserveEnabled, null, selectImageStrategy);

    return tableRadio;
}

From source file:org.eclipse.e4.demo.contacts.views.DetailComposite.java

License:Open Source License

@Inject
public DetailComposite(MDirtyable dirtyable, final Composite parent) {
    super(parent, SWT.NONE);
    this.dirtyable = dirtyable;

    parent.getShell().setBackgroundMode(SWT.INHERIT_DEFAULT);

    dbc = new DataBindingContext();

    URL url = FileLocator.find(Platform.getBundle("org.eclipse.e4.demo.contacts"), new Path("images/dummy.png"),
            null);/*w ww  .j  a va2  s .  com*/
    ImageDescriptor imageDescriptor = ImageDescriptor.createFromURL(url);
    if (imageDescriptor != null) {
        dummyPortrait = imageDescriptor.getImageData();
    }

    final GridLayout layout = new GridLayout(1, false);
    layout.verticalSpacing = 5;
    setLayout(layout);

    // General
    final Composite composite = createComposite(this);

    createSeparator(composite, "General");

    createText(composite, "Title:", "title");
    createText(composite, "Name:", "name"); // Leads to Aggregate
    // "firstName" "middleName"
    // "lastName"
    createText(composite, "Company:", "company");
    createText(composite, "Job Title:", "jobTitle");
    createText(composite, "Note:", "note");

    createVerticalSpace(composite);

    // Business Address
    createSeparator(composite, "Business Address ");
    createText(composite, "Street:", "street");
    createText(composite, "City:", "city");
    createText(composite, "ZIP:", "zip");
    createText(composite, "State/Prov:", "state");
    createText(composite, "Country:", "country");
    createVerticalSpace(composite);

    // Business Phone
    createSeparator(composite, "Business Phones ");
    createText(composite, "Phone:", "phone");
    createText(composite, "Mobile:", "mobile");
    createVerticalSpace(composite);

    // Business Internet
    createSeparator(composite, "Business Internet");
    createText(composite, "Email:", "email");
    createText(composite, "Web Page:", "webPage");
    createVerticalSpace(composite);

    // Bind the image
    final IObservableValue imageObservableValue = PojoObservables.observeDetailValue(contactValue, "image",
            ImageData.class);

    this.scaledImage = new ComputedValue() {
        private Image currentImage;

        @Override
        protected Object calculate() {
            ImageData imageData = (ImageData) imageObservableValue.getValue();
            if (imageData == null) {
                imageData = dummyPortrait;
            }
            double ratio = imageData.height / 85.0;
            int width = (int) (imageData.width / ratio);
            int height = (int) (imageData.height / ratio);
            ImageData scaledImageData = imageData.scaledTo(width, height);
            if (currentImage != null) {
                currentImage.dispose();
                currentImage = null;
            }
            currentImage = new Image(Display.getCurrent(), scaledImageData);
            return currentImage;
        }

        @Override
        public void dispose() {
            if (currentImage != null) {
                currentImage.dispose();
                currentImage = null;
            }
            super.dispose();
        }

    };

    dbc.bindValue(SWTObservables.observeImage(imageLabel), scaledImage,
            new UpdateValueStrategy(UpdateValueStrategy.POLICY_NEVER), null);

    addDisposeListener(new DisposeListener() {
        public void widgetDisposed(DisposeEvent e) {
            scaledImage.dispose();
        }
    });

    commitChanges = true;
}

From source file:org.marketcetera.photon.views.OrderTicketView.java

/**
 * Initialization the validation (error message area) of the view.
 */// w  ww . j ava2  s .  c  o m
protected void initValidation() {
    DataBindingContext dbc = getDataBindingContext();
    AggregateValidationStatus aggregateValidationStatus = new AggregateValidationStatus(dbc,
            AggregateValidationStatus.MAX_SEVERITY);

    dbc.bindValue(SWTObservables.observeText(getXSWTView().getErrorMessageLabel()), aggregateValidationStatus);

    dbc.bindValue(SWTObservables.observeImage(getXSWTView().getErrorIconLabel()), aggregateValidationStatus,
            null, new UpdateValueStrategy().setConverter(new StatusToImageConverter()));

    dbc.bindValue(SWTObservables.observeEnabled(getXSWTView().getSendButton()), aggregateValidationStatus, null,
            new UpdateValueStrategy()
                    .setConverter(new TypedConverter<IStatus, Boolean>(IStatus.class, Boolean.class) {
                        @Override
                        public Boolean doConvert(IStatus fromObject) {
                            return fromObject.getSeverity() < IStatus.ERROR;
                        }
                    }));
}