List of usage examples for org.eclipse.swt.custom StyledText append
public void append(String string)
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); } }); }