Example usage for org.eclipse.swt.widgets Tree setColumnOrder

List of usage examples for org.eclipse.swt.widgets Tree setColumnOrder

Introduction

In this page you can find the example usage for org.eclipse.swt.widgets Tree setColumnOrder.

Prototype

public void setColumnOrder(int[] order) 

Source Link

Document

Sets the order that the items in the receiver should be displayed in to the given argument which is described in terms of the zero-relative ordering of when the items were added.

Usage

From source file:org.eclipse.swt.snippets.Snippet193.java

public static void main(String[] args) {
    Display display = new Display();
    Shell shell = new Shell(display);
    shell.setText("Snippet 193");
    shell.setLayout(new RowLayout(SWT.HORIZONTAL));
    final Tree tree = new Tree(shell, SWT.BORDER | SWT.CHECK);
    tree.setLayoutData(new RowData(-1, 300));
    tree.setHeaderVisible(true);/*w w  w .ja v a2s  . c o m*/
    TreeColumn column = new TreeColumn(tree, SWT.LEFT);
    column.setText("Column 0");
    column = new TreeColumn(tree, SWT.CENTER);
    column.setText("Column 1");
    column = new TreeColumn(tree, SWT.LEFT);
    column.setText("Column 2");
    column = new TreeColumn(tree, SWT.RIGHT);
    column.setText("Column 3");
    column = new TreeColumn(tree, SWT.CENTER);
    column.setText("Column 4");
    for (int i = 0; i < 5; i++) {
        TreeItem item = new TreeItem(tree, SWT.NONE);
        String[] text = new String[] { i + ":0", i + ":1", i + ":2", i + ":3", i + ":4" };
        item.setText(text);
        for (int j = 0; j < 5; j++) {
            TreeItem subItem = new TreeItem(item, SWT.NONE);
            text = new String[] { i + "," + j + ":0", i + "," + j + ":1", i + "," + j + ":2",
                    i + "," + j + ":3", i + "," + j + ":4" };
            subItem.setText(text);
            for (int k = 0; k < 5; k++) {
                TreeItem subsubItem = new TreeItem(subItem, SWT.NONE);
                text = new String[] { i + "," + j + "," + k + ":0", i + "," + j + "," + k + ":1",
                        i + "," + j + "," + k + ":2", i + "," + j + "," + k + ":3",
                        i + "," + j + "," + k + ":4" };
                subsubItem.setText(text);
            }
        }
    }
    Listener listener = e -> System.out.println("Move " + e.widget);
    TreeColumn[] columns = tree.getColumns();
    for (int i = 0; i < columns.length; i++) {
        columns[i].setWidth(100);
        columns[i].setMoveable(true);
        columns[i].addListener(SWT.Move, listener);
    }
    Button b = new Button(shell, SWT.PUSH);
    b.setText("invert column order");
    b.addListener(SWT.Selection, e -> {
        int[] order = tree.getColumnOrder();
        for (int i = 0; i < order.length / 2; i++) {
            int temp = order[i];
            order[i] = order[order.length - i - 1];
            order[order.length - i - 1] = temp;
        }
        tree.setColumnOrder(order);
    });
    shell.pack();
    shell.open();
    while (!shell.isDisposed()) {
        if (!display.readAndDispatch())
            display.sleep();
    }
    display.dispose();
}