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

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

Introduction

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

Prototype

public TreeItem[] getItems() 

Source Link

Document

Returns a (possibly empty) array of items contained in the receiver that are direct item children of the receiver.

Usage

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();
}