diff options
Diffstat (limited to 'examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet192.java')
-rw-r--r-- | examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet192.java | 104 |
1 files changed, 0 insertions, 104 deletions
diff --git a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet192.java b/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet192.java deleted file mode 100644 index 3d8d6d0ad9..0000000000 --- a/examples/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet192.java +++ /dev/null @@ -1,104 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2005 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; - -import java.util.*; - -import org.eclipse.swt.*; -import org.eclipse.swt.layout.*; -import org.eclipse.swt.widgets.*; - -/* - * Show a sort indicator in the column header - * - * For a list of all SWT example snippets see - * http://www.eclipse.org/swt/snippets/ - * - * @since 3.2 - */ - -public class Snippet192 { -public static void main(String[] args) { - // initialize data with keys and random values - int size = 100; - Random random = new Random(); - final int[][] data = new int[size][]; - for (int i = 0; i < data.length; i++) { - data[i] = new int[] {i, random.nextInt()}; - } - // create a virtual table to display data - Display display = new Display(); - Shell shell = new Shell(display); - shell.setLayout(new FillLayout()); - final Table table = new Table(shell, SWT.VIRTUAL); - table.setHeaderVisible(true); - table.setLinesVisible(true); - table.setItemCount(size); - final TableColumn column1 = new TableColumn(table, SWT.NONE); - column1.setText("Key"); - column1.setWidth(200); - final TableColumn column2 = new TableColumn(table, SWT.NONE); - column2.setText("Value"); - column2.setWidth(200); - table.addListener(SWT.SetData, new Listener() { - public void handleEvent(Event e) { - TableItem item = (TableItem) e.item; - int index = table.indexOf(item); - int[] datum = data[index]; - item.setText(new String[] {Integer.toString(datum[0]), - Integer.toString(datum[1]) }); - } - }); - // Add sort indicator and sort data when column selected - Listener sortListener = new Listener() { - public void handleEvent(Event e) { - // determine new sort column and direction - TableColumn sortColumn = table.getSortColumn(); - TableColumn currentColumn = (TableColumn) e.widget; - int dir = table.getSortDirection(); - if (sortColumn == currentColumn) { - dir = dir == SWT.UP ? SWT.DOWN : SWT.UP; - } else { - table.setSortColumn(currentColumn); - dir = SWT.UP; - } - // sort the data based on column and direction - final int index = currentColumn == column1 ? 0 : 1; - final int direction = dir; - Arrays.sort(data, new Comparator() { - public int compare(Object arg0, Object arg1) { - int[] a = (int[]) arg0; - int[] b = (int[]) arg1; - if (a[index] == b[index]) return 0; - if (direction == SWT.UP) { - return a[index] < b[index] ? -1 : 1; - } - return a[index] < b[index] ? 1 : -1; - } - }); - // update data displayed in table - table.setSortDirection(dir); - table.clearAll(); - } - }; - column1.addListener(SWT.Selection, sortListener); - column2.addListener(SWT.Selection, sortListener); - table.setSortColumn(column1); - table.setSortDirection(SWT.UP); - shell.setSize(shell.computeSize(SWT.DEFAULT, SWT.DEFAULT).x, 300); - shell.open(); - while (!shell.isDisposed()) { - if (!display.readAndDispatch()) - display.sleep(); - } - display.dispose(); -} -}
\ No newline at end of file |