List of usage examples for org.eclipse.swt.widgets Tree Tree
public Tree(Composite parent, int style)
From source file:org.eclipse.swt.snippets.Snippet73.java
public static void main(String[] args) { Display display = new Display(); Shell shell = new Shell(display); shell.setText("Snippet 73"); final Tree tree = new Tree(shell, SWT.BORDER | SWT.MULTI); final Menu menu = new Menu(shell, SWT.POP_UP); tree.setMenu(menu);/* ww w .ja v a2 s. c o m*/ for (int i = 0; i < 12; i++) { TreeItem treeItem = new TreeItem(tree, SWT.NONE); treeItem.setText("Item " + i); MenuItem menuItem = new MenuItem(menu, SWT.PUSH); menuItem.setText(treeItem.getText()); } menu.addListener(SWT.Show, event -> { MenuItem[] menuItems = menu.getItems(); TreeItem[] treeItems = tree.getSelection(); for (int i = 0; i < menuItems.length; i++) { String text = menuItems[i].getText(); int index = 0; while (index < treeItems.length) { if (treeItems[index].getText().equals(text)) break; index++; } menuItems[i].setEnabled(index != treeItems.length); } }); Rectangle clientArea = shell.getClientArea(); tree.setBounds(clientArea.x, clientArea.y, 200, 200); shell.setSize(300, 300); shell.open(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) display.sleep(); } display.dispose(); }
From source file:MenuItemEnableDynamically.java
public static void main(String[] args) { Display display = new Display(); Shell shell = new Shell(display); final Tree tree = new Tree(shell, SWT.BORDER | SWT.MULTI); final Menu menu = new Menu(shell, SWT.POP_UP); tree.setMenu(menu);/*from w ww . j a v a 2s .c o m*/ for (int i = 0; i < 12; i++) { TreeItem treeItem = new TreeItem(tree, SWT.NONE); treeItem.setText("Item " + i); MenuItem menuItem = new MenuItem(menu, SWT.PUSH); menuItem.setText(treeItem.getText()); } menu.addListener(SWT.Show, new Listener() { public void handleEvent(Event event) { MenuItem[] menuItems = menu.getItems(); TreeItem[] treeItems = tree.getSelection(); for (int i = 0; i < menuItems.length; i++) { String text = menuItems[i].getText(); int index = 0; while (index < treeItems.length) { if (treeItems[index].getText().equals(text)) break; index++; } menuItems[i].setEnabled(index != treeItems.length); } } }); tree.setSize(200, 200); shell.setSize(300, 300); shell.open(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) display.sleep(); } display.dispose(); }
From source file:org.eclipse.swt.snippets.Snippet61.java
public static void main(String[] args) { Display display = new Display(); Shell shell = new Shell(display); shell.setText("Snippet 61"); shell.setLayout(new FillLayout()); final Tree tree = new Tree(shell, SWT.BORDER | SWT.MULTI | SWT.V_SCROLL); for (int i = 0; i < 4; i++) { TreeItem item0 = new TreeItem(tree, 0); item0.setText("Item " + i); for (int j = 0; j < 4; j++) { TreeItem item1 = new TreeItem(item0, 0); item1.setText("SubItem " + i + " " + j); for (int k = 0; k < 4; k++) { TreeItem item2 = new TreeItem(item1, 0); item2.setText("SubItem " + i + " " + j + " " + k); }/* w w w. j av a2 s . c om*/ } } tree.addListener(SWT.Selection, e -> { String string = ""; TreeItem[] selection = tree.getSelection(); for (int i = 0; i < selection.length; i++) string += selection[i] + " "; System.out.println("Selection={" + string + "}"); }); tree.addListener(SWT.DefaultSelection, e -> { String string = ""; TreeItem[] selection = tree.getSelection(); for (int i = 0; i < selection.length; i++) string += selection[i] + " "; System.out.println("DefaultSelection={" + string + "}"); }); tree.addListener(SWT.Expand, e -> System.out.println("Expand={" + e.item + "}")); tree.addListener(SWT.Collapse, e -> System.out.println("Collapse={" + e.item + "}")); tree.getItems()[0].setExpanded(true); shell.pack(); shell.open(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) display.sleep(); } display.dispose(); }
From source file:org.eclipse.swt.snippets.Snippet202.java
public static void main(String[] args) { Display display = new Display(); final Shell shell = new Shell(display); shell.setText("Snippet 202"); shell.setLayout(new FillLayout()); final Tree tree = new Tree(shell, SWT.VIRTUAL | SWT.BORDER); tree.addListener(SWT.SetData, event -> { TreeItem item = (TreeItem) event.item; TreeItem parentItem = item.getParentItem(); String text = null;//ww w .j ava2s .c o m if (parentItem == null) { text = "node " + tree.indexOf(item); } else { text = parentItem.getText() + " - " + parentItem.indexOf(item); } item.setText(text); item.setItemCount(10); }); tree.setItemCount(20); shell.setSize(400, 300); shell.open(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) display.sleep(); } display.dispose(); }
From source file:org.eclipse.swt.snippets.Snippet170.java
public static void main(String[] args) { Display display = new Display(); final Shell shell = new Shell(display); shell.setText("Snippet 170"); shell.setLayout(new FillLayout()); Tree tree = new Tree(shell, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL); tree.setHeaderVisible(true);/*from ww w. j a v a 2 s . c o m*/ TreeColumn column1 = new TreeColumn(tree, SWT.LEFT); column1.setText("Column 1"); column1.setWidth(200); TreeColumn column2 = new TreeColumn(tree, SWT.CENTER); column2.setText("Column 2"); column2.setWidth(200); TreeColumn column3 = new TreeColumn(tree, SWT.RIGHT); column3.setText("Column 3"); column3.setWidth(200); for (int i = 0; i < 4; i++) { TreeItem item = new TreeItem(tree, SWT.NONE); item.setText(new String[] { "item " + i, "abc", "defghi" }); for (int j = 0; j < 4; j++) { TreeItem subItem = new TreeItem(item, SWT.NONE); subItem.setText(new String[] { "subitem " + j, "jklmnop", "qrs" }); for (int k = 0; k < 4; k++) { TreeItem subsubItem = new TreeItem(subItem, SWT.NONE); subsubItem.setText(new String[] { "subsubitem " + k, "tuv", "wxyz" }); } } } shell.pack(); shell.open(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) { display.sleep(); } } display.dispose(); }
From source file:org.eclipse.swt.snippets.Snippet291.java
public static void main(String[] args) { final Display display = new Display(); Shell shell = new Shell(display); shell.setText("Snippet 291"); shell.setLayout(new FillLayout()); final Tree tree = new Tree(shell, SWT.BORDER); for (int i = 0; i < 5; i++) { TreeItem treeItem = new TreeItem(tree, SWT.NONE); treeItem.setText("item" + i); for (int j = 0; j < 3; j++) { TreeItem subItem = new TreeItem(treeItem, SWT.NONE); subItem.setText("item" + i + j); }//from ww w . j a v a2 s. c om } tree.getAccessible().addAccessibleListener(new AccessibleAdapter() { @Override public void getName(AccessibleEvent e) { if (e.childID == ACC.CHILDID_SELF) { e.result = "This is the Accessible Name for the Tree"; } else { TreeItem item = (TreeItem) display.findWidget(tree, e.childID); if (item != null) { e.result = "This is the Accessible Name for the TreeItem: " + item.getText(); } } } }); shell.pack(); shell.open(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) display.sleep(); } display.dispose(); }
From source file:org.eclipse.swt.snippets.Snippet302.java
public static void main(String[] args) { Display display = new Display(); Shell shell = new Shell(display); shell.setText("Snippet 302"); FillLayout layout = new FillLayout(); layout.marginHeight = 10;/*from ww w . j a v a2 s. c om*/ layout.marginWidth = 10; shell.setLayout(layout); Tree tree = new Tree(shell, SWT.BORDER | SWT.NO_SCROLL); for (int i = 0; i < 10; i++) { TreeItem item = new TreeItem(tree, SWT.NONE); item.setText("Item " + i); } shell.pack(); shell.open(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) display.sleep(); } display.dispose(); }
From source file:org.eclipse.swt.snippets.Snippet358.java
public static void main(String[] args) { Display display = new Display(); Shell shell = new Shell(display); shell.setText("Snippet 358"); shell.setLayout(new GridLayout()); final Tree tree = new Tree(shell, SWT.NONE); tree.setLayoutData(new GridData(200, 200)); for (int i = 0; i < 9; i++) { TreeItem item = new TreeItem(tree, SWT.NONE); item.setText("root-level item " + i); for (int j = 0; j < 9; j++) { new TreeItem(item, SWT.NONE).setText("item " + i + "-" + j); }/*from w w w . jav a2s. c om*/ } Button button = new Button(shell, SWT.PUSH); button.setText("Print item visibilities"); button.addListener(SWT.Selection, event -> { Rectangle treeBounds = new Rectangle(0, 0, 0, 0); Point treeSize = tree.getSize(); treeBounds.width = treeSize.x; treeBounds.height = treeSize.y; TreeItem[] rootItems = tree.getItems(); for (int i = 0; i < rootItems.length; i++) { TreeItem rootItem = rootItems[i]; System.out.println(rootItem.getText() + " is at least partially visible? " + treeBounds.intersects(rootItem.getBounds())); TreeItem[] childItems = rootItem.getItems(); for (int j = 0; j < childItems.length; j++) { TreeItem childItem = childItems[j]; System.out.println(childItem.getText() + " is at least partially visible? " + treeBounds.intersects(childItem.getBounds())); } } }); shell.pack(); shell.open(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) display.sleep(); } display.dispose(); }
From source file:org.eclipse.swt.snippets.Snippet8.java
public static void main(String[] args) { final Display display = new Display(); final Shell shell = new Shell(display); shell.setText("Lazy Tree"); shell.setLayout(new FillLayout()); final Tree tree = new Tree(shell, SWT.BORDER); File[] roots = File.listRoots(); for (int i = 0; i < roots.length; i++) { TreeItem root = new TreeItem(tree, 0); root.setText(roots[i].toString()); root.setData(roots[i]);//from ww w. j a v a 2 s . c om new TreeItem(root, 0); } tree.addListener(SWT.Expand, event -> { final TreeItem root = (TreeItem) event.item; TreeItem[] items = root.getItems(); for (int i1 = 0; i1 < items.length; i1++) { if (items[i1].getData() != null) return; items[i1].dispose(); } File file = (File) root.getData(); File[] files = file.listFiles(); if (files == null) return; for (int i2 = 0; i2 < files.length; i2++) { TreeItem item = new TreeItem(root, 0); item.setText(files[i2].getName()); item.setData(files[i2]); if (files[i2].isDirectory()) { new TreeItem(item, 0); } } }); Point size = tree.computeSize(300, SWT.DEFAULT); int width = Math.max(300, size.x); int height = Math.max(300, size.y); shell.setSize(shell.computeSize(width, height)); shell.open(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) display.sleep(); } display.dispose(); }
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);/*from ww w .j av a 2s . co 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(); }