summaryrefslogtreecommitdiff
path: root/pdf-over-gui/src/main/java/at/asit/pdfover/gui/controls/MainBarButton.java
diff options
context:
space:
mode:
Diffstat (limited to 'pdf-over-gui/src/main/java/at/asit/pdfover/gui/controls/MainBarButton.java')
-rw-r--r--pdf-over-gui/src/main/java/at/asit/pdfover/gui/controls/MainBarButton.java370
1 files changed, 0 insertions, 370 deletions
diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/controls/MainBarButton.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/controls/MainBarButton.java
deleted file mode 100644
index 52bdf55c..00000000
--- a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/controls/MainBarButton.java
+++ /dev/null
@@ -1,370 +0,0 @@
-/*
- * Copyright 2012 by A-SIT, Secure Information Technology Center Austria
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://joinup.ec.europa.eu/software/page/eupl
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- */
-package at.asit.pdfover.gui.controls;
-
-// Imports
-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.Cursor;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Region;
-import org.eclipse.swt.widgets.Canvas;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Listener;
-
-import at.asit.pdfover.commons.Constants;
-
-/**
- * Main Bar Button implementation
- */
-public abstract class MainBarButton extends Canvas {
-
- /**
- * If borders are drawn with a gradient effect this sets the size
- */
- public static final int GradientFactor = 5;
-
- /**
- * Number of pixel of the altitude of the triangle representing the arrow within the button shapes
- *
- * This should be a multiple of 2!
- */
- public static final int SplitFactor = 10;
-
- /**
- * the used text color
- */
- protected Color textColor = null;
-
- /**
- * the text size
- */
- protected int textsize = Constants.TEXT_SIZE_BUTTON;
-
- private Color inactiveBackground = null;
- private Color activeBackground1 = null;
- private Color borderColor = null;
- private Color activeBackground = null;
-
- private Color inactiveText = null;
-
- private String text = "";
-
- private boolean active = true;
-
- private Image image = null;
-
-
- /**
- * @param parent
- * @param style
- */
- public MainBarButton(Composite parent, int style) {
- super(parent, style);
- this.addPaintListener(new PaintListener() {
-
- @Override
- public void paintControl(PaintEvent e) {
- MainBarButton.this.paintControl(e);
- }
- });
-
- final Cursor hand = new Cursor(this.getDisplay(), SWT.CURSOR_HAND);
-
- this.addListener(SWT.Resize, new Listener() {
-
- @Override
- public void handleEvent(Event event) {
- MainBarButton.this.setRegion(MainBarButton.this
- .getCustomRegion());
- MainBarButton.this.redraw();
- }
- });
-
- this.setCursor(hand);
-
-
- this.inactiveBackground = Constants.MAINBAR_INACTIVE_BACK;
- this.activeBackground1 = Constants.MAINBAR_ACTIVE_BACK_DARK;
- this.activeBackground = Constants.MAINBAR_ACTIVE_BACK_LIGHT;
- //this.textColor = this.getForeground();
- this.textColor = Constants.MAINBAR_ACTIVE_TEXTCOLOR;
- //this.borderColor = new Color(getDisplay(), 0xf9, 0xf9, 0xf9);
- this.borderColor = this.getBackground();
- this.inactiveText = Constants.MAINBAR_INACTIVE_TEXTCOLOR;
- this.textsize = Constants.TEXT_SIZE_BUTTON;
-
- }
-
- /**
- * @param inactiveBackground
- * the inactiveBackground to set
- */
- public void setInactiveBackground(Color inactiveBackground) {
- this.inactiveBackground = inactiveBackground;
- }
-
- /**
- * @param activeBackground
- * the activeBackground to set
- */
- public void setActiveBackground(Color activeBackground) {
- this.activeBackground = activeBackground;
- }
-
- /**
- * @return the textsize
- */
- public int getTextsize() {
- return this.textsize;
- }
-
- /**
- * @param textsize
- * the textsize to set
- */
- public void setTextsize(int textsize) {
- this.textsize = textsize;
- }
-
- /**
- * @param textColor
- * the textColor to set
- */
- public void setTextColor(Color textColor) {
- this.textColor = textColor;
- }
-
- /**
- * @return the borderColor
- */
- public Color getBorderColor() {
- return this.borderColor;
- }
-
- /**
- * @param borderColor
- * the borderColor to set
- */
- public void setBorderColor(Color borderColor) {
- this.borderColor = borderColor;
- }
-
-
- /**
- * Gets the image
- *
- * @return the image
- */
- public Image getImage() {
- return this.image;
- }
-
- /**
- * Sets the Image
- *
- * @param image
- * the imgage to set
- */
- public void setImage(Image image) {
- this.image = image;
- }
-
- /**
- * Sets if this button is active
- *
- * @param active
- * the active state
- */
- public void setActive(boolean active) {
-
- this.active = active;
- if (this.active) {
- this.setBackground(this.activeBackground);
- } else {
- this.setBackground(this.inactiveBackground);
- }
- }
-
- /**
- * Gets if this button is active
- *
- * @return the active state
- */
- public boolean getActive() {
- return this.active;
- }
-
- /**
- * Gets the button text
- *
- * @return the text
- */
- public String getText() {
- return this.text;
- }
-
- /**
- * Sets the text for the button
- *
- * @param text
- * the text to set
- */
- public void setText(String text) {
- this.text = text;
- }
-
- /**
- * Paint 3D style borders
- *
- * @param e
- */
- protected void paintBackground(PaintEvent e) {
- Point size = this.getSize();
- int height = size.y - 4;
-
- int width = size.x;
-
- e.gc.setForeground(this.activeBackground1);
- e.gc.setBackground(this.activeBackground);
-
- e.gc.fillGradientRectangle(0, height, width, -1 * height, true);
-
- //e.gc.setBackground(activeBackground);
-
- // LEFT
- // e.gc.fillGradientRectangle(0, 0, factor, height, false);
-
- // RIGTH
- // e.gc.fillGradientRectangle(width, 0, -1 * (width / factor), height,
- // false);
-
- }
-
- /**
- * Main painting method
- *
- * @param e
- */
- void paintControl(PaintEvent e) {
- Color forecurrent = e.gc.getForeground();
- Color backcurrent = e.gc.getBackground();
-
- e.gc.setForeground(getBorderColor());
- if(this.getActive()) {
- this.paintBackground(e);
- }
-
- e.gc.setForeground(getBorderColor());
-
- this.paintButton(e);
-
- e.gc.setForeground(forecurrent);
- e.gc.setBackground(backcurrent);
-
- this.paintText(e);
- }
-
- /**
- * paint the inner button
- *
- * @param e
- */
- protected void paintButton(PaintEvent e) {
- // could be overwritten by subclasses
- }
-
- /**
- * Paint the text or image on the button
- *
- * @param e
- */
- protected void paintText(PaintEvent e) {
- Point size = this.getSize();
- int height = size.y;
-
- int width = size.x;
-
- // e.gc.fillGradientRectangle(0, 1, width, height / 4, true);
-
- if (this.image == null) {
- Color current = e.gc.getForeground();
-
- if(this.getActive() && this.isEnabled()) {
- e.gc.setForeground(this.textColor);
- } else {
- e.gc.setForeground(this.inactiveText);
- }
-
- String font_name = e.gc.getFont().getFontData()[0].getName();
-
- Font font = new Font(this.getDisplay(), font_name,
- this.getTextsize(),
- e.gc.getFont().getFontData()[0].getStyle());
-
- String text = this.getText();
- e.gc.setFont(font);
- size = e.gc.stringExtent(text);
- int texty = (height - size.y) / 2;
- int textx = (width - size.x) / 2;
- textx = this.changeTextPosition(textx);
- e.gc.drawText(this.getText(), textx, texty, true);
- font.dispose();
-
- e.gc.setForeground(current);
- } else {
-
- //log.debug("Width: " + width + " Height: " + height);
-
- int w = 0;
- Image tmp = null;
- if(this.image.getImageData().width < width) {
- tmp = new Image(getDisplay(), this.image.getImageData());
- w = (width - this.image.getImageData().width) / 2;
- } else if(this.image.getImageData().width > width) {
- tmp = new Image(getDisplay(), this.image.getImageData().scaledTo(width, width));
- } else {
- tmp = new Image(getDisplay(), this.image.getImageData());
- }
-
- e.gc.drawImage(tmp, w, w);
- }
-
- }
-
- /**
- * change the text position
- *
- * @param positionX
- * the position
- * @return the new position
- */
- protected int changeTextPosition(int positionX) {
- return positionX;
- }
-
- /**
- * Gets the region of the button
- *
- * @return the button region
- */
- protected abstract Region getCustomRegion();
-}