diff options
Diffstat (limited to 'common/tests/org.eclipse.jpt.common.ui.tests/src/org/eclipse/jpt/common/ui/tests/internal/jface/DelegatingLabelProviderUiTest.java')
-rw-r--r-- | common/tests/org.eclipse.jpt.common.ui.tests/src/org/eclipse/jpt/common/ui/tests/internal/jface/DelegatingLabelProviderUiTest.java | 474 |
1 files changed, 238 insertions, 236 deletions
diff --git a/common/tests/org.eclipse.jpt.common.ui.tests/src/org/eclipse/jpt/common/ui/tests/internal/jface/DelegatingLabelProviderUiTest.java b/common/tests/org.eclipse.jpt.common.ui.tests/src/org/eclipse/jpt/common/ui/tests/internal/jface/DelegatingLabelProviderUiTest.java index f068c3024d..d04a2e05ad 100644 --- a/common/tests/org.eclipse.jpt.common.ui.tests/src/org/eclipse/jpt/common/ui/tests/internal/jface/DelegatingLabelProviderUiTest.java +++ b/common/tests/org.eclipse.jpt.common.ui.tests/src/org/eclipse/jpt/common/ui/tests/internal/jface/DelegatingLabelProviderUiTest.java @@ -12,6 +12,8 @@ package org.eclipse.jpt.common.ui.tests.internal.jface; import org.eclipse.jface.action.Action; import org.eclipse.jface.action.ActionContributionItem; import org.eclipse.jface.action.IAction; +import org.eclipse.jface.resource.ImageDescriptor; +import org.eclipse.jface.resource.JFaceResources; import org.eclipse.jface.viewers.ArrayContentProvider; import org.eclipse.jface.viewers.BaseLabelProvider; import org.eclipse.jface.viewers.ComboViewer; @@ -28,7 +30,6 @@ import org.eclipse.jpt.common.ui.internal.jface.ItemTreeStateProviderManager; import org.eclipse.jpt.common.ui.internal.jface.StaticItemTreeContentProvider; import org.eclipse.jpt.common.ui.jface.ItemExtendedLabelProvider; import org.eclipse.jpt.common.ui.jface.ItemExtendedLabelProviderFactory; -import org.eclipse.jpt.common.ui.jface.ItemLabelProvider; import org.eclipse.jpt.common.ui.jface.ItemTreeContentProvider; import org.eclipse.jpt.common.ui.jface.ItemTreeContentProviderFactory; import org.eclipse.jpt.common.ui.jface.TreeStateProvider; @@ -37,8 +38,8 @@ import org.eclipse.jpt.common.utility.internal.model.value.PropertyAspectAdapter import org.eclipse.jpt.common.utility.internal.model.value.SimplePropertyValueModel; import org.eclipse.jpt.common.utility.model.event.PropertyChangeEvent; import org.eclipse.jpt.common.utility.model.listener.PropertyChangeListener; -import org.eclipse.jpt.common.utility.model.value.PropertyValueModel; import org.eclipse.jpt.common.utility.model.value.ModifiablePropertyValueModel; +import org.eclipse.jpt.common.utility.model.value.PropertyValueModel; import org.eclipse.swt.SWT; import org.eclipse.swt.events.SelectionAdapter; import org.eclipse.swt.events.SelectionEvent; @@ -56,28 +57,29 @@ import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Shell; @SuppressWarnings("nls") -public class DelegatingLabelProviderUiTest extends ApplicationWindow +public class DelegatingLabelProviderUiTest + extends ApplicationWindow { private TreeViewer tree; - - private ModifiablePropertyValueModel<Vehicle> selectedVehicle; - - + + /* CU private */ ModifiablePropertyValueModel<Vehicle> selectedVehicleModel = new SimplePropertyValueModel<Vehicle>(); + + public static void main(String[] args) { - Window window = new DelegatingLabelProviderUiTest(args); + Window window = new DelegatingLabelProviderUiTest(); window.setBlockOnOpen(true); window.open(); + Display.getCurrent().dispose(); System.exit(0); } - - - private DelegatingLabelProviderUiTest(String[] args) { + + + private DelegatingLabelProviderUiTest() { super(null); - this.selectedVehicle = new SimplePropertyValueModel<Vehicle>(); } - - + + @Override protected Control createContents(Composite parent) { ((Shell) parent).setText(this.getClass().getSimpleName()); @@ -86,56 +88,57 @@ public class DelegatingLabelProviderUiTest extends ApplicationWindow Composite mainPanel = new Composite(parent, SWT.NONE); mainPanel.setLayoutData(new GridData(GridData.FILL_BOTH)); mainPanel.setLayout(new GridLayout()); - buildTreePanel(mainPanel); - buildControlPanel(mainPanel); + this.buildTreePanel(mainPanel); + this.buildControlPanel(mainPanel); return mainPanel; } - + private void buildTreePanel(Composite parent) { Composite panel = new Composite(parent, SWT.NONE); panel.setLayoutData(new GridData(GridData.FILL_BOTH)); panel.setLayout(new GridLayout()); - + Label label = new Label(panel, SWT.NONE); label.setLayoutData(new GridData(GridData.BEGINNING, GridData.CENTER, false, false)); label.setText("My Vehicles"); - - tree = new TreeViewer(panel, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER); - tree.getTree().setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, true)); - TreeStateProvider contentAndLabelProvider = + + this.tree = new TreeViewer(panel, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER); + this.tree.getTree().setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, true)); + TreeStateProvider contentAndLabelProvider = new ItemTreeStateProviderManager( new VehicleContentProviderFactory(), - new VehicleLabelProviderFactory()); - tree.setContentProvider(contentAndLabelProvider); - tree.setLabelProvider(contentAndLabelProvider); - tree.setInput(new Root()); - tree.addSelectionChangedListener(buildTreeSelectionChangedListener()); + new VehicleLabelProviderFactory(), + JFaceResources.getResources()); + this.tree.setContentProvider(contentAndLabelProvider); + this.tree.setLabelProvider(contentAndLabelProvider); + this.tree.setInput(new Root()); + this.tree.addSelectionChangedListener(this.buildTreeSelectionChangedListener()); } - + private ISelectionChangedListener buildTreeSelectionChangedListener() { return new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { - selectedVehicle.setValue((Vehicle) ((IStructuredSelection) event.getSelection()).getFirstElement()); + DelegatingLabelProviderUiTest.this.selectedVehicleModel.setValue((Vehicle) ((IStructuredSelection) event.getSelection()).getFirstElement()); } }; } - + private void buildControlPanel(Composite parent) { Composite panel = new Composite(parent, SWT.NONE); panel.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false)); panel.setLayout(new GridLayout()); - buildUpperControlPanel(panel); - buildLowerControlPanel(panel); + this.buildUpperControlPanel(panel); + this.buildLowerControlPanel(panel); } - + private void buildUpperControlPanel(Composite parent) { Composite panel = new Composite(parent, SWT.NONE); panel.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false)); panel.setLayout(new GridLayout(2, true)); - buildVehicleCombo(panel); - buildColorCombo(panel); + this.buildVehicleCombo(panel); + this.buildColorCombo(panel); } - + private void buildVehicleCombo(Composite parent) { final ComboViewer combo = new ComboViewer(parent, SWT.READ_ONLY); combo.getCombo().setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false)); @@ -143,89 +146,89 @@ public class DelegatingLabelProviderUiTest extends ApplicationWindow combo.setLabelProvider(new VehicleTypeLabelProvider()); combo.setInput( new VehicleType[] { - VehicleType.BICYCLE, VehicleType.CAR, + VehicleType.BICYCLE, VehicleType.CAR, VehicleType.TRUCK, VehicleType.BOAT }); combo.getCombo().setEnabled(false); combo.addSelectionChangedListener( new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { - selectedVehicle().setVehicleType((VehicleType) ((StructuredSelection) event.getSelection()).getFirstElement()); + DelegatingLabelProviderUiTest.this.getSelectedVehicle().setVehicleType((VehicleType) ((StructuredSelection) event.getSelection()).getFirstElement()); } }); - selectedVehicle.addPropertyChangeListener( - PropertyValueModel.VALUE, + this.selectedVehicleModel.addPropertyChangeListener( + PropertyValueModel.VALUE, new PropertyChangeListener() { public void propertyChanged(PropertyChangeEvent event) { - Vehicle vehicle = selectedVehicle(); + Vehicle vehicle = DelegatingLabelProviderUiTest.this.getSelectedVehicle(); combo.getCombo().setEnabled(vehicle != null); - combo.setSelection(new StructuredSelection((vehicle == null) ? null : vehicle.vehicleType())); + combo.setSelection(new StructuredSelection((vehicle == null) ? null : vehicle.getVehicleType())); } }); } - + private void buildColorCombo(Composite parent) { final ComboViewer combo = new ComboViewer(parent, SWT.READ_ONLY); combo.getCombo().setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false)); combo.setContentProvider(new ArrayContentProvider()); combo.setLabelProvider(new ColorLabelProvider()); - combo.setInput(new Color[] {Color.RED, Color.BLUE, Color.YELLOW, Color.GREEN}); + combo.setInput(new VehicleColor[] {VehicleColor.RED, VehicleColor.BLUE, VehicleColor.YELLOW, VehicleColor.GREEN}); combo.addSelectionChangedListener( new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { - selectedVehicle().setColor((Color) ((StructuredSelection) event.getSelection()).getFirstElement()); + DelegatingLabelProviderUiTest.this.getSelectedVehicle().setColor((VehicleColor) ((StructuredSelection) event.getSelection()).getFirstElement()); } }); - selectedVehicle.addPropertyChangeListener( - PropertyValueModel.VALUE, + this.selectedVehicleModel.addPropertyChangeListener( + PropertyValueModel.VALUE, new PropertyChangeListener() { public void propertyChanged(PropertyChangeEvent event) { - Vehicle vehicle = selectedVehicle(); + Vehicle vehicle = DelegatingLabelProviderUiTest.this.getSelectedVehicle(); combo.getCombo().setEnabled(vehicle != null); - combo.setSelection(new StructuredSelection((vehicle == null) ? null : vehicle.color())); + combo.setSelection(new StructuredSelection((vehicle == null) ? null : vehicle.getColor())); } }); } - + private void buildLowerControlPanel(Composite parent) { Composite panel = new Composite(parent, SWT.NONE); panel.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false)); panel.setLayout(new GridLayout(3, false)); - buildEffectsLabel(panel); - buildGreyedCheckBox(panel); - buildTranslucentCheckBox(panel); - buildActionPanel(panel); + this.buildEffectsLabel(panel); + this.buildGrayedCheckBox(panel); + this.buildTranslucentCheckBox(panel); + this.buildActionPanel(panel); } - + private void buildEffectsLabel(Composite parent) { Label label = new Label(parent, SWT.LEFT); label.setText("Color effects: "); label.setLayoutData(new GridData(GridData.BEGINNING, GridData.CENTER, false, false, 3, 1)); } - - private void buildGreyedCheckBox(Composite parent) { + + private void buildGrayedCheckBox(Composite parent) { final Button button = new Button(parent, SWT.CHECK); button.setLayoutData(new GridData(GridData.BEGINNING, GridData.CENTER, false, false)); - button.setText("greyed"); + button.setText("grayed"); button.setEnabled(false); button.addSelectionListener( new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { - selectedVehicle().setGreyed(button.getSelection()); + DelegatingLabelProviderUiTest.this.getSelectedVehicle().setGrayed(button.getSelection()); } }); - selectedVehicle.addPropertyChangeListener( - PropertyValueModel.VALUE, + this.selectedVehicleModel.addPropertyChangeListener( + PropertyValueModel.VALUE, new PropertyChangeListener() { public void propertyChanged(PropertyChangeEvent event) { - Vehicle vehicle = selectedVehicle(); + Vehicle vehicle = DelegatingLabelProviderUiTest.this.getSelectedVehicle(); button.setEnabled(vehicle != null); - button.setSelection(vehicle != null && vehicle.isGreyed()); + button.setSelection((vehicle != null) && vehicle.isGrayed()); } }); } - + private void buildTranslucentCheckBox(Composite parent) { final Button button = new Button(parent, SWT.CHECK); button.setLayoutData(new GridData(GridData.BEGINNING, GridData.CENTER, true, false)); @@ -235,74 +238,76 @@ public class DelegatingLabelProviderUiTest extends ApplicationWindow new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { - selectedVehicle().setTranslucent(button.getSelection()); + DelegatingLabelProviderUiTest.this.getSelectedVehicle().setTranslucent(button.getSelection()); } }); - selectedVehicle.addPropertyChangeListener( - PropertyValueModel.VALUE, + this.selectedVehicleModel.addPropertyChangeListener( + PropertyValueModel.VALUE, new PropertyChangeListener() { public void propertyChanged(PropertyChangeEvent event) { - Vehicle vehicle = selectedVehicle(); + Vehicle vehicle = DelegatingLabelProviderUiTest.this.getSelectedVehicle(); button.setEnabled(vehicle != null); - button.setSelection(vehicle != null && vehicle.isTranslucent()); + button.setSelection((vehicle != null) && vehicle.isTranslucent()); } }); } - + private void buildActionPanel(Composite parent) { Composite panel = new Composite(parent, SWT.NONE); panel.setLayoutData(new GridData(GridData.END, GridData.FILL, false, false)); panel.setLayout(new GridLayout()); - buildRefreshTreeACI().fill(panel); + this.buildRefreshTreeACI().fill(panel); } - + private ActionContributionItem buildRefreshTreeACI() { Action action = new Action("Refresh tree", IAction.AS_PUSH_BUTTON) { @Override public void run() { - refreshTree(); + DelegatingLabelProviderUiTest.this.refreshTree(); } }; action.setToolTipText("Refresh the tree's labels"); return new ActionContributionItem(action); } - + void refreshTree() { - tree.refresh(); + this.tree.refresh(); } - - private Vehicle selectedVehicle() { - return selectedVehicle.getValue(); + + Vehicle getSelectedVehicle() { + return this.selectedVehicleModel.getValue(); } - - - private static class VehicleTypeLabelProvider extends BaseLabelProvider + + + /* CU private */ static class VehicleTypeLabelProvider + extends BaseLabelProvider implements ILabelProvider { public Image getImage(Object element) { return null; } - + public String getText(Object element) { - return ((VehicleType) element).description(); + return ((VehicleType) element).getDescription(); } } - - - private static class ColorLabelProvider extends BaseLabelProvider + + + /* CU private */ static class ColorLabelProvider + extends BaseLabelProvider implements ILabelProvider { public Image getImage(Object element) { return null; } - + public String getText(Object element) { - return ((Color) element).description(); + return ((VehicleColor) element).getDescription(); } } - - - private static class VehicleContentProviderFactory + + + /* CU private */ static class VehicleContentProviderFactory implements ItemTreeContentProviderFactory { public ItemTreeContentProvider buildProvider(Object item, ItemTreeContentProvider.Manager manager) { @@ -312,52 +317,52 @@ public class DelegatingLabelProviderUiTest extends ApplicationWindow return this.buildVehicleProvider((Vehicle) item); } protected ItemTreeContentProvider buildRootProvider(Root item) { - return new StaticItemTreeContentProvider(null, item.vehicles()); + return new StaticItemTreeContentProvider(null, item.getVehicles()); } protected ItemTreeContentProvider buildVehicleProvider(Vehicle item) { return new StaticItemTreeContentProvider(item.parent()); } } - - - private static class VehicleLabelProviderFactory + + + /* CU private */ static class VehicleLabelProviderFactory implements ItemExtendedLabelProviderFactory { public ItemExtendedLabelProvider buildProvider(Object item, ItemExtendedLabelProvider.Manager manager) { return new VehicleLabelProvider((Vehicle) item, manager); } } - - - private static class VehicleLabelProvider + + + /* CU private */ static class VehicleLabelProvider extends AbstractItemExtendedLabelProvider<Vehicle> { - public VehicleLabelProvider(Vehicle vehicle, ItemLabelProvider.Manager manager) { + public VehicleLabelProvider(Vehicle vehicle, ItemExtendedLabelProvider.Manager manager) { super(vehicle, manager); } - + @Override - protected PropertyValueModel<Image> buildImageModel() { - return new PropertyAspectAdapter<Vehicle, Image>(IMAGE_ASPECT_NAMES, this.item) { + protected PropertyValueModel<ImageDescriptor> buildImageDescriptorModel() { + return new PropertyAspectAdapter<Vehicle, ImageDescriptor>(IMAGE_ASPECT_NAMES, this.item) { @Override - protected Image buildValue_() { - return subject.image(); + protected ImageDescriptor buildValue_() { + return this.subject.getImageDescriptor(); } }; } private static final String[] IMAGE_ASPECT_NAMES = new String[] { Vehicle.COLOR_PROPERTY, - Vehicle.GREYED_PROPERTY, + Vehicle.GRAYED_PROPERTY, Vehicle.TRANSLUCENT_PROPERTY }; - + @Override protected PropertyValueModel<String> buildTextModel() { return new PropertyAspectAdapter<Vehicle, String>(TEXT_ASPECT_NAMES, this.item) { @Override protected String buildValue_() { - return subject.color().description() + ' ' + subject.vehicleType().description(); + return this.subject.getColor().getDescription() + ' ' + this.subject.getVehicleType().getDescription(); } }; } @@ -366,201 +371,198 @@ public class DelegatingLabelProviderUiTest extends ApplicationWindow Vehicle.VEHICLE_TYPE_PROPERTY, Vehicle.COLOR_PROPERTY }; - + @Override protected PropertyValueModel<String> buildDescriptionModel() { - return buildTextModel(); + return this.buildTextModel(); } } - - - private static abstract class TreeNode extends AbstractModel + + + private static abstract class TreeNode + extends AbstractModel { private TreeNode parent; - - + public TreeNode(TreeNode parent) { this.parent = parent; } - - + public TreeNode parent() { - return parent; + return this.parent; } } - - - private static class Root extends TreeNode + + + private static class Root + extends TreeNode { protected final Vehicle[] vehicles; - - + public Root() { super(null); - vehicles = new Vehicle[] { - new Vehicle(this, VehicleType.BICYCLE, Color.BLUE), - new Vehicle(this, VehicleType.CAR, Color.YELLOW), - new Vehicle(this, VehicleType.TRUCK, Color.RED), - new Vehicle(this, VehicleType.BOAT, Color.GREEN)}; + this.vehicles = this.buildVehicles(); + } + + private Vehicle[] buildVehicles() { + return new Vehicle[] { + new Vehicle(this, VehicleType.BICYCLE, VehicleColor.BLUE), + new Vehicle(this, VehicleType.CAR, VehicleColor.YELLOW), + new Vehicle(this, VehicleType.TRUCK, VehicleColor.RED), + new Vehicle(this, VehicleType.BOAT, VehicleColor.GREEN) + }; } - - public Vehicle[] vehicles() { - return vehicles; + + public Vehicle[] getVehicles() { + return this.vehicles; } } - - - private static class Vehicle extends TreeNode + + + /* CU private */ static class Vehicle + extends TreeNode { private VehicleType vehicleType; public final static String VEHICLE_TYPE_PROPERTY = "vehicleType"; - - private Color color; + + private VehicleColor color; public final static String COLOR_PROPERTY = "color"; - - private boolean greyed = false; - public final static String GREYED_PROPERTY = "greyed"; - + + private boolean grayed = false; + public final static String GRAYED_PROPERTY = "grayed"; + private boolean translucent = false; public final static String TRANSLUCENT_PROPERTY = "translucent"; - - private Image image; - - - public Vehicle(TreeNode parent, VehicleType vehicleType, Color color) { + + + Vehicle(TreeNode parent, VehicleType vehicleType, VehicleColor color) { super(parent); this.vehicleType = vehicleType; this.color = color; } - - public VehicleType vehicleType() { - return vehicleType; - } - - public void setVehicleType(VehicleType newVehicleType) { - VehicleType oldVehicleType = vehicleType; - vehicleType = newVehicleType; - firePropertyChanged(VEHICLE_TYPE_PROPERTY, oldVehicleType, newVehicleType); - } - - public Color color() { - return color; - } - - public void setColor(Color newColor) { - Color oldColor = color; - color = newColor; - firePropertyChanged(COLOR_PROPERTY, oldColor, newColor); - } - - public boolean isGreyed() { - return greyed; - } - - public void setGreyed(boolean newGreyed) { - boolean oldGreyed = greyed; - greyed = newGreyed; - firePropertyChanged(GREYED_PROPERTY, oldGreyed, newGreyed); - } - + + public VehicleType getVehicleType() { + return this.vehicleType; + } + + public void setVehicleType(VehicleType vehicleType) { + VehicleType old = this.vehicleType; + this.vehicleType = vehicleType; + this.firePropertyChanged(VEHICLE_TYPE_PROPERTY, old, vehicleType); + } + + public VehicleColor getColor() { + return this.color; + } + + public void setColor(VehicleColor color) { + VehicleColor old = this.color; + this.color = color; + this.firePropertyChanged(COLOR_PROPERTY, old, color); + } + + public boolean isGrayed() { + return this.grayed; + } + + public void setGrayed(boolean grayed) { + boolean old = this.grayed; + this.grayed = grayed; + this.firePropertyChanged(GRAYED_PROPERTY, old, grayed); + } + public boolean isTranslucent() { - return translucent; - } - - public void setTranslucent(boolean newTranslucent) { - boolean oldTranslucent = translucent; - translucent = newTranslucent; - firePropertyChanged(TRANSLUCENT_PROPERTY, oldTranslucent, newTranslucent); - } - - public Image image() { - if (image != null) { - image.dispose(); - } - - return ImageFactory.image(color(), greyed, translucent); + return this.translucent; + } + + public void setTranslucent(boolean translucent) { + boolean old = this.translucent; + this.translucent = translucent; + this.firePropertyChanged(TRANSLUCENT_PROPERTY, old, translucent); + } + + public ImageDescriptor getImageDescriptor() { + return VehicleImageDescriptorFactory.buildImageDescriptor(this.color, this.grayed, this.translucent); } } - - - private static enum VehicleType - { + + + /* CU private */ static enum VehicleType { BICYCLE("bicycle"), CAR("car"), TRUCK("truck"), BOAT("boat"); - + private final String description; - + private VehicleType(String description) { this.description = description; } - - public String description() { - return description; + + public String getDescription() { + return this.description; } - + @Override public String toString() { - return description(); + return this.description; } } - - - private static enum Color - { + + + /* CU private */ static enum VehicleColor { RED("red", new RGB(255, 0, 0)), BLUE("blue", new RGB(0, 0, 255)), YELLOW("yellow", new RGB(255, 255, 0)), GREEN("green", new RGB(0, 255, 0)); - + private final String description; - + private final RGB rgb; - - private Color(String description, RGB rgb) { + + private VehicleColor(String description, RGB rgb) { this.description = description; this.rgb = rgb; } - - public String description() { - return description; + + public String getDescription() { + return this.description; } - + public RGB rgb() { - return rgb; + return this.rgb; } - + @Override public String toString() { - return description(); + return this.description; } } - - - private static class ImageFactory - { - private static RGB rgb(Color color, boolean greyed, boolean translucent) { - RGB rgb = (greyed) ? new RGB(127, 127, 127) : color.rgb(); + + + /* CU private */ static class VehicleImageDescriptorFactory { + static ImageDescriptor buildImageDescriptor(VehicleColor color, boolean grayed, boolean translucent) { + PaletteData pd = new PaletteData(new RGB[] { buildRGB(color, grayed, translucent) }); + ImageData imageData = new ImageData(20, 20, 1, pd); + for (int x = 0; x < 20; x ++) { + for (int y = 0; y < 20; y ++) { + imageData.setPixel(x, y, 0); + } + } + return ImageDescriptor.createFromImageData(imageData); + } + + private static RGB buildRGB(VehicleColor color, boolean grayed, boolean translucent) { + RGB rgb = (grayed) ? GRAY : color.rgb(); if (translucent) { rgb = new RGB(translucify(rgb.red), translucify(rgb.green), translucify(rgb.blue)); } return rgb; } - - private static int translucify(int color) { - return 255 - (int) ((255 - color) * 0.3); - } - - public static Image image(Color color, boolean greyed, boolean translucent) { - PaletteData pd = new PaletteData(new RGB[] {rgb(color, greyed, translucent)}); - ImageData id = new ImageData(20, 20, 1, pd); - for (int x = 0; x < 20; x ++) { - for (int y = 0; y < 20; y ++) { - id.setPixel(x, y, 0); - } - } - return new Image(Display.getCurrent(), id); + private static final RGB GRAY = new RGB(127, 127, 127); + + private static int translucify(int colorComponent) { + return 255 - (int) ((255 - colorComponent) * 0.3); } } } |