diff options
Diffstat (limited to 'examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/ColorSelectionGroup.java')
-rw-r--r-- | examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/ColorSelectionGroup.java | 167 |
1 files changed, 0 insertions, 167 deletions
diff --git a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/ColorSelectionGroup.java b/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/ColorSelectionGroup.java deleted file mode 100644 index c5dbb539f7..0000000000 --- a/examples/org.eclipse.swt.opengl.examples/src/org/eclipse/swt/opengl/examples/ColorSelectionGroup.java +++ /dev/null @@ -1,167 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2003 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -package org.eclipse.swt.opengl.examples; - - -import java.util.Vector; - -import org.eclipse.opengl.*; -import org.eclipse.swt.*; -import org.eclipse.swt.events.*; -import org.eclipse.swt.graphics.*; -import org.eclipse.swt.layout.*; -import org.eclipse.swt.widgets.*; - -class ColorSelectionGroup implements Listener { - private Color color; - private Label label; - private Image image; - private Button button; - private Vector listeners = new Vector(); - - /** - * Constructor. - * - * @param parent the parent composite - * @param style style bits to be applied to the color group - */ - ColorSelectionGroup(Composite parent, int style) { - super(); - initColor(parent.getDisplay()); - - Composite colorGroup = new Composite(parent, style); - GridLayout layout = new GridLayout(2, false); - layout.marginWidth = 0; - layout.marginHeight = 0; - colorGroup.setLayout(layout); -// GridData data = new GridData(GridData.FILL_HORIZONTAL); -// data.grabExcessHorizontalSpace = true; -// colorGroup.setLayoutData(data); - - button = new Button(colorGroup, SWT.NONE); - button.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_END)); - image = new Image(button.getDisplay(), 12, 12); - drawButtonImage(); - button.setImage(image); - button.addListener(SWT.Selection, this); - button.addDisposeListener(new DisposeListener() { - public void widgetDisposed(DisposeEvent event) { - if (image != null) image.dispose(); - if (color != null) color.dispose(); - } - }); - - label = new Label(colorGroup, SWT.NONE); - label.setText("Color"); -// data = new GridData(GridData.FILL_HORIZONTAL); -// data.grabExcessHorizontalSpace = true; -// label.setLayoutData(data); - } - - /** - * Adds the argument to this group's collection of - * color selection listeners. - * - * @param listener - */ - void addColorSelectionListener(IColorSelectionListener listener) { - listeners.addElement(listener); - } - - /** - * Draws the colored square on the selection button. - */ - void drawButtonImage() { - GC gc = new GC(image); - gc.setBackground(color); - Rectangle bounds = image.getBounds(); - gc.fillRectangle(0, 0, bounds.width, bounds.height); - gc.drawRectangle(0, 0, bounds.width - 1, bounds.height - 1); - gc.dispose(); - } - - /** - * @see org.eclipse.swt.widgets.Listener#handleEvent(Event) - */ - public void handleEvent(Event e) { - Shell shell = button.getShell(); - ColorDialog colorDialog = new ColorDialog(shell); - colorDialog.setRGB( - new RGB(color.getRed(), color.getGreen(), color.getBlue())); - RGB rgb = colorDialog.open(); - if (rgb == null) return; - setRGB(rgb); - notifyListeners(rgb); - } - - /** - * Initializes the color by querying for the current color. - * - * @param display - */ - void initColor(Display display) { - double[] currentColor = new double[4]; - GL.glGetDoublev(GL.GL_CURRENT_COLOR, currentColor); - RGB rgb = - new RGB( - (int) currentColor[0] * 255, - (int) currentColor[1] * 255, - (int) currentColor[2] * 255); - color = new Color(display, rgb); - } - - /** - * Notifies all registered color selection listeners. - * - * @param value - */ - void notifyListeners(RGB rgb) { - IColorSelectionListener[] listenersArr = - new IColorSelectionListener[listeners.size()]; - listeners.copyInto(listenersArr); - for (int i = 0; i < listenersArr.length; i++) { - listenersArr [i].handleColorSelection(rgb); - } - } - - /** - * Removes the argument from this group's collection of color selection - * listeners. If the argument is not a registered listener then does - * nothing. - * - * @param listener - */ - void removeColorSelectionListener(IColorSelectionListener listener) { - listeners.removeElement(listener); - } - - /** - * Sets the text for the group's label. - * - * @param text the new label text - */ - void setText(String text) { - label.setText(text); - } - - /** - * Sets the current color. - * - * @param rgb the rgb of the new color - */ - void setRGB(RGB rgb) { - Color oldColor = color; - color = new Color(button.getDisplay(), rgb); - drawButtonImage(); - button.setImage(image); - if (oldColor != null) oldColor.dispose(); - } -} |