/*******************************************************************************
* Copyright (c) 2015, Daniel Ludin
* 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:
* Daniel Ludin (ludin@hispeed.ch) - initial implementation
*******************************************************************************/
package ch.gpb.elexis.cst.widget;
import org.eclipse.swt.events.DisposeEvent;
import org.eclipse.swt.events.DisposeListener;
import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.graphics.Font;
import org.eclipse.swt.graphics.FontData;
import org.eclipse.swt.widgets.Canvas;
import org.eclipse.swt.widgets.Composite;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import ch.elexis.core.ui.UiDesk;
/**
* This is the base class for all CST Canvasses.
*
* @author daniel
*
*/
public class CstCanvas extends Canvas {
Font fontSmall;
Font fontBig;
Font fontA;
static Color BLUE;
static Color GRAY;
static Color DARKGRAY;
static Color WHITE;
static Color BRIGHTGREEN;
static Color ORANGE;
static Color BLACK;
protected static Logger log = LoggerFactory.getLogger(CstCanvas.class.getName());
public CstCanvas(Composite parent, int style) {
super(parent, style);
fontSmall = createFontofSize(7);
fontBig = createFontofSize(12);
Font initialFont = getDisplay().getSystemFont();
FontData[] fontData = initialFont.getFontData();
for (int i = 0; i < fontData.length; i++) {
fontData[i].setHeight(7);
}
fontA = new Font(getDisplay(), fontData);
BLUE = UiDesk.getColorFromRGB("1E1EFF");
GRAY = UiDesk.getColorFromRGB("DDDDDD");
DARKGRAY = UiDesk.getColorFromRGB("777777");
WHITE = UiDesk.getColorFromRGB("FFFFFF");
BRIGHTGREEN = UiDesk.getColorFromRGB("68FF00");
ORANGE = UiDesk.getColorFromRGB("FF6800");
BLACK = UiDesk.getColorFromRGB("000000");
setBackground(WHITE);
addDisposeListener(new DisposeListener() {
public void widgetDisposed(DisposeEvent e) {
// TODO: is it necessary to dispose these colors (don't think so, but make sure)
fontA.dispose();
}
});
}
private Font createFontofSize(int sizeOfFont) {
Font initialFont = getDisplay().getSystemFont();
FontData[] fontData = initialFont.getFontData();
for (int i = 0; i < fontData.length; i++) {
fontData[i].setHeight(sizeOfFont);
}
Font newFont = new Font(getDisplay(), fontData);
return newFont;
}
}