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

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

Introduction

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

Prototype

public Tree(Composite parent, int style) 

Source Link

Document

Constructs a new instance of this class given its parent and a style value describing its behavior and appearance.

Usage

From source file:Bookmark.java

public BookmarkOrganizer() {
    shell.setText("Bookmark organizer");
    shell.setLayout(new GridLayout(1, true));

    ToolBar toolBar = new ToolBar(shell, SWT.FLAT);
    ToolItem itemOpen = new ToolItem(toolBar, SWT.PUSH);
    itemOpen.setText("Load");
    itemOpen.addListener(SWT.Selection, new Listener() {
        public void handleEvent(Event event) {
            FileDialog dialog = new FileDialog(shell, SWT.OPEN);
            String file = dialog.open();
            if (file != null) {
                // removes existing items.
                TreeItem[] items = rootItem.getItems();
                for (int i = 0; i < items.length; i++)
                    items[i].dispose();// w  w  w.j a v  a2 s . co  m

                loadBookmark(new File(file), rootItem);
                setStatus("Bookmarks loaded successfully");
            }
        }
    });

    ToolItem itemSave = new ToolItem(toolBar, SWT.PUSH);
    itemSave.setText("Save as");
    itemSave.addListener(SWT.Selection, new Listener() {
        public void handleEvent(Event event) {
            FileDialog dialog = new FileDialog(shell, SWT.SAVE);
            String file = dialog.open();
            if (file != null) {
                try {
                    BufferedWriter writer = new BufferedWriter(new FileWriter(file));
                    saveBookmark(writer, rootItem);
                    writer.close();
                    setStatus("Bookmarks saved successfully to file: " + file);
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    });

    tree = new Tree(shell, SWT.BORDER);
    tree.setLayoutData(new GridData(GridData.FILL_BOTH));
    rootItem = new TreeItem(tree, SWT.NULL);
    rootItem.setText("BOOKMARKS");
    rootItem.setImage(iconRoot);

    label = new Label(shell, SWT.BORDER);
    label.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));

    final DragSource dragSource = new DragSource(tree, DND.DROP_MOVE | DND.DROP_COPY | DND.DROP_LINK);
    dragSource.setTransfer(new Transfer[] { BookmarkTransfer.getInstance() });

    dragSource.addDragListener(new DragSourceAdapter() {
        public void dragStart(DragSourceEvent event) {
            TreeItem[] selection = tree.getSelection();
            // Only a URL bookmark can be dragged.
            if (selection.length > 0 && selection[0].getData() != null) {
                event.doit = true;
                dragSourceItem = selection[0];
            } else {
                event.doit = false;
            }
        };

        public void dragSetData(DragSourceEvent event) {
            if (BookmarkTransfer.getInstance().isSupportedType(event.dataType))
                event.data = dragSourceItem.getData();
        }

        public void dragFinished(DragSourceEvent event) {
            if (event.detail == DND.DROP_MOVE)
                dragSourceItem.dispose();
            dragSourceItem = null;
        }

    });

    final DropTarget dropTarget = new DropTarget(tree, DND.DROP_MOVE | DND.DROP_COPY | DND.DROP_LINK);
    dropTarget.setTransfer(new Transfer[] { BookmarkTransfer.getInstance() });
    dropTarget.addDropListener(new DropTargetAdapter() {
        public void dragOver(DropTargetEvent event) {
            event.feedback = DND.FEEDBACK_EXPAND | DND.FEEDBACK_SCROLL | DND.FEEDBACK_SELECT;
        }

        public void dropAccept(DropTargetEvent event) {
            // can only drops into to a folder
            if (event.item == null || ((TreeItem) event.item).getData() != null)
                event.detail = DND.DROP_NONE;
        }

        public void drop(DropTargetEvent event) {
            try {
                if (event.data == null) {
                    event.detail = DND.DROP_NONE;
                    return;
                }

                TreeItem item = new TreeItem((TreeItem) event.item, SWT.NULL);
                Bookmark bookmark = (Bookmark) event.data;
                item.setText(bookmark.name);
                item.setImage(iconURL);
                item.setData(bookmark);
            } catch (RuntimeException e) {
                e.printStackTrace();
            }
        }
    });

    tree.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent e) {
            TreeItem item = (TreeItem) e.item;
            Bookmark bookmark = (Bookmark) item.getData();
            if (bookmark != null) {
                setStatus(bookmark.href);
            } else if (item.getData(KEY_ADD_DATE) != null) { // folder.
                setStatus("Folder: " + item.getText());
            }
        }
    });

    shell.setSize(400, 300);
    shell.open();
    //textUser.forceFocus();

    loadBookmark(new File("icons/mybookmark.htm"), rootItem);

    // Set up the event loop.
    while (!shell.isDisposed()) {
        if (!display.readAndDispatch()) {
            // If no more entries in event queue
            display.sleep();
        }
    }

    display.dispose();
}

From source file:HoverHelp.java

/**
 * Creates the example/*from   w ww.  j a  v  a2  s  . co  m*/
 */
public void createPartControl(Composite frame) {
    final ToolTipHandler tooltip = new ToolTipHandler(frame.getShell());

    GridLayout layout = new GridLayout();
    layout.numColumns = 3;
    frame.setLayout(layout);

    ToolBar bar = new ToolBar(frame, SWT.BORDER);
    for (int i = 0; i < 5; i++) {
        ToolItem item = new ToolItem(bar, SWT.PUSH);
        item.setText(getResourceString("ToolItem.text", new Object[] { new Integer(i) }));
        item.setData("TIP_TEXT", getResourceString("ToolItem.tooltip", new Object[] { item.getText() }));
        item.setData("TIP_HELPTEXTHANDLER", new ToolTipHelpTextHandler() {
            public String getHelpText(Widget widget) {
                Item item = (Item) widget;
                return getResourceString("ToolItem.help", new Object[] { item.getText() });
            }
        });
    }
    GridData gridData = new GridData();
    gridData.horizontalSpan = 3;
    bar.setLayoutData(gridData);
    tooltip.activateHoverHelp(bar);

    Table table = new Table(frame, SWT.BORDER);
    for (int i = 0; i < 4; i++) {
        TableItem item = new TableItem(table, SWT.PUSH);
        item.setText(getResourceString("Item", new Object[] { new Integer(i) }));
        item.setData("TIP_IMAGE", images[hhiInformation]);
        item.setText(getResourceString("TableItem.text", new Object[] { new Integer(i) }));
        item.setData("TIP_TEXT", getResourceString("TableItem.tooltip", new Object[] { item.getText() }));
        item.setData("TIP_HELPTEXTHANDLER", new ToolTipHelpTextHandler() {
            public String getHelpText(Widget widget) {
                Item item = (Item) widget;
                return getResourceString("TableItem.help", new Object[] { item.getText() });
            }
        });
    }
    table.setLayoutData(new GridData(GridData.VERTICAL_ALIGN_FILL));
    tooltip.activateHoverHelp(table);

    Tree tree = new Tree(frame, SWT.BORDER);
    for (int i = 0; i < 4; i++) {
        TreeItem item = new TreeItem(tree, SWT.PUSH);
        item.setText(getResourceString("Item", new Object[] { new Integer(i) }));
        item.setData("TIP_IMAGE", images[hhiWarning]);
        item.setText(getResourceString("TreeItem.text", new Object[] { new Integer(i) }));
        item.setData("TIP_TEXT", getResourceString("TreeItem.tooltip", new Object[] { item.getText() }));
        item.setData("TIP_HELPTEXTHANDLER", new ToolTipHelpTextHandler() {
            public String getHelpText(Widget widget) {
                Item item = (Item) widget;
                return getResourceString("TreeItem.help", new Object[] { item.getText() });
            }
        });
    }
    tree.setLayoutData(new GridData(GridData.VERTICAL_ALIGN_FILL));
    tooltip.activateHoverHelp(tree);

    Button button = new Button(frame, SWT.PUSH);
    button.setText(getResourceString("Hello.text"));
    button.setData("TIP_TEXT", getResourceString("Hello.tooltip"));
    tooltip.activateHoverHelp(button);
}

From source file:org.eclipse.swt.examples.hoverhelp.HoverHelp.java

/**
 * Creates the example//www.  j a va2 s  .com
 */
public void createPartControl(Composite frame) {
    final ToolTipHandler tooltip = new ToolTipHandler(frame.getShell());

    GridLayout layout = new GridLayout();
    layout.numColumns = 3;
    frame.setLayout(layout);

    String platform = SWT.getPlatform();
    String helpKey = "F1";
    if (platform.equals("gtk"))
        helpKey = "Ctrl+F1";
    if (platform.equals("cocoa"))
        helpKey = "Help";

    ToolBar bar = new ToolBar(frame, SWT.BORDER);
    for (int i = 0; i < 5; i++) {
        ToolItem item = new ToolItem(bar, SWT.PUSH);
        item.setText(getResourceString("ToolItem.text", new Object[] { Integer.valueOf(i) }));
        item.setData("TIP_TEXT",
                getResourceString("ToolItem.tooltip", new Object[] { item.getText(), helpKey }));
        item.setData("TIP_HELPTEXTHANDLER", (ToolTipHelpTextHandler) widget -> {
            Item item1 = (Item) widget;
            return getResourceString("ToolItem.help", new Object[] { item1.getText() });
        });
    }
    GridData gridData = new GridData();
    gridData.horizontalSpan = 3;
    bar.setLayoutData(gridData);
    tooltip.activateHoverHelp(bar);

    Table table = new Table(frame, SWT.BORDER);
    for (int i = 0; i < 4; i++) {
        TableItem item = new TableItem(table, SWT.PUSH);
        item.setText(getResourceString("Item", new Object[] { Integer.valueOf(i) }));
        item.setData("TIP_IMAGE", images[hhiInformation]);
        item.setText(getResourceString("TableItem.text", new Object[] { Integer.valueOf(i) }));
        item.setData("TIP_TEXT",
                getResourceString("TableItem.tooltip", new Object[] { item.getText(), helpKey }));
        item.setData("TIP_HELPTEXTHANDLER", (ToolTipHelpTextHandler) widget -> {
            Item item1 = (Item) widget;
            return getResourceString("TableItem.help", new Object[] { item1.getText() });
        });
    }
    table.setLayoutData(new GridData(GridData.VERTICAL_ALIGN_FILL));
    tooltip.activateHoverHelp(table);

    Tree tree = new Tree(frame, SWT.BORDER);
    for (int i = 0; i < 4; i++) {
        TreeItem item = new TreeItem(tree, SWT.PUSH);
        item.setText(getResourceString("Item", new Object[] { Integer.valueOf(i) }));
        item.setData("TIP_IMAGE", images[hhiWarning]);
        item.setText(getResourceString("TreeItem.text", new Object[] { Integer.valueOf(i) }));
        item.setData("TIP_TEXT",
                getResourceString("TreeItem.tooltip", new Object[] { item.getText(), helpKey }));
        item.setData("TIP_HELPTEXTHANDLER", (ToolTipHelpTextHandler) widget -> {
            Item item1 = (Item) widget;
            return getResourceString("TreeItem.help", new Object[] { item1.getText() });
        });
    }
    tree.setLayoutData(new GridData(GridData.VERTICAL_ALIGN_FILL));
    tooltip.activateHoverHelp(tree);

    Button button = new Button(frame, SWT.PUSH);
    button.setText(getResourceString("Hello.text"));
    button.setData("TIP_TEXT", getResourceString("Hello.tooltip"));
    tooltip.activateHoverHelp(button);
}

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

public static void main(String[] args) {
    final Display display = new Display();
    final Shell shell = new Shell(display);
    shell.setText("Snippet365 - Transparent Background");
    RowLayout layout = new RowLayout(SWT.VERTICAL);
    layout.spacing = 20;/*from ww  w  . j ava  2  s  . co  m*/
    layout.marginWidth = 10;
    layout.marginHeight = 10;
    shell.setLayout(layout);
    // Standard color background for Shell
    // shell.setBackground(display.getSystemColor(SWT.COLOR_CYAN));

    // Gradient background for Shell
    shell.addListener(SWT.Resize, event -> {
        Rectangle rect = shell.getClientArea();
        Image newImage = new Image(display, Math.max(1, rect.width), 1);
        GC gc = new GC(newImage);
        gc.setForeground(display.getSystemColor(SWT.COLOR_BLUE));
        gc.setBackground(display.getSystemColor(SWT.COLOR_GREEN));
        gc.fillGradientRectangle(rect.x, rect.y, rect.width, 1, false);
        gc.dispose();
        shell.setBackgroundImage(newImage);
        if (oldImage != null)
            oldImage.dispose();
        oldImage = newImage;
    });

    // Transparent
    buttonCheckBox = new Button(shell, SWT.CHECK | SWT.None);
    buttonCheckBox.setText("SET TRANSPARENT");
    buttonCheckBox.setBackground(display.getSystemColor(SWT.COLOR_TRANSPARENT));
    buttonCheckBox.setSelection(false);
    buttonCheckBox.addSelectionListener(widgetSelectedAdapter(e -> {
        boolean transparent = ((Button) e.getSource()).getSelection();
        if (transparent) {
            // ContainerGroup
            containerGroup.setBackground(display.getSystemColor(SWT.COLOR_TRANSPARENT));
            canvas.setBackground(display.getSystemColor(SWT.COLOR_TRANSPARENT));
            composite.setBackground(display.getSystemColor(SWT.COLOR_TRANSPARENT));
            tabFolder.setBackground(display.getSystemColor(SWT.COLOR_TRANSPARENT));
            for (TabItem item : tabFolder.getItems()) {
                item.getControl().setBackground(display.getSystemColor(SWT.COLOR_TRANSPARENT));
            }

            // Native
            nativeGroup.setBackground(display.getSystemColor(SWT.COLOR_TRANSPARENT));
            toolBar.setBackground(display.getSystemColor(SWT.COLOR_TRANSPARENT));
            coolBar.setBackground(display.getSystemColor(SWT.COLOR_TRANSPARENT));
            label.setBackground(display.getSystemColor(SWT.COLOR_TRANSPARENT));
            link.setBackground(display.getSystemColor(SWT.COLOR_TRANSPARENT));
            scale.setBackground(display.getSystemColor(SWT.COLOR_TRANSPARENT));
            radio.setBackground(display.getSystemColor(SWT.COLOR_TRANSPARENT));
            check.setBackground(display.getSystemColor(SWT.COLOR_TRANSPARENT));
            group.setBackground(display.getSystemColor(SWT.COLOR_TRANSPARENT));
            sash.setBackground(display.getSystemColor(SWT.COLOR_TRANSPARENT));
            slider.setBackground(display.getSystemColor(SWT.COLOR_TRANSPARENT));
            list.setBackground(display.getSystemColor(SWT.COLOR_TRANSPARENT));

            // Custom
            customGroup.setBackground(display.getSystemColor(SWT.COLOR_TRANSPARENT));
            cLabel.setBackground(display.getSystemColor(SWT.COLOR_TRANSPARENT));
            cTab.setBackground(Display.getDefault().getSystemColor(SWT.COLOR_TRANSPARENT));
            gradientCTab.setBackground(Display.getDefault().getSystemColor(SWT.COLOR_TRANSPARENT));
            sashForm.setBackground(Display.getDefault().getSystemColor(SWT.COLOR_TRANSPARENT));
            for (Control control : sashForm.getChildren()) {
                control.setBackground(Display.getDefault().getSystemColor(SWT.COLOR_TRANSPARENT));
            }
            // Default
            push.setBackground(display.getSystemColor(SWT.COLOR_TRANSPARENT));
            defaultBackgroundGroup.setBackground(display.getSystemColor(SWT.COLOR_TRANSPARENT));
            combo.setBackground(display.getSystemColor(SWT.COLOR_TRANSPARENT));
            progressBar.setBackground(display.getSystemColor(SWT.COLOR_TRANSPARENT));
            dateTime.setBackground(display.getSystemColor(SWT.COLOR_TRANSPARENT));
            ccombo.setBackground(display.getSystemColor(SWT.COLOR_TRANSPARENT));
            text.setBackground(display.getSystemColor(SWT.COLOR_TRANSPARENT));
            styledText.setBackground(display.getSystemColor(SWT.COLOR_TRANSPARENT));
            expandBar.setBackground(display.getSystemColor(SWT.COLOR_TRANSPARENT));
            table.setBackground(display.getSystemColor(SWT.COLOR_TRANSPARENT));
            tree.setBackground(display.getSystemColor(SWT.COLOR_TRANSPARENT));

            // ItemGroup
            itemGroup.setBackground(display.getSystemColor(SWT.COLOR_TRANSPARENT));
        } else {
            // Native
            nativeGroup.setBackground(display.getSystemColor(SWT.COLOR_WIDGET_BACKGROUND));
            toolBar.setBackground(null);
            coolBar.setBackground(null);
            label.setBackground(null);
            link.setBackground(null);
            scale.setBackground(null);
            RGB rgb = display.getSystemColor(SWT.COLOR_CYAN).getRGB();
            radio.setBackground(new Color(display, new RGBA(rgb.red, rgb.blue, rgb.green, 255)));
            check.setBackgroundImage(getBackgroundImage(display));
            group.setBackground(display.getSystemColor(SWT.COLOR_WIDGET_BACKGROUND));
            sash.setBackground(display.getSystemColor(SWT.COLOR_DARK_CYAN));
            slider.setBackground(display.getSystemColor(SWT.COLOR_CYAN));
            list.setBackground(display.getSystemColor(SWT.COLOR_CYAN));
            text.setBackground(display.getSystemColor(SWT.COLOR_CYAN));

            // ContainerGroup
            containerGroup.setBackground(display.getSystemColor(SWT.COLOR_WIDGET_BACKGROUND));
            canvas.setBackground(display.getSystemColor(SWT.COLOR_WIDGET_BACKGROUND));
            composite.setBackground(display.getSystemColor(SWT.COLOR_WIDGET_BACKGROUND));
            tabFolder.setBackground(display.getSystemColor(SWT.COLOR_WIDGET_BACKGROUND));
            for (TabItem item : tabFolder.getItems()) {
                item.getControl().setBackground(display.getSystemColor(SWT.COLOR_CYAN));
            }
            // Custom
            customGroup.setBackground(display.getSystemColor(SWT.COLOR_WIDGET_BACKGROUND));
            cLabel.setBackground((Color) null);
            styledText.setBackground((Color) null);
            sashForm.setBackground(Display.getDefault().getSystemColor(SWT.COLOR_WIDGET_BACKGROUND));
            for (Control control : sashForm.getChildren()) {
                control.setBackground(Display.getDefault().getSystemColor(SWT.COLOR_WIDGET_BACKGROUND));
            }
            cTab.setBackground(display.getSystemColor(SWT.COLOR_WIDGET_BACKGROUND));

            gradientCTab.setBackground(new Color[] { display.getSystemColor(SWT.COLOR_RED),
                    display.getSystemColor(SWT.COLOR_WHITE) }, new int[] { 90 }, true);

            // Default
            defaultBackgroundGroup.setBackground(display.getSystemColor(SWT.COLOR_WIDGET_BACKGROUND));
            push.setBackground(display.getSystemColor(SWT.COLOR_WIDGET_BACKGROUND));
            combo.setBackground(display.getSystemColor(SWT.COLOR_CYAN));
            ccombo.setBackground(display.getSystemColor(SWT.COLOR_CYAN));
            dateTime.setBackground(null);
            progressBar.setBackground(null);
            expandBar.setBackground(display.getSystemColor(SWT.COLOR_CYAN));
            table.setBackground(display.getSystemColor(SWT.COLOR_CYAN));
            tree.setBackground(display.getSystemColor(SWT.COLOR_CYAN));

            // ItemGroup
            itemGroup.setBackground(display.getSystemColor(SWT.COLOR_WIDGET_BACKGROUND));
        }

    }));

    // ContainerGroup
    containerGroup = new Composite(shell, SWT.NONE);
    containerGroup.setBackground(display.getSystemColor(SWT.COLOR_WIDGET_BACKGROUND));
    containerGroup.setToolTipText("CONTAINER");
    layout = new RowLayout();
    layout.spacing = 20;
    containerGroup.setLayout(layout);

    // Native
    nativeGroup = new Composite(shell, SWT.NONE);
    nativeGroup.setBackground(display.getSystemColor(SWT.COLOR_WIDGET_BACKGROUND));
    nativeGroup.setToolTipText("NATIVE");
    layout = new RowLayout();
    layout.spacing = 20;
    nativeGroup.setLayout(layout);

    // Custom
    customGroup = new Composite(shell, SWT.NONE);
    customGroup.setBackground(display.getSystemColor(SWT.COLOR_WIDGET_BACKGROUND));
    customGroup.setToolTipText("CUSTOM");
    layout = new RowLayout();
    layout.spacing = 20;
    customGroup.setLayout(layout);

    // AsDesigned
    defaultBackgroundGroup = new Composite(shell, SWT.NONE);
    defaultBackgroundGroup.setBackground(display.getSystemColor(SWT.COLOR_WIDGET_BACKGROUND));
    defaultBackgroundGroup.setToolTipText("Default Background");
    layout = new RowLayout();
    layout.spacing = 20;
    defaultBackgroundGroup.setLayout(layout);

    // ItemGroup
    itemGroup = new Composite(shell, SWT.NONE);
    itemGroup.setBackground(display.getSystemColor(SWT.COLOR_WIDGET_BACKGROUND));
    itemGroup.setToolTipText("ITEM");
    layout = new RowLayout();
    layout.spacing = 20;
    itemGroup.setLayout(layout);

    // Label
    label = new Label(nativeGroup, SWT.NONE);
    label.setText("Label");

    // Radio button
    radio = new Button(nativeGroup, SWT.RADIO);
    radio.setText("Radio Button");
    radio.setSelection(true);
    radio.setBackground(display.getSystemColor(SWT.COLOR_CYAN));

    // Checkbox button with image
    check = new Button(nativeGroup, SWT.CHECK);
    check.setText("CheckBox Image");
    check.setSelection(true);
    check.setBackgroundImage(getBackgroundImage(display));

    // Push Button
    push = new Button(defaultBackgroundGroup, SWT.PUSH);
    push.setText("Push Button");

    // Toolbar
    toolBar = new ToolBar(nativeGroup, SWT.FLAT);
    toolBar.pack();
    ToolItem item = new ToolItem(toolBar, SWT.PUSH);
    item.setText("ToolBar_Item");

    // Coolbar
    coolBar = new CoolBar(nativeGroup, SWT.BORDER);
    for (int i = 0; i < 2; i++) {
        CoolItem item2 = new CoolItem(coolBar, SWT.NONE);
        Button button = new Button(coolBar, SWT.PUSH);
        button.setText("Button " + i);
        Point size = button.computeSize(SWT.DEFAULT, SWT.DEFAULT);
        item2.setPreferredSize(item2.computeSize(size.x, size.y));
        item2.setControl(button);
    }
    // Scale
    scale = new Scale(nativeGroup, SWT.None);
    scale.setMaximum(100);
    scale.setSelection(20);

    // Link
    link = new Link(nativeGroup, SWT.NONE);
    link.setText("<a>Sample link</a>");

    // List
    list = new List(nativeGroup, SWT.BORDER);
    list.setBackground(display.getSystemColor(SWT.COLOR_CYAN));
    list.add("List_one");
    list.add("List_two");
    list.add("List_three");
    list.add("List_four");

    // Canvas
    canvas = new Canvas(containerGroup, SWT.NONE);
    canvas.setToolTipText("Canvas");
    canvas.addPaintListener(e -> {
        GC gc = e.gc;
        gc.setForeground(display.getSystemColor(SWT.COLOR_RED));
        gc.drawRectangle(e.x + 1, e.y + 1, e.width - 2, e.height - 2);
        gc.drawArc(2, 2, e.width - 4, e.height - 4, 0, 360);
    });

    // Composite
    composite = new Composite(containerGroup, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL);
    composite.setToolTipText("Composite");

    // TabFolder
    tabFolder = new TabFolder(containerGroup, SWT.BORDER);
    tabFolder.setBackground(display.getSystemColor(SWT.COLOR_CYAN));
    for (int i = 0; i < 2; i++) {
        TabItem tabItem = new TabItem(tabFolder, SWT.NONE);
        tabItem.setText("TabItem " + i);
        Label label = new Label(tabFolder, SWT.PUSH);
        label.setText("Page " + i);
        tabItem.setControl(label);
        tabItem.getControl().setBackground(display.getSystemColor(SWT.COLOR_CYAN));
    }
    tabFolder.pack();

    // Group
    group = new Group(containerGroup, SWT.NONE);
    group.setText("Group");

    // Sash
    sash = new Sash(containerGroup, SWT.HORIZONTAL | SWT.BORDER);
    sash.setBackground(display.getSystemColor(SWT.COLOR_DARK_CYAN));
    sash.setLayoutData(new RowData(100, 100));
    sash.setToolTipText("Sash");

    // SashForm
    sashForm = new SashForm(containerGroup, SWT.HORIZONTAL | SWT.BORDER);
    Label leftLabel = new Label(sashForm, SWT.NONE);
    leftLabel.setText("SashForm\nLeft\n...\n...\n...\n...\n...");
    Label rightLabel = new Label(sashForm, SWT.NONE);
    rightLabel.setText("SashForm\nRight\n...\n...\n...\n...\n...");

    // DateTime
    dateTime = new DateTime(defaultBackgroundGroup, SWT.NONE);
    dateTime.setBackground(display.getSystemColor(SWT.COLOR_CYAN));

    // Text
    text = new Text(nativeGroup, SWT.BORDER);
    text.setBackground(display.getSystemColor(SWT.COLOR_CYAN));
    text.setText("text");

    // ProgressBar
    progressBar = new ProgressBar(defaultBackgroundGroup, SWT.NONE);
    progressBar.setMaximum(100);
    progressBar.setSelection(80);

    // Combo
    combo = new Combo(defaultBackgroundGroup, SWT.BORDER);
    combo.setBackground(display.getSystemColor(SWT.COLOR_CYAN));
    combo.add("combo");
    combo.setText("combo");

    // Slider
    slider = new Slider(nativeGroup, SWT.HORIZONTAL | SWT.BORDER);
    slider.setSelection(20);
    slider.setBackground(display.getSystemColor(SWT.COLOR_CYAN));

    // CCombo
    ccombo = new CCombo(defaultBackgroundGroup, SWT.BORDER);
    ccombo.setBackground(display.getSystemColor(SWT.COLOR_CYAN));
    ccombo.add("ccombo");
    ccombo.setText("ccombo");

    // CLable
    cLabel = new CLabel(customGroup, SWT.NONE);
    cLabel.setText("CLabel");

    // Text
    styledText = new StyledText(customGroup, SWT.BORDER);
    styledText.setFont(new Font(display, "Tahoma", 18, SWT.BOLD | SWT.ITALIC));
    styledText.setForeground(display.getSystemColor(SWT.COLOR_DARK_BLUE));
    styledText.setText("Styled Text");
    styledText.append("\n");
    styledText.append("Example_string");
    styledText.append("\n");
    styledText.append("One_Two");
    styledText.append("\n");
    styledText.append("Two_Three");

    // CTabFolder
    cTab = new CTabFolder(containerGroup, SWT.BORDER);
    for (int i = 0; i < 2; i++) {
        CTabItem cTabItem = new CTabItem(cTab, SWT.CLOSE, i);
        cTabItem.setText("CTabItem " + (i + 1));
    }
    cTab.setSelection(0);

    // Gradient CTabFolder
    gradientCTab = new CTabFolder(customGroup, SWT.BORDER);
    gradientCTab.setBackground(
            new Color[] { display.getSystemColor(SWT.COLOR_WHITE), display.getSystemColor(SWT.COLOR_RED) },
            new int[] { 90 }, true);
    for (int i = 0; i < 2; i++) {
        CTabItem cTabItem = new CTabItem(gradientCTab, SWT.CLOSE, i);
        cTabItem.setText("CTabItem " + (i + 1));
    }
    gradientCTab.setSelection(0);

    // Table
    table = new Table(itemGroup, SWT.V_SCROLL);
    table.setBackground(display.getSystemColor(SWT.COLOR_CYAN));
    table.setLinesVisible(true);
    table.setHeaderVisible(true);
    TableItem tableItem = new TableItem(table, SWT.NONE);
    tableItem.setText("TableItem - One");
    tableItem = new TableItem(table, SWT.NONE);
    tableItem.setText("TableItem - Two");

    // Tree
    tree = new Tree(itemGroup, SWT.NONE);
    TreeItem treeItem = new TreeItem(tree, SWT.NONE);
    treeItem.setText("Parent");
    TreeItem childItem = new TreeItem(treeItem, SWT.NONE);
    childItem.setText("Child1");
    childItem = new TreeItem(treeItem, SWT.NONE);
    childItem.setText("Child2");
    treeItem.setExpanded(true);
    tree.setBackground(display.getSystemColor(SWT.COLOR_CYAN));

    // ExpandBar
    expandBar = new ExpandBar(itemGroup, SWT.V_SCROLL);
    expandBar.setBackground(display.getSystemColor(SWT.COLOR_CYAN));
    for (int i = 1; i <= 2; i++) {
        ExpandItem item1 = new ExpandItem(expandBar, SWT.NONE, 0);
        item1.setText("Expand_Bar_Entry " + i);
        item1.setExpanded(true);
        item1.setHeight(20);
    }

    shell.open();
    shell.pack();
    while (!shell.isDisposed()) {
        if (!display.readAndDispatch())
            display.sleep();
    }
    display.dispose();
}

From source file:edu.harvard.i2b2.analysis.ui.AnalysisComposite.java

/**
 * Create the composite//  w  ww .  j  a  va 2  s.co  m
 * 
 * @param parent
 * @param style
 */
public AnalysisComposite(Composite parent, int style) {
    super(parent, style);
    setLayout(new GridLayout());
    this.setSize(557, 224);

    // Create the types
    Transfer[] types = new Transfer[] { TextTransfer.getInstance() };

    final Composite composite_2 = new Composite(this, SWT.NONE);
    composite_2.setLayout(new FillLayout());
    final GridData gd_composite_2 = new GridData(SWT.FILL, SWT.FILL, true, true);
    gd_composite_2.heightHint = 263;
    gd_composite_2.widthHint = 540;
    composite_2.setLayoutData(gd_composite_2);

    final SashForm sashForm = new SashForm(composite_2, SWT.HORIZONTAL);
    sashForm.setOrientation(SWT.HORIZONTAL);
    {
        composite2 = new FramedComposite(sashForm, SWT.SHADOW_NONE);
        GridLayout composite2Layout = new GridLayout();
        composite2Layout.horizontalSpacing = 1;
        composite2.setLayout(composite2Layout);
        {
            composite3 = new FramedComposite(composite2, SWT.SHADOW_NONE);
            GridLayout composite3Layout = new GridLayout();
            composite3Layout.numColumns = 2;
            composite3Layout.marginHeight = 3;
            GridData composite3LData = new GridData();
            composite3LData.grabExcessHorizontalSpace = true;
            composite3LData.horizontalAlignment = GridData.FILL;
            composite3LData.heightHint = 25;
            composite3.setLayoutData(composite3LData);
            composite3.setLayout(composite3Layout);
            {
                label2 = new Label(composite3, SWT.NONE);
                label2.setText("Graphic Analyses");
                GridData label2LData = new GridData();
                label2LData.horizontalAlignment = GridData.FILL;
                label2LData.heightHint = 14;
                label2LData.grabExcessHorizontalSpace = true;
                label2.setLayoutData(label2LData);
                label2.setAlignment(SWT.CENTER);
            }
            {
                clearButton = new Button(composite3, SWT.PUSH | SWT.CENTER);
                GridData button1LData = new GridData();
                button1LData.horizontalAlignment = GridData.CENTER;
                button1LData.widthHint = 19;
                button1LData.verticalAlignment = GridData.BEGINNING;
                button1LData.heightHint = 18;
                clearButton.setLayoutData(button1LData);
                clearButton.setText("x");
                clearButton.setToolTipText("Remove all nodes in analysis tree panel below");
                clearButton.setFont(SWTResourceManager.getFont("Tahoma", 10, 1, false, false));
                clearButton.addSelectionListener(new SelectionAdapter() {
                    public void widgetSelected(SelectionEvent evt) {
                        clearButtonWidgetSelected(evt);
                    }
                });
            }
        }
        {
            tree1 = new Tree(composite2, SWT.BORDER);
            tree1.addSelectionListener(new SelectionAdapter() {
                public void widgetSelected(final SelectionEvent e) {
                    final TreeItem item = tree1.getSelection()[0];
                    if (item.getText().equalsIgnoreCase("No results to display")) {
                        return;
                    }
                    getDisplay().syncExec(new Runnable() {
                        public void run() {
                            queryName = item.getParentItem().getText();
                            label1.setText(item.getParentItem().getText());
                        }
                    });
                    setSelection((QueryResultData) item.getData());
                }
            });
            GridData tree1LData = new GridData();
            tree1LData.verticalAlignment = GridData.FILL;
            tree1LData.horizontalAlignment = GridData.FILL;
            tree1LData.grabExcessHorizontalSpace = true;
            tree1LData.grabExcessVerticalSpace = true;
            tree1.setLayoutData(tree1LData);
            {
                /*
                 * analyses = new TreeItem(tree1, SWT.NONE);
                 * analyses.setText("Analyses"); analyses
                 * .setImage(SWTResourceManager
                 * .getImage("edu/harvard/i2b2/analysis/ui/openFolder.jpg"
                 * )); analyses.setExpanded(true);
                 */
            }
        }
    }
    {
        final FramedComposite right_composite = new FramedComposite(sashForm, SWT.SHADOW_NONE);
        GridLayout right_compositeLayout = new GridLayout();
        right_composite.setLayout(right_compositeLayout);
        {
            final FramedComposite top_composite = new FramedComposite(right_composite, SWT.SHADOW_NONE);
            GridLayout top_compositeLayout = new GridLayout();
            top_compositeLayout.makeColumnsEqualWidth = true;
            top_composite.setLayout(top_compositeLayout);
            GridData top_compositeLData = new GridData();
            top_compositeLData.horizontalAlignment = GridData.FILL;
            top_compositeLData.grabExcessHorizontalSpace = true;
            top_composite.setLayoutData(top_compositeLData);
            {
                label1 = new Label(top_composite, SWT.NO_TRIM);
                GridData gd_top_composite = new GridData();
                gd_top_composite.grabExcessHorizontalSpace = true;
                gd_top_composite.horizontalAlignment = GridData.FILL;
                label1.setLayoutData(gd_top_composite);
                queryName = "Query Name: ";
                label1.setText("Query Name: ");
                label1.addListener(SWT.Resize, new Listener() {
                    public void handleEvent(Event event) {
                        int width = label1.getBounds().width;
                        GC gc = new GC(Display.getCurrent().getActiveShell());

                        if (gc != null) {

                            gc.setFont(label1.getFont());
                            Point pt = gc.stringExtent(queryName);

                            if (pt.x <= width) {
                                label1.setText(queryName);
                                gc.dispose();
                                return;
                            }

                            int charWidth = pt.x / queryName.length();
                            int charNum = width / charWidth;
                            label1.setText(queryName.substring(0, charNum - 6) + "...");
                            // System.out.println("size: "+label1.getSize()
                            // + "; width"+width+
                            // " font width: "+pt.x+"char width: "+pt.x/
                            // queryName.length());

                            gc.dispose();
                        }
                    }
                });
                label1.addMouseTrackListener(new MouseTrackListener() {

                    public void mouseEnter(MouseEvent arg0) {
                        top_composite.setForeground(getDisplay().getSystemColor(SWT.COLOR_YELLOW));
                    }

                    public void mouseExit(MouseEvent arg0) {
                        top_composite.setForeground(getDisplay().getSystemColor(SWT.COLOR_BLACK));
                    }

                    public void mouseHover(MouseEvent arg0) {
                        top_composite.setForeground(getDisplay().getSystemColor(SWT.COLOR_YELLOW));
                    }

                });
            }
            {
                DropTarget target1 = new DropTarget(top_composite, DND.DROP_COPY);
                // RowData target1LData = new RowData();
                // target1.setLayoutData(target1LData);
                target1.setTransfer(types);
                target1.addDropListener(new DropTargetAdapter() {
                    @SuppressWarnings("unchecked")
                    public void drop(DropTargetEvent event) {
                        if (event.data == null) {
                            event.detail = DND.DROP_NONE;
                            return;
                        }

                        try {
                            SAXBuilder parser = new SAXBuilder();
                            String xmlContent = (String) event.data;
                            java.io.StringReader xmlStringReader = new java.io.StringReader(xmlContent);
                            org.jdom.Document tableDoc = parser.build(xmlStringReader);
                            org.jdom.Element tableXml = tableDoc.getRootElement().getChild("query_master",
                                    Namespace.getNamespace("http://www.i2b2.org/xsd/cell/crc/psm/1.1/"));

                            if (tableXml == null) {
                                tableXml = tableDoc.getRootElement().getChild("query_instance",
                                        Namespace.getNamespace("http://www.i2b2.org/xsd/cell/crc/psm/1.1/"));
                                if (tableXml == null) {

                                    MessageBox mBox = new MessageBox(top_composite.getShell(),
                                            SWT.ICON_INFORMATION | SWT.OK);
                                    mBox.setText("Please Note ...");
                                    mBox.setMessage("You can not drop this item here.");
                                    mBox.open();
                                    event.detail = DND.DROP_NONE;
                                    return;
                                } else {
                                    try {
                                        QueryInstanceData ndata = new QueryInstanceData();
                                        // ndata.name(tableXml.getChildText(
                                        // "name"));
                                        // label1.setText("Query Name: " +
                                        // ndata.name());
                                        ndata.xmlContent(null);
                                        ndata.id(tableXml.getChildTextTrim("query_instance_id"));
                                        ndata.userId(tableXml.getChildTextTrim("user_id"));
                                        ndata.name(tableXml.getChildTextTrim("name"));

                                        insertNodes(ndata);
                                        setSelection(tree1.getItemCount() - 1);

                                    } catch (Exception e) {
                                        e.printStackTrace();
                                        return;
                                    }

                                    event.detail = DND.DROP_NONE;
                                    return;
                                }
                            }
                            try {
                                JAXBUtil jaxbUtil = AnalysisJAXBUtil.getJAXBUtil();
                                QueryMasterData ndata = new QueryMasterData();
                                ndata.name(tableXml.getChildText("name"));
                                // label1.setText("Query Name: " +
                                // ndata.name());
                                ndata.xmlContent(null);
                                ndata.id(tableXml.getChildTextTrim("query_master_id"));
                                ndata.userId(tableXml.getChildTextTrim("user_id"));

                                // get query instance
                                String xmlRequest = ndata.writeContentQueryXML();
                                // lastRequestMessage(xmlRequest);
                                String xmlResponse = QueryClient.sendQueryRequestREST(xmlRequest);
                                // lastResponseMessage(xmlResponse);

                                JAXBElement jaxbElement = jaxbUtil.unMashallFromString(xmlResponse);
                                ResponseMessageType messageType = (ResponseMessageType) jaxbElement.getValue();
                                BodyType bt = messageType.getMessageBody();
                                InstanceResponseType instanceResponseType = (InstanceResponseType) new JAXBUnWrapHelper()
                                        .getObjectByClass(bt.getAny(), InstanceResponseType.class);

                                QueryInstanceData instanceData = null;
                                XMLGregorianCalendar startDate = null;
                                for (QueryInstanceType queryInstanceType : instanceResponseType
                                        .getQueryInstance()) {
                                    QueryInstanceData runData = new QueryInstanceData();

                                    runData.visualAttribute("FA");
                                    runData.tooltip("The results of the query run");
                                    runData.id(new Integer(queryInstanceType.getQueryInstanceId()).toString());
                                    XMLGregorianCalendar cldr = queryInstanceType.getStartDate();
                                    runData.name(ndata.name());

                                    if (instanceData == null) {
                                        startDate = cldr;
                                        instanceData = runData;
                                    } else {
                                        if (cldr.toGregorianCalendar()
                                                .compareTo(startDate.toGregorianCalendar()) > 0) {
                                            startDate = cldr;
                                            instanceData = runData;
                                        }
                                    }
                                }

                                insertNodes(instanceData);
                                if (treeItem.getItemCount() == 0) {
                                    getDisplay().syncExec(new Runnable() {
                                        public void run() {
                                            TreeItem treeItem1 = new TreeItem(treeItem, SWT.NONE);
                                            treeItem1.setText("No results to display");
                                            treeItem1.setForeground(getDisplay().getSystemColor(SWT.COLOR_RED));
                                            treeItem1.setExpanded(true);
                                            treeItem1.setImage(SWTResourceManager
                                                    .getImage("edu/harvard/i2b2/analysis/ui/leaf.jpg"));

                                            JFreeChart chart = createNoDataChart(createEmptyDataset());
                                            composite1.getChildren()[0].dispose();
                                            ChartComposite frame = new ChartComposite(composite1, SWT.NONE,
                                                    chart, true, true, false, true, true);
                                            frame.pack();
                                            composite1.layout();

                                            tree1.select(treeItem1);
                                            return;
                                        }
                                    });

                                } else {
                                    setSelection(tree1.getItemCount() - 1);
                                }

                            } catch (Exception e) {
                                e.printStackTrace();
                                return;
                            }

                            event.detail = DND.DROP_NONE;
                        } catch (Exception e) {
                            e.printStackTrace();
                            event.detail = DND.DROP_NONE;
                            return;
                        }
                    }

                    @Override
                    public void dragLeave(DropTargetEvent event) {
                        super.dragLeave(event);
                        top_composite.setForeground(getDisplay().getSystemColor(SWT.COLOR_BLACK));
                    }

                    public void dragEnter(DropTargetEvent event) {
                        event.detail = DND.DROP_COPY;
                        top_composite.setForeground(getDisplay().getSystemColor(SWT.COLOR_YELLOW));
                    }
                });
            }
            top_composite.addMouseTrackListener(new MouseTrackListener() {

                public void mouseEnter(MouseEvent arg0) {
                    top_composite.setForeground(getDisplay().getSystemColor(SWT.COLOR_YELLOW));
                }

                public void mouseExit(MouseEvent arg0) {
                    top_composite.setForeground(getDisplay().getSystemColor(SWT.COLOR_BLACK));
                }

                public void mouseHover(MouseEvent arg0) {
                    top_composite.setForeground(getDisplay().getSystemColor(SWT.COLOR_YELLOW));
                }

            });
        }
        {
            composite1 = new Composite(right_composite, SWT.BORDER);
            FillLayout composite1Layout = new FillLayout(org.eclipse.swt.SWT.HORIZONTAL);
            GridData composite1LData = new GridData();
            composite1LData.grabExcessHorizontalSpace = true;
            composite1LData.grabExcessVerticalSpace = true;
            composite1LData.horizontalAlignment = GridData.FILL;
            composite1LData.verticalAlignment = GridData.FILL;
            composite1.setLayoutData(composite1LData);
            composite1.setLayout(composite1Layout);
            // composite1.setBackground(SWTResourceManager.getColor(255,
            // 255,
            // 0));

            getDisplay().syncExec(new Runnable() {
                public void run() {
                    JFreeChart chart = createEmptyChart(createEmptyDataset());
                    /* final ChartComposite frame = */new ChartComposite(composite1, SWT.NONE, chart, true,
                            true, false, true, true);
                }
            });
        }

    }

    {
        // label2 = new Label(top_composite, SWT.NONE);
        // label2.setText("2512+3 patients");
        // label2.setBounds(254, 7, 108, 19);
    }
    {
        DropTarget target2 = new DropTarget(tree1, DND.DROP_COPY);
        target2.setTransfer(types);
        target2.addDropListener(new DropTargetAdapter() {
            public void dragEnter(DropTargetEvent event) {
                event.detail = DND.DROP_COPY;
            }

            @SuppressWarnings("unchecked")
            public void drop(DropTargetEvent event) {
                if (event.data == null) {
                    event.detail = DND.DROP_NONE;
                    return;
                }

                try {
                    SAXBuilder parser = new SAXBuilder();
                    String xmlContent = (String) event.data;
                    java.io.StringReader xmlStringReader = new java.io.StringReader(xmlContent);
                    org.jdom.Document tableDoc = parser.build(xmlStringReader);
                    org.jdom.Element tableXml = tableDoc.getRootElement().getChild("query_master",
                            Namespace.getNamespace("http://www.i2b2.org/xsd/cell/crc/psm/1.1/"));

                    if (tableXml == null) {
                        tableXml = tableDoc.getRootElement().getChild("query_instance",
                                Namespace.getNamespace("http://www.i2b2.org/xsd/cell/crc/psm/1.1/"));
                        if (tableXml == null) {

                            MessageBox mBox = new MessageBox(tree1.getShell(), SWT.ICON_INFORMATION | SWT.OK);
                            mBox.setText("Please Note ...");
                            mBox.setMessage("You can not drop this item here.");
                            mBox.open();
                            event.detail = DND.DROP_NONE;
                            return;
                        } else {
                            try {
                                // JAXBUtil jaxbUtil =
                                // AnalysisJAXBUtil.getJAXBUtil();
                                QueryInstanceData ndata = new QueryInstanceData();
                                // ndata.name(tableXml.getChildText("name"));
                                // label1.setText("Query Name: " +
                                // ndata.name());
                                ndata.xmlContent(null);
                                ndata.id(tableXml.getChildTextTrim("query_instance_id"));
                                ndata.userId(tableXml.getChildTextTrim("user_id"));
                                ndata.name(tableXml.getChildTextTrim("name"));

                                // clearTree();
                                insertNodes(ndata);
                                setSelection(tree1.getItemCount() - 1);

                            } catch (Exception e) {
                                e.printStackTrace();
                                return;
                            }

                            event.detail = DND.DROP_NONE;
                            return;
                        }
                    }
                    try {
                        JAXBUtil jaxbUtil = AnalysisJAXBUtil.getJAXBUtil();
                        QueryMasterData ndata = new QueryMasterData();
                        ndata.name(tableXml.getChildText("name"));
                        // label1.setText("Query Name: " + ndata.name());
                        ndata.xmlContent(null);
                        ndata.id(tableXml.getChildTextTrim("query_master_id"));
                        ndata.userId(tableXml.getChildTextTrim("user_id"));

                        // get query instance
                        String xmlRequest = ndata.writeContentQueryXML();
                        // lastRequestMessage(xmlRequest);
                        String xmlResponse = QueryClient.sendQueryRequestREST(xmlRequest);
                        // lastResponseMessage(xmlResponse);

                        JAXBElement jaxbElement = jaxbUtil.unMashallFromString(xmlResponse);
                        ResponseMessageType messageType = (ResponseMessageType) jaxbElement.getValue();
                        BodyType bt = messageType.getMessageBody();
                        InstanceResponseType instanceResponseType = (InstanceResponseType) new JAXBUnWrapHelper()
                                .getObjectByClass(bt.getAny(), InstanceResponseType.class);

                        QueryInstanceData instanceData = null;
                        XMLGregorianCalendar startDate = null;
                        for (QueryInstanceType queryInstanceType : instanceResponseType.getQueryInstance()) {
                            QueryInstanceData runData = new QueryInstanceData();

                            runData.visualAttribute("FA");
                            runData.tooltip("The results of the query run");
                            runData.id(new Integer(queryInstanceType.getQueryInstanceId()).toString());
                            XMLGregorianCalendar cldr = queryInstanceType.getStartDate();
                            runData.name(ndata.name());

                            if (instanceData == null) {
                                startDate = cldr;
                                instanceData = runData;
                            } else {
                                if (cldr.toGregorianCalendar().compareTo(startDate.toGregorianCalendar()) > 0) {
                                    startDate = cldr;
                                    instanceData = runData;
                                }
                            }
                        }
                        // clearTree();
                        insertNodes(instanceData);
                        setSelection(tree1.getItemCount() - 1);

                    } catch (Exception e) {
                        e.printStackTrace();
                        return;
                    }

                    event.detail = DND.DROP_NONE;
                } catch (Exception e) {
                    e.printStackTrace();
                    event.detail = DND.DROP_NONE;
                    return;
                }
            }
        });
    }

    sashForm.setWeights(new int[] { 30, 70 });
    sashForm.setSashWidth(1);
}

From source file:WidgetTest2.java

/** * Trees ** */

public static Tree createTree(Composite composite) {
    final Tree tree = new Tree(composite, SWT.SINGLE);
    //       Oberste Knotenebene erzeugen
    final TreeItem node1 = new TreeItem(tree, SWT.NULL);
    node1.setText("Knoten 1");
    final TreeItem node2 = new TreeItem(tree, SWT.NULL);
    node2.setText("Knoten 2");
    final TreeItem node3 = new TreeItem(tree, SWT.NULL);
    node3.setText("Knoten 3");
    //       Zweite Knotenebene erzeugen
    final TreeItem node11 = new TreeItem(node1, SWT.NULL);
    node11.setText("Knoten 1.1");
    final TreeItem node12 = new TreeItem(node1, SWT.NULL);
    node12.setText("Knoten 1.2");
    //       SelectionListener hinzufugen
    tree.addSelectionListener(new SelectionAdapter() {
        public void widgetDefaultSelected(SelectionEvent e) {
            System.out.println("Enter gedruckt: " + tree.getSelection()[0].getText());
        }/*from ww  w .  j  a  v  a2  s. c  o  m*/

        public void widgetSelected(SelectionEvent e) {
            System.out.println("Baumknoteneintrag ausgewahlt: " + tree.getSelection()[0].getText());
        }
    });
    //       TreeListener hinzufugen
    tree.addTreeListener(new TreeAdapter() {
        public void treeCollapsed(TreeEvent e) {
            System.out.println("Knoten kollabiert: " + ((TreeItem) e.item).getText());
        }

        public void treeExpanded(TreeEvent e) {
            System.out.println("Knoten expandiert: " + ((TreeItem) e.item).getText());
        }
    });
    return tree;
}

From source file:GraphicsExample.java

void createTabList(Composite parent) {
    tabList = new Tree(parent, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
    HashSet set = new HashSet();
    for (int i = 0; i < tabs.length; i++) {
        GraphicsTab tab = tabs[i];/* w ww. j av a  2  s  .  co  m*/
        set.add(tab.getCategory());
    }
    for (Iterator iter = set.iterator(); iter.hasNext();) {
        String text = (String) iter.next();
        TreeItem item = new TreeItem(tabList, SWT.NONE);
        item.setText(text);
    }
    TreeItem[] items = tabList.getItems();
    for (int i = 0; i < items.length; i++) {
        TreeItem item = items[i];
        for (int j = 0; j < tabs.length; j++) {
            GraphicsTab tab = tabs[j];
            if (item.getText().equals(tab.getCategory())) {
                TreeItem item1 = new TreeItem(item, SWT.NONE);
                item1.setText(tab.getText());
                item1.setData(tab);
            }
        }
    }
    tabList.addListener(SWT.Selection, new Listener() {
        public void handleEvent(Event event) {
            TreeItem item = (TreeItem) event.item;
            if (item != null) {
                setTab((GraphicsTab) item.getData());
            }
        }
    });
}

From source file:org.eclipse.swt.examples.graphics.GraphicsExample.java

void createTabList(Composite parent) {
    tabList = new Tree(parent, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
    Arrays.sort(tabs, (tab0, tab1) -> tab0.getText().compareTo(tab1.getText()));
    HashSet<String> set = new HashSet<>();
    for (GraphicsTab tab : tabs) {
        set.add(tab.getCategory());/*from www .  jav a 2  s  .  c  om*/
    }
    String[] categories = new String[set.size()];
    set.toArray(categories);
    Arrays.sort(categories);
    for (String text : categories) {
        TreeItem item = new TreeItem(tabList, SWT.NONE);
        item.setText(text);
    }
    tabs_in_order = new ArrayList<>();
    TreeItem[] items = tabList.getItems();
    for (TreeItem item : items) {
        for (GraphicsTab tab : tabs) {
            if (item.getText().equals(tab.getCategory())) {
                TreeItem item1 = new TreeItem(item, SWT.NONE);
                item1.setText(tab.getText());
                item1.setData(tab);
                tabs_in_order.add(tab);
            }
        }
    }
    tabList.addListener(SWT.Selection, event -> {
        TreeItem item = (TreeItem) event.item;
        if (item != null) {
            GraphicsTab gt = (GraphicsTab) item.getData();
            if (gt == tab)
                return;
            setTab((GraphicsTab) item.getData());
        }
    });
}

From source file:org.eclipse.swt.examples.controlexample.TreeTab.java

/**
 * Creates the "Example" widgets.//from   ww  w.  j av  a 2 s.co m
 */
@Override
void createExampleWidgets() {
    /* Compute the widget style */
    int style = getDefaultStyle();
    if (singleButton.getSelection())
        style |= SWT.SINGLE;
    if (multiButton.getSelection())
        style |= SWT.MULTI;
    if (horizontalButton.getSelection())
        style |= SWT.H_SCROLL;
    if (verticalButton.getSelection())
        style |= SWT.V_SCROLL;
    if (noScrollButton.getSelection())
        style |= SWT.NO_SCROLL;
    if (checkButton.getSelection())
        style |= SWT.CHECK;
    if (fullSelectionButton.getSelection())
        style |= SWT.FULL_SELECTION;
    if (borderButton.getSelection())
        style |= SWT.BORDER;

    /* Create the text tree */
    tree1 = new Tree(treeGroup, style);
    boolean multiColumn = multipleColumns.getSelection();
    if (multiColumn) {
        for (String columnTitle : columnTitles) {
            TreeColumn treeColumn = new TreeColumn(tree1, SWT.NONE);
            treeColumn.setText(columnTitle);
            treeColumn.setToolTipText(ControlExample.getResourceString("Tooltip", columnTitle));
        }
        tree1.setSortColumn(tree1.getColumn(0));
    }
    for (int i = 0; i < 4; i++) {
        TreeItem item = new TreeItem(tree1, SWT.NONE);
        setItemText(item, i, ControlExample.getResourceString("Node_" + (i + 1)));
        if (i < 3) {
            TreeItem subitem = new TreeItem(item, SWT.NONE);
            setItemText(subitem, i, ControlExample.getResourceString("Node_" + (i + 1) + "_1"));
        }
    }
    TreeItem treeRoots[] = tree1.getItems();
    TreeItem item = new TreeItem(treeRoots[1], SWT.NONE);
    setItemText(item, 1, ControlExample.getResourceString("Node_2_2"));
    item = new TreeItem(item, SWT.NONE);
    setItemText(item, 1, ControlExample.getResourceString("Node_2_2_1"));
    textNode1 = treeRoots[0];
    packColumns(tree1);
    try {
        TreeColumn column = tree1.getColumn(0);
        resizableColumns.setSelection(column.getResizable());
    } catch (IllegalArgumentException ex) {
    }

    /* Create the image tree */
    tree2 = new Tree(imageTreeGroup, style);
    Image image = instance.images[ControlExample.ciClosedFolder];
    if (multiColumn) {
        for (int i = 0; i < columnTitles.length; i++) {
            TreeColumn treeColumn = new TreeColumn(tree2, SWT.NONE);
            treeColumn.setText(columnTitles[i]);
            treeColumn.setToolTipText(ControlExample.getResourceString("Tooltip", columnTitles[i]));
            if (headerImagesButton.getSelection())
                treeColumn.setImage(instance.images[i % 3]);
        }
    }
    for (int i = 0; i < 4; i++) {
        item = new TreeItem(tree2, SWT.NONE);
        setItemText(item, i, ControlExample.getResourceString("Node_" + (i + 1)));
        if (multiColumn && subImagesButton.getSelection()) {
            for (int j = 0; j < columnTitles.length; j++) {
                item.setImage(j, image);
            }
        } else {
            item.setImage(image);
        }
        if (i < 3) {
            TreeItem subitem = new TreeItem(item, SWT.NONE);
            setItemText(subitem, i, ControlExample.getResourceString("Node_" + (i + 1) + "_1"));
            if (multiColumn && subImagesButton.getSelection()) {
                for (int j = 0; j < columnTitles.length; j++) {
                    subitem.setImage(j, image);
                }
            } else {
                subitem.setImage(image);
            }
        }
    }
    treeRoots = tree2.getItems();
    item = new TreeItem(treeRoots[1], SWT.NONE);
    setItemText(item, 1, ControlExample.getResourceString("Node_2_2"));
    if (multiColumn && subImagesButton.getSelection()) {
        for (int j = 0; j < columnTitles.length; j++) {
            item.setImage(j, image);
        }
    } else {
        item.setImage(image);
    }
    item = new TreeItem(item, SWT.NONE);
    setItemText(item, 1, ControlExample.getResourceString("Node_2_2_1"));
    if (multiColumn && subImagesButton.getSelection()) {
        for (int j = 0; j < columnTitles.length; j++) {
            item.setImage(j, image);
        }
    } else {
        item.setImage(image);
    }
    imageNode1 = treeRoots[0];
    packColumns(tree2);
}

From source file:org.eclipse.swt.examples.fileviewer.FileViewer.java

/**
 * Creates the file tree view.//  ww w.  j a  v a2 s  . c  o  m
 *
 * @param parent the parent control
 */
private void createTreeView(Composite parent) {
    Composite composite = new Composite(parent, SWT.NONE);
    GridLayout gridLayout = new GridLayout();
    gridLayout.numColumns = 1;
    gridLayout.marginHeight = gridLayout.marginWidth = 2;
    gridLayout.horizontalSpacing = gridLayout.verticalSpacing = 0;
    composite.setLayout(gridLayout);

    treeScopeLabel = new Label(composite, SWT.BORDER);
    treeScopeLabel.setText(FileViewer.getResourceString("details.AllFolders.text"));
    treeScopeLabel.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL));

    tree = new Tree(composite, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL | SWT.SINGLE);
    tree.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.FILL_VERTICAL));

    tree.addSelectionListener(new SelectionListener() {
        @Override
        public void widgetSelected(SelectionEvent event) {
            final TreeItem[] selection = tree.getSelection();
            if (selection != null && selection.length != 0) {
                TreeItem item = selection[0];
                File file = (File) item.getData(TREEITEMDATA_FILE);

                notifySelectedDirectory(file);
            }
        }

        @Override
        public void widgetDefaultSelected(SelectionEvent event) {
            final TreeItem[] selection = tree.getSelection();
            if (selection != null && selection.length != 0) {
                TreeItem item = selection[0];
                item.setExpanded(true);
                treeExpandItem(item);
            }
        }
    });
    tree.addTreeListener(new TreeAdapter() {
        @Override
        public void treeExpanded(TreeEvent event) {
            final TreeItem item = (TreeItem) event.item;
            final Image image = (Image) item.getData(TREEITEMDATA_IMAGEEXPANDED);
            if (image != null)
                item.setImage(image);
            treeExpandItem(item);
        }

        @Override
        public void treeCollapsed(TreeEvent event) {
            final TreeItem item = (TreeItem) event.item;
            final Image image = (Image) item.getData(TREEITEMDATA_IMAGECOLLAPSED);
            if (image != null)
                item.setImage(image);
        }
    });
    createTreeDragSource(tree);
    createTreeDropTarget(tree);
}