package org.insightech.er.editor.view.dialog.element; import org.eclipse.swt.widgets.Button; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Shell; import org.insightech.er.common.dialog.AbstractDialog; import org.insightech.er.common.widgets.CompositeFactory; import org.insightech.er.common.widgets.SpinnerWithScale; import org.insightech.er.editor.model.diagram_contents.element.node.image.InsertedImage; public class InsertedImageDialog extends AbstractDialog { private SpinnerWithScale hueSpinner; private SpinnerWithScale saturationSpinner; private SpinnerWithScale brightnessSpinner; private SpinnerWithScale alphaSpinner; private Button fixAspectRatioCheckbox; private InsertedImage insertedImage; private InsertedImage newInsertedImage; public InsertedImageDialog(Shell parentShell, InsertedImage insertedImage) { super(parentShell, 4); this.insertedImage = insertedImage; } /** * {@inheritDoc} */ @Override protected void initialize(Composite composite) { this.hueSpinner = CompositeFactory.createSpinnerWithScale(this, composite, "label.image.hue", "", 0, 360); // this.hueScale.setPageIncrement(10); this.saturationSpinner = CompositeFactory.createSpinnerWithScale(this, composite, "label.image.saturation", -100, 100); this.brightnessSpinner = CompositeFactory.createSpinnerWithScale(this, composite, "label.image.brightness", -100, 100); this.alphaSpinner = CompositeFactory.createSpinnerWithScale(this, composite, "label.image.alpha", 0, 255); this.fixAspectRatioCheckbox = CompositeFactory.createCheckbox(this, composite, "label.image.fix.aspect.ratio", 3); } /** * {@inheritDoc} */ @Override protected String getErrorMessage() { this.insertedImage.setHue(this.hueSpinner.getSelection()); this.insertedImage.setSaturation(this.saturationSpinner.getSelection()); this.insertedImage.setBrightness(this.brightnessSpinner.getSelection()); this.insertedImage.setAlpha(this.alphaSpinner.getSelection()); this.insertedImage.setFixAspectRatio(this.fixAspectRatioCheckbox .getSelection()); this.insertedImage.setDirty(); return null; } /** * {@inheritDoc} */ @Override protected void perfomeOK() { this.newInsertedImage = new InsertedImage(); this.newInsertedImage.setHue(this.hueSpinner.getSelection()); this.newInsertedImage.setSaturation(this.saturationSpinner .getSelection()); this.newInsertedImage.setBrightness(this.brightnessSpinner .getSelection()); this.newInsertedImage.setAlpha(this.alphaSpinner.getSelection()); this.newInsertedImage.setFixAspectRatio(this.fixAspectRatioCheckbox .getSelection()); } @Override protected String getTitle() { return "dialog.title.image.information"; } @Override protected void setData() { this.hueSpinner.setSelection(this.insertedImage.getHue()); this.saturationSpinner.setSelection(this.insertedImage.getSaturation()); this.brightnessSpinner.setSelection(this.insertedImage.getBrightness()); this.alphaSpinner.setSelection(this.insertedImage.getAlpha()); this.fixAspectRatioCheckbox.setSelection(this.insertedImage .isFixAspectRatio()); } public InsertedImage getNewInsertedImage() { return newInsertedImage; } }