List of usage examples for org.eclipse.swt.custom StyledText insert
public void insert(String string)
From source file:DragTextInStyledText.java
public static void main(String[] args) { final Display display = new Display(); Shell shell = new Shell(display); shell.setLayout(new FillLayout()); int style = SWT.MULTI | SWT.WRAP | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER; final StyledText text1 = new StyledText(shell, style); text1.setText(string1);//from www.jav a 2s .c o m DragSource source = new DragSource(text1, DND.DROP_COPY | DND.DROP_MOVE); source.setTransfer(new Transfer[] { TextTransfer.getInstance() }); source.addDragListener(new DragSourceAdapter() { Point selection; public void dragStart(DragSourceEvent e) { selection = text1.getSelection(); e.doit = selection.x != selection.y; } public void dragSetData(DragSourceEvent e) { e.data = text1.getText(selection.x, selection.y - 1); } public void dragFinished(DragSourceEvent e) { if (e.detail == DND.DROP_MOVE) { text1.replaceTextRange(selection.x, selection.y - selection.x, ""); } selection = null; } }); final StyledText text2 = new StyledText(shell, style); text2.setText(string2); DropTarget target = new DropTarget(text2, DND.DROP_DEFAULT | DND.DROP_MOVE | DND.DROP_COPY | DND.DROP_LINK); target.setTransfer(new Transfer[] { TextTransfer.getInstance() }); target.addDropListener(new DropTargetAdapter() { public void dragEnter(DropTargetEvent e) { if (e.detail == DND.DROP_DEFAULT) e.detail = DND.DROP_COPY; } public void dragOperationChanged(DropTargetEvent e) { if (e.detail == DND.DROP_DEFAULT) e.detail = DND.DROP_COPY; } public void drop(DropTargetEvent e) { text2.insert((String) e.data); } }); shell.open(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) display.sleep(); } display.dispose(); }
From source file:org.eclipse.swt.snippets.Snippet210.java
public static void main(String[] args) { final Display display = new Display(); Shell shell = new Shell(display); shell.setText("Snippet 210"); shell.setLayout(new FillLayout()); int style = SWT.MULTI | SWT.WRAP | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER; final StyledText text1 = new StyledText(shell, style); text1.setText(string1);/*w w w . j a va2 s .c o m*/ DragSource source = new DragSource(text1, DND.DROP_COPY | DND.DROP_MOVE); source.setTransfer(TextTransfer.getInstance()); source.addDragListener(new DragSourceAdapter() { Point selection; @Override public void dragStart(DragSourceEvent e) { selection = text1.getSelection(); e.doit = selection.x != selection.y; } @Override public void dragSetData(DragSourceEvent e) { e.data = text1.getText(selection.x, selection.y - 1); } @Override public void dragFinished(DragSourceEvent e) { if (e.detail == DND.DROP_MOVE) { text1.replaceTextRange(selection.x, selection.y - selection.x, ""); } selection = null; } }); final StyledText text2 = new StyledText(shell, style); text2.setText(string2); DropTarget target = new DropTarget(text2, DND.DROP_DEFAULT | DND.DROP_MOVE | DND.DROP_COPY | DND.DROP_LINK); target.setTransfer(TextTransfer.getInstance()); target.addDropListener(new DropTargetAdapter() { @Override public void dragEnter(DropTargetEvent e) { if (e.detail == DND.DROP_DEFAULT) e.detail = DND.DROP_COPY; } @Override public void dragOperationChanged(DropTargetEvent e) { if (e.detail == DND.DROP_DEFAULT) e.detail = DND.DROP_COPY; } @Override public void drop(DropTargetEvent e) { text2.insert((String) e.data); } }); shell.open(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) display.sleep(); } display.dispose(); }
From source file:org.eclipse.swt.snippets.Snippet257.java
public static void main(String[] args) { final Display display = new Display(); Shell shell = new Shell(display); shell.setText("Snippet 257"); shell.setLayout(new FillLayout()); shell.setSize(100, 300);// w w w . j av a 2s .c o m int style = SWT.MULTI | SWT.WRAP | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER; final StyledText text = new StyledText(shell, style); text.setText(string1); final DragSource source = new DragSource(text, DND.DROP_COPY | DND.DROP_MOVE); source.setDragSourceEffect(new DragSourceEffect(text) { @Override public void dragStart(DragSourceEvent event) { event.image = display.getSystemImage(SWT.ICON_WARNING); } }); source.setTransfer(TextTransfer.getInstance()); source.addDragListener(new DragSourceAdapter() { Point selection; @Override public void dragStart(DragSourceEvent event) { selection = text.getSelection(); event.doit = selection.x != selection.y; text.setData(DRAG_START_DATA, selection); } @Override public void dragSetData(DragSourceEvent e) { e.data = text.getText(selection.x, selection.y - 1); } @Override public void dragFinished(DragSourceEvent event) { if (event.detail == DND.DROP_MOVE) { Point newSelection = text.getSelection(); int length = selection.y - selection.x; int delta = 0; if (newSelection.x < selection.x) delta = length; text.replaceTextRange(selection.x + delta, length, ""); } selection = null; text.setData(DRAG_START_DATA, null); } }); DropTarget target = new DropTarget(text, DND.DROP_DEFAULT | DND.DROP_MOVE | DND.DROP_COPY | DND.DROP_LINK); target.setTransfer(TextTransfer.getInstance()); target.addDropListener(new DropTargetAdapter() { @Override public void dragEnter(DropTargetEvent event) { if (event.detail == DND.DROP_DEFAULT) { if (text.getData(DRAG_START_DATA) == null) event.detail = DND.DROP_COPY; else event.detail = DND.DROP_MOVE; } } @Override public void dragOperationChanged(DropTargetEvent event) { if (event.detail == DND.DROP_DEFAULT) { if (text.getData(DRAG_START_DATA) == null) event.detail = DND.DROP_COPY; else event.detail = DND.DROP_MOVE; } } @Override public void dragOver(DropTargetEvent event) { event.feedback = DND.FEEDBACK_SCROLL | DND.FEEDBACK_SELECT; } @Override public void drop(DropTargetEvent event) { if (event.detail != DND.DROP_NONE) { Point selection = (Point) text.getData(DRAG_START_DATA); int insertPos = text.getCaretOffset(); if (event.detail == DND.DROP_MOVE && selection != null && selection.x <= insertPos && insertPos <= selection.y || event.detail == DND.DROP_COPY && selection != null && selection.x < insertPos && insertPos < selection.y) { text.setSelection(selection); event.detail = DND.DROP_COPY; // prevent source from deleting selection } else { String string = (String) event.data; text.insert(string); if (selection != null) text.setSelectionRange(insertPos, string.length()); } } } }); shell.open(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) display.sleep(); } display.dispose(); }
From source file:org.eclipse.swt.examples.dnd.DNDExample.java
private void createDropTarget() { if (dropTarget != null) dropTarget.dispose();/* w w w . jav a 2s .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); } }); }
From source file:org.eclipse.swt.examples.dnd.DNDExample.java
private void createDragSource() { if (dragSource != null) dragSource.dispose();//from w w w .j a v 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; } } } }); }