Example usage for org.eclipse.swt.custom StyledText append

List of usage examples for org.eclipse.swt.custom StyledText append

Introduction

In this page you can find the example usage for org.eclipse.swt.custom StyledText append.

Prototype

public void append(String string) 

Source Link

Document

Appends a string to the text at the end of the widget.

Usage

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

private void createDropTarget() {
    if (dropTarget != null)
        dropTarget.dispose();//  w  w  w  .  j a  v  a2 s. c  o  m
    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);
        }
    });
}