Fix for bug289620
[deliverable/tracecompass.git] / org.eclipse.linuxtools.tmf.ui / src / org / eclipse / linuxtools / tmf / ui / viewers / timeAnalysis / widgets / TraceCtrl.java
1 /*****************************************************************************
2 * Copyright (c) 2007, Intel Corporation.
3 * All rights reserved. This program and the accompanying materials
4 * are made available under the terms of the Eclipse Public License v1.0
5 * which accompanies this distribution, and is available at
6 * http://www.eclipse.org/legal/epl-v10.html
7 *
8 * Contributors:
9 * Intel Corporation - Initial API and implementation
10 * Ruslan A. Scherbakov, Intel - Initial API and implementation
11 * Alvaro Sanchex-Leon - Udpated for TMF
12 *
13 * $Id: TraceCtrl.java,v 1.2 2007/02/27 18:37:36 ewchan Exp $
14 *****************************************************************************/
15
16 package org.eclipse.linuxtools.tmf.ui.viewers.timeAnalysis.widgets;
17
18 import org.eclipse.swt.SWT;
19 import org.eclipse.swt.events.PaintEvent;
20 import org.eclipse.swt.events.PaintListener;
21 import org.eclipse.swt.graphics.Color;
22 import org.eclipse.swt.graphics.Rectangle;
23 import org.eclipse.swt.widgets.Canvas;
24 import org.eclipse.swt.widgets.Composite;
25
26 public abstract class TraceCtrl extends Canvas implements PaintListener {
27
28 static public final int MARGIN = 4;
29 static public final int SMALL_ICON_SIZE = 16;
30
31 protected TraceColorScheme _colors;
32 protected int _fontHeight = 0;
33
34 public TraceCtrl(Composite parent, TraceColorScheme colors) {
35 this(parent, colors, SWT.NO_BACKGROUND | SWT.NO_FOCUS);
36 }
37
38 public TraceCtrl(Composite parent, TraceColorScheme colors, int style) {
39 super(parent, style);
40 _colors = colors;
41 addPaintListener(this);
42 }
43
44 public void dispose() {
45 super.dispose();
46 }
47
48 public void paintControl(PaintEvent e) {
49 if (e.widget != this)
50 return;
51 _fontHeight = e.gc.getFontMetrics().getHeight();
52 Rectangle bound = getClientArea();
53 if (!bound.isEmpty()) {
54 Color colBackup = e.gc.getBackground();
55 paint(bound, e);
56 e.gc.setBackground(colBackup);
57 }
58 }
59
60 public int getFontHeight() {
61 return _fontHeight;
62 }
63
64 abstract void paint(Rectangle bound, PaintEvent e);
65 }
This page took 0.032411 seconds and 5 git commands to generate.