diff options
Diffstat (limited to 'propertysheet/src/org/eclipse/wb/core/controls/CFlatButton.java')
-rw-r--r-- | propertysheet/src/org/eclipse/wb/core/controls/CFlatButton.java | 160 |
1 files changed, 0 insertions, 160 deletions
diff --git a/propertysheet/src/org/eclipse/wb/core/controls/CFlatButton.java b/propertysheet/src/org/eclipse/wb/core/controls/CFlatButton.java deleted file mode 100644 index 156cf5e..0000000 --- a/propertysheet/src/org/eclipse/wb/core/controls/CFlatButton.java +++ /dev/null @@ -1,160 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2011 Google, Inc. - * 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: - * Google, Inc. - initial API and implementation - *******************************************************************************/ -package org.eclipse.wb.core.controls; - -import org.eclipse.wb.draw2d.IColorConstants; -import org.eclipse.wb.internal.core.utils.ui.DrawUtils; - -import org.eclipse.swt.SWT; -import org.eclipse.swt.events.PaintEvent; -import org.eclipse.swt.events.PaintListener; -import org.eclipse.swt.graphics.Color; -import org.eclipse.swt.graphics.GC; -import org.eclipse.swt.graphics.Image; -import org.eclipse.swt.graphics.Rectangle; -import org.eclipse.swt.widgets.Canvas; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Event; -import org.eclipse.swt.widgets.Listener; - -/** - * Class representing flat push button as it looks in Mac OSX. - * - * It doesn't draw text, not need for now. ;-) - * - * @author mitin_aa - */ -public final class CFlatButton extends Canvas { - // colors - private static final Color COLOR_FACE = DrawUtils.getShiftedColor(IColorConstants.button, 12); - private static final Color COLOR_FACE_SELECTED = IColorConstants.buttonDarker; - private static final Color COLOR_BORDER_GRADIENT1 = DrawUtils.getShiftedColor( - IColorConstants.button, - -12); - private static final Color COLOR_BORDER_GRADIENT1_SELECTED = DrawUtils.getShiftedColor( - IColorConstants.buttonDarker, - 64); - private static final Color COLOR_BORDER_GRADIENT2 = DrawUtils.getShiftedColor(COLOR_FACE, -8); - private static final Color COLOR_BORDER_GRADIENT2_SELECTED = DrawUtils.getShiftedColor( - COLOR_FACE_SELECTED, - -8); - // fields - private Image m_image; - private boolean m_down; - private boolean m_selected; - - //////////////////////////////////////////////////////////////////////////// - // - // Constructor - // - //////////////////////////////////////////////////////////////////////////// - public CFlatButton(Composite parent, int style) { - super(parent, style); - addPaintListener(new PaintListener() { - public void paintControl(PaintEvent e) { - boolean isSelected = m_down | m_selected; - Color faceColor = isSelected ? COLOR_FACE_SELECTED : COLOR_FACE; - Color borderGradientColor1 = - isSelected ? COLOR_BORDER_GRADIENT1_SELECTED : COLOR_BORDER_GRADIENT1; - Color borderGradientColor2 = - isSelected ? COLOR_BORDER_GRADIENT2_SELECTED : COLOR_BORDER_GRADIENT2; - GC gc = e.gc; - Rectangle ca = getClientArea(); - // draw client area - // dark border - gc.setForeground(IColorConstants.buttonDarker); - gc.drawRectangle(ca.x, ca.y, ca.width - 1, ca.height - 1); - cropClientArea(ca); - // gradient border - gc.setForeground(borderGradientColor1); - gc.setBackground(borderGradientColor2); - gc.fillGradientRectangle(ca.x, ca.y, ca.width, ca.height, true); - cropClientArea(ca); - // fill background - gc.setBackground(faceColor); - gc.fillRectangle(ca); - // draw face upper-half gradient - Rectangle ca1 = getClientArea(); - cropClientArea(ca1); - gc.setForeground(faceColor); - gc.setBackground(borderGradientColor1); - gc.fillGradientRectangle(ca1.x, ca1.y, ca1.width, ca1.height / 4, true); - // draw face down-half gradient - ca1.x += 1; - ca1.width -= 2; - gc.setForeground(borderGradientColor1); - gc.setBackground(faceColor); - gc.fillGradientRectangle(ca1.x, ca1.y + ca1.height / 4 - 1, ca1.width, ca1.height / 2, true); - // draw image - Image image = getImage(); - if (image != null) { - Rectangle imageBounds = image.getBounds(); - // center it in client area - int x = ca.x + (ca.width - imageBounds.width) / 2; - int y = ca.y + (ca.height - imageBounds.height) / 2; - gc.drawImage(image, x, y); - } - } - }); - addListener(SWT.MouseDown, new Listener() { - public void handleEvent(Event e) { - m_down = true; - redraw(); - } - }); - addListener(SWT.MouseUp, new Listener() { - public void handleEvent(Event e) { - m_down = false; - redraw(); - update(); - if (getClientArea().contains(e.x, e.y)) { - fireSelectionEvent(e.time, e.stateMask); - } - } - }); - } - - //////////////////////////////////////////////////////////////////////////// - // - // Utils - // - //////////////////////////////////////////////////////////////////////////// - private void fireSelectionEvent(int time, int stateMask) { - Event event = new Event(); - event.time = time; - event.stateMask = stateMask; - notifyListeners(SWT.Selection, event); - } - - private void cropClientArea(Rectangle ca) { - ca.x += 1; - ca.y += 1; - ca.width -= 2; - ca.height -= 2; - } - - //////////////////////////////////////////////////////////////////////////// - // - // Access - // - //////////////////////////////////////////////////////////////////////////// - public final Image getImage() { - return m_image; - } - - public void setImage(Image image) { - m_image = image; - } - - public void setSelected(boolean selected) { - m_selected = selected; - } -} |