List of usage examples for org.eclipse.swt.widgets Tree getItems
public TreeItem[] getItems()
From source file:Snippet102.java
public static void main(String[] args) { Display display = new Display(); Shell shell = new Shell(display); Tree tree = new Tree(shell, SWT.BORDER | SWT.MULTI); tree.setSize(200, 200);/* ww w .j a v a 2s . c o m*/ for (int i = 0; i < 12; i++) { TreeItem item = new TreeItem(tree, SWT.NONE); item.setText("Item " + i); } TreeItem item = new TreeItem(tree, SWT.NONE, 1); TreeItem[] items = tree.getItems(); int index = 0; while (index < items.length && items[index] != item) index++; item.setText("*** New Item " + index + " ***"); shell.pack(); shell.open(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) display.sleep(); } display.dispose(); }
From source file:org.eclipse.swt.snippets.Snippet102.java
public static void main(String[] args) { Display display = new Display(); Shell shell = new Shell(display); shell.setText("Snippet 102"); Tree tree = new Tree(shell, SWT.BORDER | SWT.MULTI); Rectangle clientArea = shell.getClientArea(); tree.setBounds(clientArea.x, clientArea.y, 200, 200); for (int i = 0; i < 12; i++) { TreeItem item = new TreeItem(tree, SWT.NONE); item.setText("Item " + i); }//from w w w .j a v a2s. c o m TreeItem item = new TreeItem(tree, SWT.NONE, 1); TreeItem[] items = tree.getItems(); int index = 0; while (index < items.length && items[index] != item) index++; item.setText("*** New Item " + index + " ***"); shell.pack(); shell.open(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) display.sleep(); } display.dispose(); }
From source file:TreeNodeCollapseListener.java
public static void main(String[] args) { Display display = new Display(); Shell shell = new Shell(display); 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); }//from w w w .ja v a 2 s. c o m } } tree.addListener(SWT.Collapse, new Listener() { public void handleEvent(Event 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.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 . j a va 2 s . c o m } 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:TreeNodeSelectionListener.java
public static void main(String[] args) { Display display = new Display(); Shell shell = new Shell(display); 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 ww . jav a 2 s.c o m } } tree.addListener(SWT.Selection, new Listener() { public void handleEvent(Event e) { String string = ""; TreeItem[] selection = tree.getSelection(); for (int i = 0; i < selection.length; i++) string += selection[i] + " "; System.out.println("Selection={" + string + "}"); } }); tree.getItems()[0].setExpanded(true); shell.pack(); shell.open(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) display.sleep(); } display.dispose(); }
From source file:TreeNodeDefaultSelectionListener.java
public static void main(String[] args) { Display display = new Display(); Shell shell = new Shell(display); 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); }//from www . j a va 2s . c o m } } tree.addListener(SWT.DefaultSelection, new Listener() { public void handleEvent(Event e) { String string = ""; TreeItem[] selection = tree.getSelection(); for (int i = 0; i < selection.length; i++) string += selection[i] + " "; System.out.println("DefaultSelection={" + string + "}"); } }); 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.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); }//www . j a va 2s .co m } } 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:DragTreeLeaf.java
public static void main(String[] args) { final Display display = new Display(); final Shell shell = new Shell(display); shell.setLayout(new FillLayout()); final Tree tree = new Tree(shell, SWT.BORDER); for (int i = 0; i < 3; i++) { TreeItem item = new TreeItem(tree, SWT.NONE); item.setText("item " + i); for (int j = 0; j < 3; j++) { TreeItem subItem = new TreeItem(item, SWT.NONE); subItem.setText("item " + i + " " + j); for (int k = 0; k < 3; k++) { TreeItem subsubItem = new TreeItem(subItem, SWT.NONE); subsubItem.setText("item " + i + " " + j + " " + k); }/* w w w . ja v a 2 s.c o m*/ } } Transfer[] types = new Transfer[] { TextTransfer.getInstance() }; int operations = DND.DROP_MOVE | DND.DROP_COPY | DND.DROP_LINK; final DragSource source = new DragSource(tree, operations); source.setTransfer(types); final TreeItem[] dragSourceItem = new TreeItem[1]; source.addDragListener(new DragSourceListener() { public void dragStart(DragSourceEvent event) { TreeItem[] selection = tree.getSelection(); if (selection.length > 0 && selection[0].getItemCount() == 0) { event.doit = true; dragSourceItem[0] = selection[0]; } else { event.doit = false; } }; public void dragSetData(DragSourceEvent event) { event.data = dragSourceItem[0].getText(); } public void dragFinished(DragSourceEvent event) { if (event.detail == DND.DROP_MOVE) dragSourceItem[0].dispose(); dragSourceItem[0] = null; } }); DropTarget target = new DropTarget(tree, operations); target.setTransfer(types); target.addDropListener(new DropTargetAdapter() { public void dragOver(DropTargetEvent event) { event.feedback = DND.FEEDBACK_EXPAND | DND.FEEDBACK_SCROLL; if (event.item != null) { TreeItem item = (TreeItem) event.item; Point pt = display.map(null, tree, event.x, event.y); Rectangle bounds = item.getBounds(); if (pt.y < bounds.y + bounds.height / 3) { event.feedback |= DND.FEEDBACK_INSERT_BEFORE; } else if (pt.y > bounds.y + 2 * bounds.height / 3) { event.feedback |= DND.FEEDBACK_INSERT_AFTER; } else { event.feedback |= DND.FEEDBACK_SELECT; } } } public void drop(DropTargetEvent event) { if (event.data == null) { event.detail = DND.DROP_NONE; return; } String text = (String) event.data; if (event.item == null) { TreeItem item = new TreeItem(tree, SWT.NONE); item.setText(text); } else { TreeItem item = (TreeItem) event.item; Point pt = display.map(null, tree, event.x, event.y); Rectangle bounds = item.getBounds(); TreeItem parent = item.getParentItem(); if (parent != null) { TreeItem[] items = parent.getItems(); int index = 0; for (int i = 0; i < items.length; i++) { if (items[i] == item) { index = i; break; } } if (pt.y < bounds.y + bounds.height / 3) { TreeItem newItem = new TreeItem(parent, SWT.NONE, index); newItem.setText(text); } else if (pt.y > bounds.y + 2 * bounds.height / 3) { TreeItem newItem = new TreeItem(parent, SWT.NONE, index + 1); newItem.setText(text); } else { TreeItem newItem = new TreeItem(item, SWT.NONE); newItem.setText(text); } } else { TreeItem[] items = tree.getItems(); int index = 0; for (int i = 0; i < items.length; i++) { if (items[i] == item) { index = i; break; } } if (pt.y < bounds.y + bounds.height / 3) { TreeItem newItem = new TreeItem(tree, SWT.NONE, index); newItem.setText(text); } else if (pt.y > bounds.y + 2 * bounds.height / 3) { TreeItem newItem = new TreeItem(tree, SWT.NONE, index + 1); newItem.setText(text); } else { TreeItem newItem = new TreeItem(item, SWT.NONE); newItem.setText(text); } } } } }); shell.setSize(400, 400); shell.open(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) display.sleep(); } display.dispose(); }
From source file:org.eclipse.swt.snippets.Snippet91.java
public static void main(String[] args) { final Display display = new Display(); final Shell shell = new Shell(display); shell.setText("Snippet 91"); shell.setLayout(new FillLayout()); final Tree tree = new Tree(shell, SWT.BORDER); for (int i = 0; i < 3; i++) { TreeItem item = new TreeItem(tree, SWT.NONE); item.setText("item " + i); for (int j = 0; j < 3; j++) { TreeItem subItem = new TreeItem(item, SWT.NONE); subItem.setText("item " + i + " " + j); for (int k = 0; k < 3; k++) { TreeItem subsubItem = new TreeItem(subItem, SWT.NONE); subsubItem.setText("item " + i + " " + j + " " + k); }/*from w w w .ja v a 2s. com*/ } } Transfer[] types = new Transfer[] { TextTransfer.getInstance() }; int operations = DND.DROP_MOVE | DND.DROP_COPY | DND.DROP_LINK; final DragSource source = new DragSource(tree, operations); source.setTransfer(types); final TreeItem[] dragSourceItem = new TreeItem[1]; source.addDragListener(new DragSourceListener() { @Override public void dragStart(DragSourceEvent event) { TreeItem[] selection = tree.getSelection(); if (selection.length > 0 && selection[0].getItemCount() == 0) { event.doit = true; dragSourceItem[0] = selection[0]; } else { event.doit = false; } } @Override public void dragSetData(DragSourceEvent event) { event.data = dragSourceItem[0].getText(); } @Override public void dragFinished(DragSourceEvent event) { if (event.detail == DND.DROP_MOVE) dragSourceItem[0].dispose(); dragSourceItem[0] = null; } }); DropTarget target = new DropTarget(tree, operations); target.setTransfer(types); target.addDropListener(new DropTargetAdapter() { @Override public void dragOver(DropTargetEvent event) { event.feedback = DND.FEEDBACK_EXPAND | DND.FEEDBACK_SCROLL; if (event.item != null) { TreeItem item = (TreeItem) event.item; Point pt = display.map(null, tree, event.x, event.y); Rectangle bounds = item.getBounds(); if (pt.y < bounds.y + bounds.height / 3) { event.feedback |= DND.FEEDBACK_INSERT_BEFORE; } else if (pt.y > bounds.y + 2 * bounds.height / 3) { event.feedback |= DND.FEEDBACK_INSERT_AFTER; } else { event.feedback |= DND.FEEDBACK_SELECT; } } } @Override public void drop(DropTargetEvent event) { if (event.data == null) { event.detail = DND.DROP_NONE; return; } String text = (String) event.data; if (event.item == null) { TreeItem item = new TreeItem(tree, SWT.NONE); item.setText(text); } else { TreeItem item = (TreeItem) event.item; Point pt = display.map(null, tree, event.x, event.y); Rectangle bounds = item.getBounds(); TreeItem parent = item.getParentItem(); if (parent != null) { TreeItem[] items = parent.getItems(); int index = 0; for (int i = 0; i < items.length; i++) { if (items[i] == item) { index = i; break; } } if (pt.y < bounds.y + bounds.height / 3) { TreeItem newItem = new TreeItem(parent, SWT.NONE, index); newItem.setText(text); } else if (pt.y > bounds.y + 2 * bounds.height / 3) { TreeItem newItem = new TreeItem(parent, SWT.NONE, index + 1); newItem.setText(text); } else { TreeItem newItem = new TreeItem(item, SWT.NONE); newItem.setText(text); } } else { TreeItem[] items = tree.getItems(); int index = 0; for (int i = 0; i < items.length; i++) { if (items[i] == item) { index = i; break; } } if (pt.y < bounds.y + bounds.height / 3) { TreeItem newItem = new TreeItem(tree, SWT.NONE, index); newItem.setText(text); } else if (pt.y > bounds.y + 2 * bounds.height / 3) { TreeItem newItem = new TreeItem(tree, SWT.NONE, index + 1); newItem.setText(text); } else { TreeItem newItem = new TreeItem(item, SWT.NONE); newItem.setText(text); } } } } }); shell.setSize(400, 400); shell.open(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) display.sleep(); } display.dispose(); }