From c9c7ee9de1a9e51baa7e00d87addc6a41b0d9af6 Mon Sep 17 00:00:00 2001 From: Veronika Irvine Date: Thu, 30 Mar 2006 20:51:33 +0000 Subject: new custom draw snippets for Table --- .../src/org/eclipse/swt/snippets/Snippet229.java | 97 +++++++++++++++++++ .../src/org/eclipse/swt/snippets/Snippet230.java | 86 +++++++++++++++++ .../src/org/eclipse/swt/snippets/Snippet231.java | 104 +++++++++++++++++++++ 3 files changed, 287 insertions(+) create mode 100644 examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet229.java create mode 100644 examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet230.java create mode 100644 examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet231.java (limited to 'examples/org.eclipse.swt.snippets/src') diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet229.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet229.java new file mode 100644 index 0000000000..61650a0b2f --- /dev/null +++ b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet229.java @@ -0,0 +1,97 @@ +/******************************************************************************* + * Copyright (c) 2000, 2006 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.snippets; + +/* + * Table example snippet: Draw a custom gradient selection + * + * For a list of all SWT example snippets see + * http://www.eclipse.org/swt/snippets/ + * + * @since 3.2 + */ + +import org.eclipse.swt.*; +import org.eclipse.swt.graphics.*; +import org.eclipse.swt.layout.*; +import org.eclipse.swt.widgets.*; + +public class Snippet229 { +public static void main(String [] args) { + final Display display = new Display(); + Shell shell = new Shell(display); + shell.setText("Custom gradient selection for Table"); + shell.setLayout(new FillLayout()); + final Table table = new Table(shell, SWT.MULTI | SWT.FULL_SELECTION); + table.setHeaderVisible(true); + table.setLinesVisible(true); + int columnCount = 3; + for (int i=0; i 0) { + Region region = new Region(); + gc.getClipping(region); + region.add(event.x, event.y, width, event.height); + gc.setClipping(region); + region.dispose(); + } + } + gc.setAdvanced(true); + if (gc.getAdvanced()) gc.setAlpha(127); + Rectangle rect = event.getBounds(); + Color foreground = gc.getForeground(); + Color background = gc.getBackground(); + gc.setForeground(display.getSystemColor(SWT.COLOR_RED)); + gc.setBackground(display.getSystemColor(SWT.COLOR_LIST_BACKGROUND)); + gc.fillGradientRectangle(0, rect.y, display.getBounds().width, rect.height, false); + // restore colors for subsequent drawing + gc.setForeground(foreground); + gc.setBackground(background); + event.detail &= ~SWT.SELECTED; + } + } + }); + for (int i=0; i