Example usage for org.eclipse.swt.widgets Button setText

List of usage examples for org.eclipse.swt.widgets Button setText

Introduction

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

Prototype

public void setText(String text) 

Source Link

Document

Sets the receiver's text.

Usage

From source file:org.eclipse.swt.examples.dnd.DNDExample.java

private void createDragTypes(Composite parent) {
    parent.setLayout(new GridLayout());
    Button textButton = new Button(parent, SWT.CHECK);
    textButton.setText("Text Transfer");
    textButton.addSelectionListener(widgetSelectedAdapter(e -> {
        Button b = (Button) e.widget;
        if (b.getSelection()) {
            addDragTransfer(TextTransfer.getInstance());
        } else {//from w w w  .j a  va 2  s . co m
            removeDragTransfer(TextTransfer.getInstance());
        }
    }));

    Button b = new Button(parent, SWT.CHECK);
    b.setText("RTF Transfer");
    b.addSelectionListener(widgetSelectedAdapter(e -> {
        Button b1 = (Button) e.widget;
        if (b1.getSelection()) {
            addDragTransfer(RTFTransfer.getInstance());
        } else {
            removeDragTransfer(RTFTransfer.getInstance());
        }
    }));

    b = new Button(parent, SWT.CHECK);
    b.setText("HTML Transfer");
    b.addSelectionListener(widgetSelectedAdapter(e -> {
        Button b2 = (Button) e.widget;
        if (b2.getSelection()) {
            addDragTransfer(HTMLTransfer.getInstance());
        } else {
            removeDragTransfer(HTMLTransfer.getInstance());
        }
    }));

    b = new Button(parent, SWT.CHECK);
    b.setText("URL Transfer");
    b.addSelectionListener(widgetSelectedAdapter(e -> {
        Button b3 = (Button) e.widget;
        if (b3.getSelection()) {
            addDragTransfer(URLTransfer.getInstance());
        } else {
            removeDragTransfer(URLTransfer.getInstance());
        }
    }));

    b = new Button(parent, SWT.CHECK);
    b.setText("File Transfer");
    b.setLayoutData(new GridData(GridData.VERTICAL_ALIGN_BEGINNING));
    b.addSelectionListener(widgetSelectedAdapter(e -> {
        Button b4 = (Button) e.widget;
        if (b4.getSelection()) {
            addDragTransfer(FileTransfer.getInstance());
        } else {
            removeDragTransfer(FileTransfer.getInstance());
        }
    }));
    b = new Button(parent, SWT.PUSH);
    b.setText("Select File(s)");
    b.setLayoutData(new GridData(GridData.VERTICAL_ALIGN_BEGINNING));
    b.addSelectionListener(widgetSelectedAdapter(e -> {
        FileDialog dialog = new FileDialog(fileList.getShell(), SWT.OPEN | SWT.MULTI);
        String result = dialog.open();
        if (result != null && result.length() > 0) {
            fileList.removeAll();
            String path = dialog.getFilterPath();
            String[] names = dialog.getFileNames();
            for (String name : names) {
                fileList.add(path + File.separatorChar + name);
            }
        }
    }));
    fileList = new List(parent, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
    GridData data = new GridData();
    data.grabExcessHorizontalSpace = true;
    data.horizontalAlignment = GridData.FILL;
    data.verticalAlignment = GridData.BEGINNING;
    fileList.setLayoutData(data);

    // initialize state
    textButton.setSelection(true);
    addDragTransfer(TextTransfer.getInstance());
}

From source file:ummisco.gama.ui.views.displays.SWTChartEditor.java

/**
 * Creates a new editor./* ww w . jav  a 2 s  .c o  m*/
 *
 * @param display
 *            the display.
 * @param chart2edit
 *            the chart to edit.
 */
public SWTChartEditor(final Display display, final JFreeChart chart2edit, final Point position) {
    this.shell = new Shell(display, SWT.APPLICATION_MODAL | SWT.NO_TRIM);
    this.shell.setSize(400, 500);
    this.shell.setBackground(WorkbenchHelper.getDisplay().getSystemColor(SWT.COLOR_BLACK));
    // this.shell.setAlpha(140);
    this.chart = chart2edit;
    this.shell.setText("Chart properties");
    this.shell.setLocation(position);
    final GridLayout layout = new GridLayout(2, false);
    layout.marginLeft = layout.marginTop = layout.marginRight = layout.marginBottom = 5;
    this.shell.setLayout(layout);
    final Composite main = new Composite(this.shell, SWT.NONE);
    main.setLayout(new FillLayout());
    main.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 2, 1));

    final TabFolder tab = new TabFolder(main, SWT.BORDER);
    // build first tab
    final TabItem item1 = new TabItem(tab, SWT.NONE);
    item1.setText(" " + "Title" + " ");
    this.titleEditor = new SWTTitleEditor(tab, SWT.NONE, this.chart.getTitle());
    item1.setControl(this.titleEditor);
    // build second tab
    final TabItem item2 = new TabItem(tab, SWT.NONE);
    item2.setText(" " + "Plot" + " ");
    this.plotEditor = new SWTPlotEditor(tab, SWT.NONE, this.chart.getPlot());
    item2.setControl(this.plotEditor);
    // build the third tab
    final TabItem item3 = new TabItem(tab, SWT.NONE);
    item3.setText(" " + "Other" + " ");
    this.otherEditor = new SWTOtherEditor(tab, SWT.NONE, this.chart);
    item3.setControl(this.otherEditor);

    // ok and cancel buttons
    final Button cancel = new Button(this.shell, SWT.PUSH);
    cancel.setText(" Cancel ");
    cancel.setLayoutData(new GridData(SWT.RIGHT, SWT.FILL, false, false));
    cancel.pack();
    cancel.addSelectionListener(new SelectionAdapter() {

        @Override
        public void widgetSelected(final SelectionEvent e) {
            SWTChartEditor.this.shell.dispose();
        }
    });
    final Button ok = new Button(this.shell, SWT.PUSH | SWT.OK);
    ok.setText(" Ok ");
    ok.setLayoutData(new GridData(SWT.RIGHT, SWT.FILL, false, false));
    ok.pack();
    ok.addSelectionListener(new SelectionAdapter() {

        @Override
        public void widgetSelected(final SelectionEvent e) {
            updateChart(SWTChartEditor.this.chart);
            SWTChartEditor.this.shell.dispose();
        }
    });

}

From source file:DNDExample.java

private void createDropTarget() {
    if (dropTarget != null)
        dropTarget.dispose();/*from w w  w. ja  v a2s.  c o  m*/
    dropTarget = new DropTarget(dropControl, dropOperation);
    dropTarget.setTransfer(dropTypes);
    dropTarget.addDropListener(new DropTargetListener() {
        public void dragEnter(DropTargetEvent event) {
            dropConsole.append(">>dragEnter\n");
            printEvent(event);
            if (event.detail == DND.DROP_DEFAULT) {
                event.detail = dropDefaultOperation;
            }
            event.feedback = dropFeedback;
        }

        public void dragLeave(DropTargetEvent event) {
            dropConsole.append(">>dragLeave\n");
            printEvent(event);
        }

        public void dragOperationChanged(DropTargetEvent event) {
            dropConsole.append(">>dragOperationChanged\n");
            printEvent(event);
            if (event.detail == DND.DROP_DEFAULT) {
                event.detail = dropDefaultOperation;
            }
            event.feedback = dropFeedback;
        }

        public void dragOver(DropTargetEvent event) {
            dropConsole.append(">>dragOver\n");
            printEvent(event);
            event.feedback = dropFeedback;
        }

        public void drop(DropTargetEvent event) {
            dropConsole.append(">>drop\n");
            printEvent(event);
            String[] strings = null;
            if (TextTransfer.getInstance().isSupportedType(event.currentDataType)
                    || RTFTransfer.getInstance().isSupportedType(event.currentDataType)
                    || HTMLTransfer.getInstance().isSupportedType(event.currentDataType)) {
                strings = new String[] { (String) event.data };
            }
            if (FileTransfer.getInstance().isSupportedType(event.currentDataType)) {
                strings = (String[]) event.data;
            }
            if (strings == null || strings.length == 0) {
                dropConsole.append("!!Invalid data dropped");
                return;
            }

            if (strings.length == 1
                    && (dropControlType == TABLE || dropControlType == TREE || dropControlType == LIST)) {
                // convert string separated by "\n" into an array of strings
                String string = strings[0];
                int count = 0;
                int offset = string.indexOf("\n", 0);
                while (offset > 0) {
                    count++;
                    offset = string.indexOf("\n", offset + 1);
                }
                if (count > 0) {
                    strings = new String[count + 1];
                    int start = 0;
                    int end = string.indexOf("\n");
                    int index = 0;
                    while (start < end) {
                        strings[index++] = string.substring(start, end);
                        start = end + 1;
                        end = string.indexOf("\n", start);
                        if (end == -1)
                            end = string.length();
                    }
                }
            }
            switch (dropControlType) {
            case BUTTON_CHECK:
            case BUTTON_TOGGLE:
            case BUTTON_RADIO: {
                Button b = (Button) dropControl;
                b.setText(strings[0]);
                break;
            }
            case TABLE: {
                Table table = (Table) dropControl;
                Point p = event.display.map(null, table, event.x, event.y);
                TableItem dropItem = table.getItem(p);
                int index = dropItem == null ? table.getItemCount() : table.indexOf(dropItem);
                for (int i = 0; i < strings.length; i++) {
                    TableItem item = new TableItem(table, SWT.NONE, index);
                    item.setText(0, strings[i]);
                    item.setText(1, "dropped item");
                }
                TableColumn[] columns = table.getColumns();
                for (int i = 0; i < columns.length; i++) {
                    columns[i].pack();
                }
                break;
            }
            case TEXT: {
                Text text = (Text) dropControl;
                for (int i = 0; i < strings.length; i++) {
                    text.append(strings[i] + "\n");
                }
                break;
            }
            case TREE: {
                Tree tree = (Tree) dropControl;
                Point p = event.display.map(null, tree, event.x, event.y);
                TreeItem parentItem = tree.getItem(p);
                for (int i = 0; i < strings.length; i++) {
                    TreeItem item = parentItem != null ? new TreeItem(parentItem, SWT.NONE)
                            : new TreeItem(tree, SWT.NONE);
                    item.setText(strings[i]);
                }
                break;
            }
            case CANVAS: {
                dropControl.setData("STRINGS", strings);
                dropControl.redraw();
                break;
            }
            case LABEL: {
                Label label = (Label) dropControl;
                label.setText(strings[0]);
                break;
            }
            case LIST: {
                List list = (List) dropControl;
                for (int i = 0; i < strings.length; i++) {
                    list.add(strings[i]);
                }
                break;
            }
            default:
                throw new SWTError(SWT.ERROR_NOT_IMPLEMENTED);
            }
        }

        public void dropAccept(DropTargetEvent event) {
            dropConsole.append(">>dropAccept\n");
            printEvent(event);
        }
    });
}

From source file:org.eclipse.swt.examples.dnd.DNDExample.java

private Control createWidget(int type, Composite parent, String prefix) {
    switch (type) {
    case BUTTON_CHECK: {
        Button button = new Button(parent, SWT.CHECK);
        button.setText(prefix + " Check box");
        return button;
    }/*from  w  w  w  .jav a  2  s  . c o m*/
    case BUTTON_TOGGLE: {
        Button button = new Button(parent, SWT.TOGGLE);
        button.setText(prefix + " Toggle button");
        return button;
    }
    case BUTTON_RADIO: {
        Button button = new Button(parent, SWT.RADIO);
        button.setText(prefix + " Radio button");
        return button;
    }
    case STYLED_TEXT: {
        StyledText text = new StyledText(parent, SWT.BORDER | SWT.MULTI | SWT.V_SCROLL | SWT.H_SCROLL);
        text.setText(prefix + " Styled Text");
        return text;
    }
    case TABLE: {
        Table table = new Table(parent, SWT.BORDER | SWT.MULTI);
        table.setHeaderVisible(true);
        TableColumn column0 = new TableColumn(table, SWT.LEFT);
        column0.setText("Name");
        TableColumn column1 = new TableColumn(table, SWT.RIGHT);
        column1.setText("Value");
        TableColumn column2 = new TableColumn(table, SWT.CENTER);
        column2.setText("Description");
        for (int i = 0; i < 10; i++) {
            TableItem item = new TableItem(table, SWT.NONE);
            item.setText(0, prefix + " name " + i);
            item.setText(1, prefix + " value " + i);
            item.setText(2, prefix + " description " + i);
            item.setImage(itemImage);
        }
        column0.pack();
        column1.pack();
        column2.pack();
        return table;
    }
    case TEXT: {
        Text text = new Text(parent, SWT.BORDER | SWT.MULTI | SWT.V_SCROLL | SWT.H_SCROLL);
        text.setText(prefix + " Text");
        return text;
    }
    case TREE: {
        Tree tree = new Tree(parent, SWT.BORDER | SWT.MULTI);
        tree.setHeaderVisible(true);
        TreeColumn column0 = new TreeColumn(tree, SWT.LEFT);
        column0.setText("Name");
        TreeColumn column1 = new TreeColumn(tree, SWT.RIGHT);
        column1.setText("Value");
        TreeColumn column2 = new TreeColumn(tree, SWT.CENTER);
        column2.setText("Description");
        for (int i = 0; i < 3; i++) {
            TreeItem item = new TreeItem(tree, SWT.NONE);
            item.setText(0, prefix + " name " + i);
            item.setText(1, prefix + " value " + i);
            item.setText(2, prefix + " description " + i);
            item.setImage(itemImage);
            for (int j = 0; j < 3; j++) {
                TreeItem subItem = new TreeItem(item, SWT.NONE);
                subItem.setText(0, prefix + " name " + i + " " + j);
                subItem.setText(1, prefix + " value " + i + " " + j);
                subItem.setText(2, prefix + " description " + i + " " + j);
                subItem.setImage(itemImage);
                for (int k = 0; k < 3; k++) {
                    TreeItem subsubItem = new TreeItem(subItem, SWT.NONE);
                    subsubItem.setText(0, prefix + " name " + i + " " + j + " " + k);
                    subsubItem.setText(1, prefix + " value " + i + " " + j + " " + k);
                    subsubItem.setText(2, prefix + " description " + i + " " + j + " " + k);
                    subsubItem.setImage(itemImage);
                }
            }
        }
        column0.pack();
        column1.pack();
        column2.pack();
        return tree;
    }
    case CANVAS: {
        Canvas canvas = new Canvas(parent, SWT.BORDER);
        canvas.setData("STRINGS", new String[] { prefix + " Canvas widget" });
        canvas.addPaintListener(e -> {
            Canvas c = (Canvas) e.widget;
            Image image = (Image) c.getData("IMAGE");
            if (image != null) {
                e.gc.drawImage(image, 5, 5);
            } else {
                String[] strings = (String[]) c.getData("STRINGS");
                if (strings != null) {
                    FontMetrics metrics = e.gc.getFontMetrics();
                    int height = metrics.getHeight();
                    int y = 5;
                    for (String string : strings) {
                        e.gc.drawString(string, 5, y);
                        y += height + 5;
                    }
                }
            }
        });
        return canvas;
    }
    case LABEL: {
        Label label = new Label(parent, SWT.BORDER);
        label.setText(prefix + " Label");
        return label;
    }
    case LIST: {
        List list = new List(parent, SWT.BORDER | SWT.MULTI);
        list.setItems(prefix + " Item a", prefix + " Item b", prefix + " Item c", prefix + " Item d");
        return list;
    }
    case COMBO: {
        Combo combo = new Combo(parent, SWT.BORDER);
        combo.setItems("Item a", "Item b", "Item c", "Item d");
        return combo;
    }
    default:
        throw new SWTError(SWT.ERROR_NOT_IMPLEMENTED);
    }
}

From source file:DNDExample.java

private void createDropOperations(Composite parent) {
    parent.setLayout(new RowLayout(SWT.VERTICAL));
    final Button moveButton = new Button(parent, SWT.CHECK);
    moveButton.setText("DND.DROP_MOVE");
    moveButton.setSelection(true);//from  w  ww.  j  av a  2 s  .c  o m
    dropOperation = DND.DROP_MOVE;
    moveButton.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent e) {
            Button b = (Button) e.widget;
            if (b.getSelection()) {
                dropOperation |= DND.DROP_MOVE;
            } else {
                dropOperation = dropOperation & ~DND.DROP_MOVE;
                if (dropOperation == 0 || (dropDefaultOperation & DND.DROP_MOVE) != 0) {
                    dropOperation |= DND.DROP_MOVE;
                    moveButton.setSelection(true);
                }
            }
            if (dropEnabled) {
                createDropTarget();
            }
        }
    });

    final Button copyButton = new Button(parent, SWT.CHECK);
    copyButton.setText("DND.DROP_COPY");
    copyButton.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent e) {
            Button b = (Button) e.widget;
            if (b.getSelection()) {
                dropOperation |= DND.DROP_COPY;
            } else {
                dropOperation = dropOperation & ~DND.DROP_COPY;
                if (dropOperation == 0 || (dropDefaultOperation & DND.DROP_COPY) != 0) {
                    dropOperation = DND.DROP_COPY;
                    copyButton.setSelection(true);
                }
            }
            if (dropEnabled) {
                createDropTarget();
            }
        }
    });

    final Button linkButton = new Button(parent, SWT.CHECK);
    linkButton.setText("DND.DROP_LINK");
    linkButton.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent e) {
            Button b = (Button) e.widget;
            if (b.getSelection()) {
                dropOperation |= DND.DROP_LINK;
            } else {
                dropOperation = dropOperation & ~DND.DROP_LINK;
                if (dropOperation == 0 || (dropDefaultOperation & DND.DROP_LINK) != 0) {
                    dropOperation = DND.DROP_LINK;
                    linkButton.setSelection(true);
                }
            }
            if (dropEnabled) {
                createDropTarget();
            }
        }
    });

    Button b = new Button(parent, SWT.CHECK);
    b.setText("DND.DROP_DEFAULT");
    defaultParent = new Composite(parent, SWT.NONE);
    b.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent e) {
            Button b = (Button) e.widget;
            if (b.getSelection()) {
                dropOperation |= DND.DROP_DEFAULT;
                defaultParent.setVisible(true);
            } else {
                dropOperation = dropOperation & ~DND.DROP_DEFAULT;
                defaultParent.setVisible(false);
            }
            if (dropEnabled) {
                createDropTarget();
            }
        }
    });

    defaultParent.setVisible(false);
    GridLayout layout = new GridLayout();
    layout.marginWidth = 20;
    defaultParent.setLayout(layout);
    Label label = new Label(defaultParent, SWT.NONE);
    label.setText("Value for default operation is:");
    b = new Button(defaultParent, SWT.RADIO);
    b.setText("DND.DROP_MOVE");
    b.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent e) {
            Button b = (Button) e.widget;
            if (b.getSelection()) {
                dropDefaultOperation = DND.DROP_MOVE;
                dropOperation |= DND.DROP_MOVE;
                moveButton.setSelection(true);
                if (dropEnabled) {
                    createDropTarget();
                }
            }
        }
    });

    b = new Button(defaultParent, SWT.RADIO);
    b.setText("DND.DROP_COPY");
    b.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent e) {
            Button b = (Button) e.widget;
            if (b.getSelection()) {
                dropDefaultOperation = DND.DROP_COPY;
                dropOperation |= DND.DROP_COPY;
                copyButton.setSelection(true);
                if (dropEnabled) {
                    createDropTarget();
                }
            }
        }
    });

    b = new Button(defaultParent, SWT.RADIO);
    b.setText("DND.DROP_LINK");
    b.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent e) {
            Button b = (Button) e.widget;
            if (b.getSelection()) {
                dropDefaultOperation = DND.DROP_LINK;
                dropOperation |= DND.DROP_LINK;
                linkButton.setSelection(true);
                if (dropEnabled) {
                    createDropTarget();
                }
            }
        }
    });

    b = new Button(defaultParent, SWT.RADIO);
    b.setText("DND.DROP_NONE");
    b.setSelection(true);
    b.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent e) {
            Button b = (Button) e.widget;
            if (b.getSelection()) {
                dropDefaultOperation = DND.DROP_NONE;
                dropOperation &= ~DND.DROP_DEFAULT;
                if (dropEnabled) {
                    createDropTarget();
                }
            }
        }
    });
}

From source file:org.eclipse.swt.examples.dnd.DNDExample.java

private void createDropOperations(Composite parent) {
    parent.setLayout(new RowLayout(SWT.VERTICAL));
    final Button moveButton = new Button(parent, SWT.CHECK);
    moveButton.setText("DND.DROP_MOVE");
    moveButton.addSelectionListener(widgetSelectedAdapter(e -> {
        Button b = (Button) e.widget;
        if (b.getSelection()) {
            dropOperation |= DND.DROP_MOVE;
        } else {/*  w  w w  .  jav  a  2 s.  c  o  m*/
            dropOperation = dropOperation & ~DND.DROP_MOVE;
            if (dropOperation == 0 || (dropDefaultOperation & DND.DROP_MOVE) != 0) {
                dropOperation |= DND.DROP_MOVE;
                moveButton.setSelection(true);
            }
        }
        if (dropEnabled) {
            createDropTarget();
        }
    }));

    final Button copyButton = new Button(parent, SWT.CHECK);
    copyButton.setText("DND.DROP_COPY");
    copyButton.addSelectionListener(widgetSelectedAdapter(e -> {
        Button b = (Button) e.widget;
        if (b.getSelection()) {
            dropOperation |= DND.DROP_COPY;
        } else {
            dropOperation = dropOperation & ~DND.DROP_COPY;
            if (dropOperation == 0 || (dropDefaultOperation & DND.DROP_COPY) != 0) {
                dropOperation = DND.DROP_COPY;
                copyButton.setSelection(true);
            }
        }
        if (dropEnabled) {
            createDropTarget();
        }
    }));

    final Button linkButton = new Button(parent, SWT.CHECK);
    linkButton.setText("DND.DROP_LINK");
    linkButton.addSelectionListener(widgetSelectedAdapter(e -> {
        Button eb = (Button) e.widget;
        if (eb.getSelection()) {
            dropOperation |= DND.DROP_LINK;
        } else {
            dropOperation = dropOperation & ~DND.DROP_LINK;
            if (dropOperation == 0 || (dropDefaultOperation & DND.DROP_LINK) != 0) {
                dropOperation = DND.DROP_LINK;
                linkButton.setSelection(true);
            }
        }
        if (dropEnabled) {
            createDropTarget();
        }
    }));

    Button b = new Button(parent, SWT.CHECK);
    b.setText("DND.DROP_DEFAULT");
    defaultParent = new Composite(parent, SWT.NONE);
    b.addSelectionListener(widgetSelectedAdapter(e -> {
        Button eb = (Button) e.widget;
        if (eb.getSelection()) {
            dropOperation |= DND.DROP_DEFAULT;
            defaultParent.setVisible(true);
        } else {
            dropOperation = dropOperation & ~DND.DROP_DEFAULT;
            defaultParent.setVisible(false);
        }
        if (dropEnabled) {
            createDropTarget();
        }
    }));

    defaultParent.setVisible(false);
    GridLayout layout = new GridLayout();
    layout.marginWidth = 20;
    defaultParent.setLayout(layout);
    Label label = new Label(defaultParent, SWT.NONE);
    label.setText("Value for default operation is:");
    b = new Button(defaultParent, SWT.RADIO);
    b.setText("DND.DROP_MOVE");
    b.addSelectionListener(widgetSelectedAdapter(e -> {
        Button eb = (Button) e.widget;
        if (eb.getSelection()) {
            dropDefaultOperation = DND.DROP_MOVE;
            dropOperation |= DND.DROP_MOVE;
            moveButton.setSelection(true);
            if (dropEnabled) {
                createDropTarget();
            }
        }
    }));

    b = new Button(defaultParent, SWT.RADIO);
    b.setText("DND.DROP_COPY");
    b.addSelectionListener(widgetSelectedAdapter(e -> {
        Button eb = (Button) e.widget;
        if (eb.getSelection()) {
            dropDefaultOperation = DND.DROP_COPY;
            dropOperation |= DND.DROP_COPY;
            copyButton.setSelection(true);
            if (dropEnabled) {
                createDropTarget();
            }
        }
    }));

    b = new Button(defaultParent, SWT.RADIO);
    b.setText("DND.DROP_LINK");
    b.addSelectionListener(widgetSelectedAdapter(e -> {
        Button eb = (Button) e.widget;
        if (eb.getSelection()) {
            dropDefaultOperation = DND.DROP_LINK;
            dropOperation |= DND.DROP_LINK;
            linkButton.setSelection(true);
            if (dropEnabled) {
                createDropTarget();
            }
        }
    }));

    b = new Button(defaultParent, SWT.RADIO);
    b.setText("DND.DROP_NONE");
    b.setSelection(true);
    b.addSelectionListener(widgetSelectedAdapter(e -> {
        Button eb = (Button) e.widget;
        if (eb.getSelection()) {
            dropDefaultOperation = DND.DROP_NONE;
            dropOperation &= ~DND.DROP_DEFAULT;
            if (dropEnabled) {
                createDropTarget();
            }
        }
    }));

    // initialize state
    moveButton.setSelection(true);
    copyButton.setSelection(true);
    linkButton.setSelection(true);
    dropOperation = DND.DROP_MOVE | DND.DROP_COPY | DND.DROP_LINK;
}

From source file:org.eclipse.swt.examples.dnd.DNDExample.java

private void createDropTarget() {
    if (dropTarget != null)
        dropTarget.dispose();//from   w ww .  j a v  a 2  s.c  om
    dropTarget = new DropTarget(dropControl, dropOperation);
    dropTarget.setTransfer(dropTypes);
    dropTarget.addDropListener(new DropTargetListener() {
        @Override
        public void dragEnter(DropTargetEvent event) {
            dropConsole.append(">>dragEnter\n");
            printEvent(event);
            if (event.detail == DND.DROP_DEFAULT) {
                event.detail = dropDefaultOperation;
            }
            event.feedback = dropFeedback;
        }

        @Override
        public void dragLeave(DropTargetEvent event) {
            dropConsole.append(">>dragLeave\n");
            printEvent(event);
        }

        @Override
        public void dragOperationChanged(DropTargetEvent event) {
            dropConsole.append(">>dragOperationChanged\n");
            printEvent(event);
            if (event.detail == DND.DROP_DEFAULT) {
                event.detail = dropDefaultOperation;
            }
            event.feedback = dropFeedback;
        }

        @Override
        public void dragOver(DropTargetEvent event) {
            dropConsole.append(">>dragOver\n");
            printEvent(event);
            event.feedback = dropFeedback;
        }

        @Override
        public void drop(DropTargetEvent event) {
            dropConsole.append(">>drop\n");
            printEvent(event);
            String[] strings = null;
            if (TextTransfer.getInstance().isSupportedType(event.currentDataType)
                    || RTFTransfer.getInstance().isSupportedType(event.currentDataType)
                    || HTMLTransfer.getInstance().isSupportedType(event.currentDataType)
                    || URLTransfer.getInstance().isSupportedType(event.currentDataType)) {
                strings = new String[] { (String) event.data };
            }
            if (FileTransfer.getInstance().isSupportedType(event.currentDataType)) {
                strings = (String[]) event.data;
            }
            if (strings == null || strings.length == 0) {
                dropConsole.append("!!Invalid data dropped");
                return;
            }

            if (strings.length == 1
                    && (dropControlType == TABLE || dropControlType == TREE || dropControlType == LIST)) {
                // convert string separated by "\n" into an array of strings
                String string = strings[0];
                int count = 0;
                int offset = string.indexOf("\n", 0);
                while (offset > 0) {
                    count++;
                    offset = string.indexOf("\n", offset + 1);
                }
                if (count > 0) {
                    strings = new String[count + 1];
                    int start = 0;
                    int end = string.indexOf("\n");
                    int index = 0;
                    while (start < end) {
                        strings[index++] = string.substring(start, end);
                        start = end + 1;
                        end = string.indexOf("\n", start);
                        if (end == -1)
                            end = string.length();
                    }
                }
            }
            switch (dropControlType) {
            case BUTTON_CHECK:
            case BUTTON_TOGGLE:
            case BUTTON_RADIO: {
                Button b = (Button) dropControl;
                b.setText(strings[0]);
                break;
            }
            case STYLED_TEXT: {
                StyledText text = (StyledText) dropControl;
                for (String string : strings) {
                    text.insert(string);
                }
                break;
            }
            case TABLE: {
                Table table = (Table) dropControl;
                Point p = event.display.map(null, table, event.x, event.y);
                TableItem dropItem = table.getItem(p);
                int index = dropItem == null ? table.getItemCount() : table.indexOf(dropItem);
                for (String string : strings) {
                    TableItem item = new TableItem(table, SWT.NONE, index);
                    item.setText(0, string);
                    item.setText(1, "dropped item");
                }
                TableColumn[] columns = table.getColumns();
                for (TableColumn column : columns) {
                    column.pack();
                }
                break;
            }
            case TEXT: {
                Text text = (Text) dropControl;
                for (String string : strings) {
                    text.append(string + "\n");
                }
                break;
            }
            case TREE: {
                Tree tree = (Tree) dropControl;
                Point p = event.display.map(null, tree, event.x, event.y);
                TreeItem parentItem = tree.getItem(p);
                for (String string : strings) {
                    TreeItem item = parentItem != null ? new TreeItem(parentItem, SWT.NONE)
                            : new TreeItem(tree, SWT.NONE);
                    item.setText(string);
                }
                break;
            }
            case CANVAS: {
                dropControl.setData("STRINGS", strings);
                dropControl.redraw();
                break;
            }
            case LABEL: {
                Label label = (Label) dropControl;
                label.setText(strings[0]);
                break;
            }
            case LIST: {
                List list = (List) dropControl;
                for (String string : strings) {
                    list.add(string);
                }
                break;
            }
            case COMBO: {
                Combo combo = (Combo) dropControl;
                combo.setText(strings[0]);
                break;
            }
            default:
                throw new SWTError(SWT.ERROR_NOT_IMPLEMENTED);
            }
        }

        @Override
        public void dropAccept(DropTargetEvent event) {
            dropConsole.append(">>dropAccept\n");
            printEvent(event);
        }
    });
}

From source file:DNDExample.java

private void createDragSource() {
    if (dragSource != null)
        dragSource.dispose();/*  ww  w.  j  a  v a  2  s.c  o  m*/
    dragSource = new DragSource(dragControl, dragOperation);
    dragSource.setTransfer(dragTypes);
    dragSource.addDragListener(new DragSourceListener() {
        public void dragFinished(org.eclipse.swt.dnd.DragSourceEvent event) {
            dragConsole.append(">>dragFinished\n");
            printEvent(event);
            dragDataText = dragDataRTF = dragDataHTML = null;
            dragDataFiles = null;
            if (event.detail == DND.DROP_MOVE) {
                switch (dragControlType) {
                case BUTTON_CHECK:
                case BUTTON_TOGGLE:
                case BUTTON_RADIO: {
                    Button b = (Button) dragControl;
                    b.setText("");
                    break;
                }
                case TABLE: {
                    Table table = (Table) dragControl;
                    TableItem[] items = table.getSelection();
                    for (int i = 0; i < items.length; i++) {
                        items[i].dispose();
                    }
                    break;
                }
                case TEXT: {
                    Text text = (Text) dragControl;
                    text.clearSelection();
                    break;
                }
                case TREE: {
                    Tree tree = (Tree) dragControl;
                    TreeItem[] items = tree.getSelection();
                    for (int i = 0; i < items.length; i++) {
                        items[i].dispose();
                    }
                    break;
                }
                case CANVAS: {
                    dragControl.setData("STRINGS", null);
                    dragControl.redraw();
                    break;
                }
                case LABEL: {
                    Label label = (Label) dragControl;
                    label.setText("");
                    break;
                }
                case LIST: {
                    List list = (List) dragControl;
                    int[] indices = list.getSelectionIndices();
                    list.remove(indices);
                    break;
                }
                }
            }
        }

        public void dragSetData(org.eclipse.swt.dnd.DragSourceEvent event) {
            dragConsole.append(">>dragSetData\n");
            printEvent(event);
            if (TextTransfer.getInstance().isSupportedType(event.dataType)) {
                event.data = dragDataText;
            }
            if (RTFTransfer.getInstance().isSupportedType(event.dataType)) {
                event.data = dragDataRTF;
            }
            if (HTMLTransfer.getInstance().isSupportedType(event.dataType)) {
                event.data = dragDataHTML;
            }
            if (FileTransfer.getInstance().isSupportedType(event.dataType)) {
                event.data = dragDataFiles;
            }
        }

        public void dragStart(org.eclipse.swt.dnd.DragSourceEvent event) {
            dragConsole.append(">>dragStart\n");
            printEvent(event);
            dragDataFiles = fileList.getItems();
            switch (dragControlType) {
            case BUTTON_CHECK:
            case BUTTON_TOGGLE:
            case BUTTON_RADIO: {
                Button b = (Button) dragControl;
                dragDataText = b.getSelection() ? "true" : "false";
                break;
            }
            case TABLE: {
                Table table = (Table) dragControl;
                TableItem[] items = table.getSelection();
                if (items.length == 0) {
                    event.doit = false;
                } else {
                    StringBuffer buffer = new StringBuffer();
                    for (int i = 0; i < items.length; i++) {
                        buffer.append(items[i].getText());
                        if (items.length > 1 && i < items.length - 1) {
                            buffer.append("\n");
                        }
                    }
                    dragDataText = buffer.toString();
                }
                break;
            }
            case TEXT: {
                Text text = (Text) dragControl;
                String s = text.getSelectionText();
                if (s.length() == 0) {
                    event.doit = false;
                } else {
                    dragDataText = s;
                }
                break;
            }
            case TREE: {
                Tree tree = (Tree) dragControl;
                TreeItem[] items = tree.getSelection();
                if (items.length == 0) {
                    event.doit = false;
                } else {
                    StringBuffer buffer = new StringBuffer();
                    for (int i = 0; i < items.length; i++) {
                        buffer.append(items[i].getText());
                        if (items.length > 1 && i < items.length - 1) {
                            buffer.append("\n");
                        }
                    }
                    dragDataText = buffer.toString();
                }
                break;
            }
            case CANVAS: {
                String[] strings = (String[]) dragControl.getData("STRINGS");
                if (strings == null || strings.length == 0) {
                    event.doit = false;
                } else {
                    StringBuffer buffer = new StringBuffer();
                    for (int i = 0; i < strings.length; i++) {
                        buffer.append(strings[i]);
                        if (strings.length > 1 && i < strings.length - 1) {
                            buffer.append("\n");
                        }
                    }
                    dragDataText = buffer.toString();
                }
                break;
            }
            case LABEL: {
                Label label = (Label) dragControl;
                String string = label.getText();
                if (string.length() == 0) {
                    event.doit = false;
                } else {
                    dragDataText = string;
                }
                break;
            }
            case LIST: {
                List list = (List) dragControl;
                String[] selection = list.getSelection();
                if (selection.length == 0) {
                    event.doit = false;
                } else {
                    StringBuffer buffer = new StringBuffer();
                    for (int i = 0; i < selection.length; i++) {
                        buffer.append(selection[i]);
                        if (selection.length > 1 && i < selection.length - 1) {
                            buffer.append("\n");
                        }
                    }
                    dragDataText = buffer.toString();
                }
                break;
            }
            default:
                throw new SWTError(SWT.ERROR_NOT_IMPLEMENTED);
            }
            if (dragDataText != null) {
                dragDataRTF = "{\\rtf1{\\colortbl;\\red255\\green0\\blue0;}\\cf1\\b " + dragDataText + "}";
                dragDataHTML = "<b>" + dragDataText + "</b>";
            }

            for (int i = 0; i < dragTypes.length; i++) {
                if (dragTypes[i] instanceof TextTransfer && dragDataText == null) {
                    event.doit = false;
                }
                if (dragTypes[i] instanceof RTFTransfer && dragDataRTF == null) {
                    event.doit = false;
                }
                if (dragTypes[i] instanceof HTMLTransfer && dragDataHTML == null) {
                    event.doit = false;
                }
                if (dragTypes[i] instanceof FileTransfer
                        && (dragDataFiles == null || dragDataFiles.length == 0)) {
                    event.doit = false;
                }
            }
        }
    });
}

From source file:org.eclipse.swt.examples.dnd.DNDExample.java

private void createDragSource() {
    if (dragSource != null)
        dragSource.dispose();//from   www .jav  a2  s .  c  o  m
    dragSource = new DragSource(dragControl, dragOperation);
    dragSource.setTransfer(dragTypes);
    dragSource.addDragListener(new DragSourceListener() {
        @Override
        public void dragFinished(org.eclipse.swt.dnd.DragSourceEvent event) {
            dragConsole.append(">>dragFinished\n");
            printEvent(event);
            dragDataText = dragDataRTF = dragDataHTML = dragDataURL = null;
            dragDataFiles = null;
            if (event.detail == DND.DROP_MOVE) {
                switch (dragControlType) {
                case BUTTON_CHECK:
                case BUTTON_TOGGLE:
                case BUTTON_RADIO: {
                    Button b = (Button) dragControl;
                    b.setText("");
                    break;
                }
                case STYLED_TEXT: {
                    StyledText text = (StyledText) dragControl;
                    text.insert("");
                    break;
                }
                case TABLE: {
                    Table table = (Table) dragControl;
                    TableItem[] items = table.getSelection();
                    for (TableItem item : items) {
                        item.dispose();
                    }
                    break;
                }
                case TEXT: {
                    Text text = (Text) dragControl;
                    text.insert("");
                    break;
                }
                case TREE: {
                    Tree tree = (Tree) dragControl;
                    TreeItem[] items = tree.getSelection();
                    for (TreeItem item : items) {
                        item.dispose();
                    }
                    break;
                }
                case CANVAS: {
                    dragControl.setData("STRINGS", null);
                    dragControl.redraw();
                    break;
                }
                case LABEL: {
                    Label label = (Label) dragControl;
                    label.setText("");
                    break;
                }
                case LIST: {
                    List list = (List) dragControl;
                    int[] indices = list.getSelectionIndices();
                    list.remove(indices);
                    break;
                }
                case COMBO: {
                    Combo combo = (Combo) dragControl;
                    combo.setText("");
                    break;
                }
                }
            }
        }

        @Override
        public void dragSetData(org.eclipse.swt.dnd.DragSourceEvent event) {
            dragConsole.append(">>dragSetData\n");
            printEvent(event);
            if (TextTransfer.getInstance().isSupportedType(event.dataType)) {
                event.data = dragDataText;
            }
            if (RTFTransfer.getInstance().isSupportedType(event.dataType)) {
                event.data = dragDataRTF;
            }
            if (HTMLTransfer.getInstance().isSupportedType(event.dataType)) {
                event.data = dragDataHTML;
            }
            if (URLTransfer.getInstance().isSupportedType(event.dataType)) {
                event.data = dragDataURL;
            }
            if (FileTransfer.getInstance().isSupportedType(event.dataType)) {
                event.data = dragDataFiles;
            }
        }

        @Override
        public void dragStart(org.eclipse.swt.dnd.DragSourceEvent event) {
            dragConsole.append(">>dragStart\n");
            printEvent(event);
            dragDataFiles = fileList.getItems();
            switch (dragControlType) {
            case BUTTON_CHECK:
            case BUTTON_TOGGLE:
            case BUTTON_RADIO: {
                Button b = (Button) dragControl;
                dragDataText = b.getSelection() ? "true" : "false";
                break;
            }
            case STYLED_TEXT: {
                StyledText text = (StyledText) dragControl;
                String s = text.getSelectionText();
                if (s.length() == 0) {
                    event.doit = false;
                } else {
                    dragDataText = s;
                }
                break;
            }
            case TABLE: {
                Table table = (Table) dragControl;
                TableItem[] items = table.getSelection();
                if (items.length == 0) {
                    event.doit = false;
                } else {
                    StringBuilder buffer = new StringBuilder();
                    for (int i = 0; i < items.length; i++) {
                        buffer.append(items[i].getText());
                        if (items.length > 1 && i < items.length - 1) {
                            buffer.append("\n");
                        }
                    }
                    dragDataText = buffer.toString();
                }
                break;
            }
            case TEXT: {
                Text text = (Text) dragControl;
                String s = text.getSelectionText();
                if (s.length() == 0) {
                    event.doit = false;
                } else {
                    dragDataText = s;
                }
                break;
            }
            case TREE: {
                Tree tree = (Tree) dragControl;
                TreeItem[] items = tree.getSelection();
                if (items.length == 0) {
                    event.doit = false;
                } else {
                    StringBuilder buffer = new StringBuilder();
                    for (int i = 0; i < items.length; i++) {
                        buffer.append(items[i].getText());
                        if (items.length > 1 && i < items.length - 1) {
                            buffer.append("\n");
                        }
                    }
                    dragDataText = buffer.toString();
                }
                break;
            }
            case CANVAS: {
                String[] strings = (String[]) dragControl.getData("STRINGS");
                if (strings == null || strings.length == 0) {
                    event.doit = false;
                } else {
                    StringBuilder buffer = new StringBuilder();
                    for (int i = 0; i < strings.length; i++) {
                        buffer.append(strings[i]);
                        if (strings.length > 1 && i < strings.length - 1) {
                            buffer.append("\n");
                        }
                    }
                    dragDataText = buffer.toString();
                }
                break;
            }
            case LABEL: {
                Label label = (Label) dragControl;
                String string = label.getText();
                if (string.length() == 0) {
                    event.doit = false;
                } else {
                    dragDataText = string;
                }
                break;
            }
            case LIST: {
                List list = (List) dragControl;
                String[] selection = list.getSelection();
                if (selection.length == 0) {
                    event.doit = false;
                } else {
                    StringBuilder buffer = new StringBuilder();
                    for (int i = 0; i < selection.length; i++) {
                        buffer.append(selection[i]);
                        if (selection.length > 1 && i < selection.length - 1) {
                            buffer.append("\n");
                        }
                    }
                    dragDataText = buffer.toString();
                }
                break;
            }
            case COMBO: {
                Combo combo = (Combo) dragControl;
                String string = combo.getText();
                Point selection = combo.getSelection();
                if (selection.x == selection.y) {
                    event.doit = false;
                } else {
                    dragDataText = string.substring(selection.x, selection.y);
                }
                break;
            }
            default:
                throw new SWTError(SWT.ERROR_NOT_IMPLEMENTED);
            }
            if (dragDataText != null) {
                dragDataRTF = "{\\rtf1{\\colortbl;\\red255\\green0\\blue0;}\\cf1\\b " + dragDataText + "}";
                dragDataHTML = "<b>" + dragDataText + "</b>";
                dragDataURL = "http://" + dragDataText.replace(' ', '.');
                try {
                    new URL(dragDataURL);
                } catch (MalformedURLException e) {
                    dragDataURL = null;
                }
            }

            for (Transfer dragType : dragTypes) {
                if (dragType instanceof TextTransfer && dragDataText == null) {
                    event.doit = false;
                }
                if (dragType instanceof RTFTransfer && dragDataRTF == null) {
                    event.doit = false;
                }
                if (dragType instanceof HTMLTransfer && dragDataHTML == null) {
                    event.doit = false;
                }
                if (dragType instanceof URLTransfer && dragDataURL == null) {
                    event.doit = false;
                }
                if (dragType instanceof FileTransfer && (dragDataFiles == null || dragDataFiles.length == 0)) {
                    event.doit = false;
                }
            }
        }
    });
}

From source file:org.eclipse.swt.examples.texteditor.TextEditor.java

void setLink() {
    final Shell dialog = new Shell(shell, SWT.APPLICATION_MODAL | SWT.SHELL_TRIM);
    dialog.setLayout(new GridLayout(2, false));
    dialog.setText(getResourceString("SetLink")); //$NON-NLS-1$
    Label label = new Label(dialog, SWT.NONE);
    label.setText(getResourceString("URL")); //$NON-NLS-1$
    final Text text = new Text(dialog, SWT.SINGLE);
    text.setLayoutData(new GridData(200, SWT.DEFAULT));
    if (link != null) {
        text.setText(link);//  w  w  w .  ja  v  a 2 s. c  om
        text.selectAll();
    }
    final Button okButton = new Button(dialog, SWT.PUSH);
    okButton.setText(getResourceString("Ok")); //$NON-NLS-1$
    final Button cancelButton = new Button(dialog, SWT.PUSH);
    cancelButton.setText(getResourceString("Cancel")); //$NON-NLS-1$
    Listener listener = event -> {
        if (event.widget == okButton) {
            link = text.getText();
            setStyle(UNDERLINE_LINK);
        }
        dialog.dispose();
    };
    okButton.addListener(SWT.Selection, listener);
    cancelButton.addListener(SWT.Selection, listener);
    dialog.setDefaultButton(okButton);
    dialog.pack();
    dialog.open();
    while (!dialog.isDisposed()) {
        if (!display.readAndDispatch()) {
            display.sleep();
        }
    }
}