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

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

Introduction

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

Prototype

public void setText(String text) 

Source Link

Document

Sets the widget content.

Usage

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);
    DragSource source = new DragSource(text1, DND.DROP_COPY | DND.DROP_MOVE);
    source.setTransfer(TextTransfer.getInstance());
    source.addDragListener(new DragSourceAdapter() {
        Point selection;//from  w  ww.ja  v a 2  s .  c o  m

        @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:StyledTextClipboard.java

public static void main(String[] args) {
    final Display display = new Display();
    final Shell shell = new Shell(display);

    StyledText text1 = new StyledText(shell, SWT.V_SCROLL | SWT.WRAP | SWT.BORDER);
    StyledText text2 = new StyledText(shell, SWT.V_SCROLL | SWT.WRAP | SWT.BORDER);

    text1.setText("1234567");

    text1.setSelectionRange(2, 4);//from  w  ww .  jav a  2 s  . c o  m

    text1.cut();
    text2.paste();

    text1.setBounds(10, 10, 100, 100);

    text2.setBounds(10, 300, 100, 100);

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

}

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

public static void main(String[] args) {
    final Display display = new Display();
    Shell shell = new Shell(display);
    shell.setText("Snippet 343");
    shell.setLayout(new FillLayout());
    shell.setSize(400, 400);//from w w w.j  a  v a 2 s  .com
    SashForm sashForm = new SashForm(shell, SWT.HORIZONTAL);
    Composite leftComposite = new Composite(sashForm, SWT.NONE);
    leftComposite.setLayout(new FillLayout());
    Composite rightComposite = new Composite(sashForm, SWT.NONE);
    rightComposite.setLayout(new FillLayout());
    ExpandBar expandBar = new ExpandBar(leftComposite, SWT.NONE);
    final ExpandItem expandItem1 = new ExpandItem(expandBar, SWT.NONE);
    expandItem1.setText("item 1");
    new ExpandItem(expandBar, SWT.NONE).setText("item 2"); /* expandItem2 */

    final StyledText text = new StyledText(expandBar, SWT.MULTI | SWT.WRAP);
    expandItem1.setControl(text);
    text.setText("initial text that will wrap if it's long enough");

    /* update the item's height if needed in response to changes in the text's size */
    final int TRIAL_WIDTH = 100;
    final int trimWidth = text.computeTrim(0, 0, TRIAL_WIDTH, 100).width - TRIAL_WIDTH;
    text.addListener(SWT.Modify, event -> {
        Point size = text.computeSize(text.getSize().x - trimWidth, SWT.DEFAULT);
        if (expandItem1.getHeight() != size.y) {
            expandItem1.setHeight(size.y);
        }
    });
    expandBar.addListener(SWT.Resize, event -> display.asyncExec(() -> {
        /*
         * The following is done asynchronously to allow the Text's width
         * to be changed before re-calculating its preferred height.
         */
        if (text.isDisposed())
            return;
        Point size = text.computeSize(text.getSize().x - trimWidth, SWT.DEFAULT);
        if (expandItem1.getHeight() != size.y) {
            expandItem1.setHeight(size.y);
        }
    }));

    shell.open();
    /* set the item's initial height */
    Point size = text.computeSize(expandBar.getClientArea().width, SWT.DEFAULT);
    expandItem1.setHeight(size.y);
    expandItem1.setExpanded(true);

    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);/*from w  ww  . ja  v  a 2s  .co 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.snippets.Snippet332.java

public static void main(String[] args) {
    final Display display = new Display();
    Shell shell = new Shell(display);
    shell.setText("Snippet 332");
    GridLayout layout = new GridLayout();
    layout.marginHeight = layout.marginWidth = 10;
    shell.setLayout(layout);/*  w  w w . j  a v  a  2s  . c om*/
    StyledText text = new StyledText(shell, SWT.MULTI | SWT.BORDER);
    final String segment = "Eclipse";
    String string = "Force RTL direction on this segment \"" + segment + "\".";
    text.setText(string);
    int[] segments = { string.indexOf(segment), segment.length() };
    StyleRange[] ranges = { new StyleRange(0, 0, display.getSystemColor(SWT.COLOR_RED), null) };
    text.setStyleRanges(segments, ranges);
    Font font = new Font(display, "Tahoma", 16, 0);
    text.setFont(font);
    text.addBidiSegmentListener(event -> {
        String string1 = event.lineText;
        int start = string1.indexOf(segment);
        event.segments = new int[] { start, start + segment.length() };
        event.segmentsChars = new char[] { '\u202e', '\u202C' };
    });
    Combo combo = new Combo(shell, SWT.SIMPLE);
    combo.setFont(font);
    combo.setBackground(display.getSystemColor(SWT.COLOR_YELLOW));
    combo.setItems("Option 1...", "Option 2...", "Option 3...", "Option 4...");
    combo.select(1);
    combo.addSegmentListener(event -> {
        event.segments = new int[] { 0, event.lineText.length() };
        event.segmentsChars = new char[] { '\u202e', '\u202c' };
    });
    shell.setSize(500, 250);
    shell.open();
    while (!shell.isDisposed()) {
        if (!display.readAndDispatch())
            display.sleep();
    }
    font.dispose();
    display.dispose();
}

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

public static void main(String[] args) {
    Display display = new Display();
    Shell shell = new Shell(display);
    shell.setText("Snippet 325");
    shell.setLayout(new GridLayout());
    shell.setText("StyledText: Variable tab stops");

    Ruler ruler = new Ruler(shell, SWT.NONE);
    GridData data = new GridData();
    data.heightHint = 10;//from ww  w  .j  a v a  2  s  . c  o m
    data.horizontalAlignment = SWT.FILL;
    ruler.setLayoutData(data);
    ruler.setBackground(display.getSystemColor(SWT.COLOR_INFO_BACKGROUND));

    StyledText styledText = new StyledText(shell,
            SWT.FULL_SELECTION | SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
    styledText.setText(
            "0\t1\t2\t3\t4\nDrag\tthe\ttab\tmarks\ton\ttop\tto\tchange\tthe\tposition\tof\tthe\ttab\tstops");
    styledText.setTabStops(new int[] { 30, 70, 90, 140 });
    styledText.setLayoutData(new GridData(GridData.FILL_BOTH));
    ruler.setEditor(styledText);

    shell.setSize(800, 400);
    shell.open();
    while (!shell.isDisposed()) {
        if (!display.readAndDispatch())
            display.sleep();
    }
    display.dispose();
}

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

public static void main(String[] args) {
    Display display = new Display();
    Shell shell = new Shell(display);
    shell.setText("Snippet 328");
    shell.setLayout(new GridLayout());
    shell.setText("StyledText: Variable tab stops");

    Ruler ruler = new Ruler(shell, SWT.NONE);
    GridData data = new GridData();
    data.heightHint = 10;//from  w  w  w .j  av a 2  s.c o  m
    data.horizontalAlignment = SWT.FILL;
    ruler.setLayoutData(data);
    ruler.setBackground(display.getSystemColor(SWT.COLOR_INFO_BACKGROUND));

    StyledText styledText = new StyledText(shell,
            SWT.FULL_SELECTION | SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
    styledText.setText(
            "0\t1\t2\t3\t4\nDrag\tthe\ttab\tmarks\ton\ttop\tto\tchange\tthe\tposition\tof\tthe\ttab\tstops");
    styledText.setTabStops(new int[] { 30, 70, 90, 140 });
    styledText.setLineTabStops(0, 1, new int[] { 10, 60, 80 });
    styledText.setLineTabStops(1, 1, new int[] { 40, 70, 100, 150 });
    styledText.setLayoutData(new GridData(GridData.FILL_BOTH));
    ruler.setEditor(styledText);

    shell.setSize(800, 400);
    shell.open();
    while (!shell.isDisposed()) {
        if (!display.readAndDispatch())
            display.sleep();
    }
    display.dispose();
}

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

public static void main(String[] args) {
    final Display display = new Display();
    Shell shell = new Shell(display);
    shell.setText("Snippet 268");
    shell.setLayout(new FillLayout());
    StyledText styledText = new StyledText(shell, SWT.V_SCROLL);
    String multiLineString = "";
    for (int i = 0; i < 200; i++) {
        multiLineString = multiLineString.concat("This is line number " + i + " in the multi-line string.\n");
    }//w  w w .  ja va  2s .  c o  m
    styledText.setText(multiLineString);
    shell.setSize(styledText.computeSize(SWT.DEFAULT, 400));
    shell.open();
    // move cursor over styled text
    Rectangle clientArea = shell.getClientArea();
    Point location = shell.getLocation();
    Event event = new Event();
    event.type = SWT.MouseMove;
    event.x = location.x + clientArea.width / 2;
    event.y = location.y + clientArea.height / 2;
    display.post(event);
    styledText.addListener(SWT.MouseWheel, e -> System.out.println("Mouse Wheel event " + e));
    new Thread() {
        Event event;

        @Override
        public void run() {
            for (int i = 0; i < 50; i++) {
                event = new Event();
                event.type = SWT.MouseWheel;
                event.detail = SWT.SCROLL_LINE;
                event.count = -2;
                if (!display.isDisposed())
                    display.post(event);
                try {
                    Thread.sleep(100);
                } catch (InterruptedException e) {
                }
            }
        }
    }.start();
    while (!shell.isDisposed()) {
        if (!display.readAndDispatch())
            display.sleep();
    }
    display.dispose();
}

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

public static void main(String[] args) throws Exception {
    final Display display = new Display();
    final Shell shell = new Shell(display);
    shell.setText("Snippet 375");
    shell.setLayout(new GridLayout(1, false));

    final StringBuilder sb = new StringBuilder();
    final Random random = new Random(2546);
    for (int i = 0; i < 200; i++) {
        sb.append("Very very long text about ").append(random.nextInt(2000)).append("\t");
        if (i % 10 == 0) {
            sb.append("\n");
        }//from w w w  .  j  a v a  2 s.c  o m
    }

    // H SCROLL
    final Label lbl1 = new Label(shell, SWT.NONE);
    lbl1.setLayoutData(new GridData(GridData.BEGINNING, GridData.CENTER, true, false));
    lbl1.setText("Horizontal Scroll");

    final StyledText txt1 = new StyledText(shell, SWT.MULTI | SWT.BORDER | SWT.H_SCROLL);
    txt1.setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, true));
    txt1.setText(sb.toString());
    txt1.setMouseNavigatorEnabled(true);

    // V_SCROLL
    final Label lbl2 = new Label(shell, SWT.NONE);
    lbl2.setLayoutData(new GridData(GridData.BEGINNING, GridData.CENTER, true, false));
    lbl2.setText("Vertical Scroll");

    final StyledText txt2 = new StyledText(shell, SWT.MULTI | SWT.BORDER | SWT.V_SCROLL);
    txt2.setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, true));
    txt2.setText(sb.toString());
    txt2.setMouseNavigatorEnabled(true);

    // H SCROLL & V_SCROLL
    final Label lbl3 = new Label(shell, SWT.NONE);
    lbl3.setLayoutData(new GridData(GridData.BEGINNING, GridData.CENTER, true, false));
    lbl3.setText("Horizontal and Vertical Scroll");

    final StyledText txt3 = new StyledText(shell, SWT.MULTI | SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
    txt3.setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, true));

    txt3.setText(sb.toString());
    txt3.setMouseNavigatorEnabled(true);

    final Button enableDisableButton = new Button(shell, SWT.PUSH);
    enableDisableButton.setLayoutData(new GridData(GridData.END, GridData.FILL, true, false));
    enableDisableButton.setText("Disable Mouse Navigation");
    enableDisableButton.addListener(SWT.Selection, e -> {
        if (txt3.getMouseNavigatorEnabled()) {
            enableDisableButton.setText("Enable Mouse Navigation");
        } else {
            enableDisableButton.setText("Disable Mouse Navigation");
        }
        txt3.setMouseNavigatorEnabled(!txt3.getMouseNavigatorEnabled());
    });

    // Disabled Scroll at start
    final Label lbl4 = new Label(shell, SWT.NONE);
    lbl4.setLayoutData(new GridData(GridData.BEGINNING, GridData.CENTER, true, false));
    lbl4.setText("No scroll at start");

    final StyledText txt4 = new StyledText(shell, SWT.MULTI | SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL);
    final GridData gd = new GridData(GridData.FILL, GridData.FILL, true, true);
    gd.minimumHeight = 100;
    txt4.setLayoutData(gd);

    txt4.setText("Disabled scroll");
    txt4.setMouseNavigatorEnabled(true);

    // Disabled Scroll
    final Label lbl5 = new Label(shell, SWT.NONE);
    lbl5.setLayoutData(new GridData(GridData.BEGINNING, GridData.CENTER, true, false));
    lbl5.setText("No scroll");

    final StyledText txt5 = new StyledText(shell, SWT.MULTI | SWT.BORDER);
    final GridData gd5 = new GridData(GridData.FILL, GridData.FILL, true, true);
    gd5.minimumHeight = 100;
    txt5.setLayoutData(gd5);

    txt5.setText("No scroll");
    txt5.setMouseNavigatorEnabled(true);

    shell.setSize(800, 600);
    shell.open();

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

    display.dispose();
}

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

public static void main(String[] args) {
    final Display display = new Display();
    Shell shell = new Shell(display);
    shell.setText("Snippet 244");
    shell.setLayout(new FillLayout());
    final StyledText text = new StyledText(shell, SWT.NONE);
    StyleRange style = new StyleRange();
    style.borderColor = display.getSystemColor(SWT.COLOR_RED);
    style.borderStyle = SWT.BORDER_SOLID;
    StyleRange[] styles = { style };/*ww  w  .  j a va  2s .  co m*/
    String contents = "This demonstrates drawing a box\naround every occurrence of the word\nbox in the StyledText";
    text.setText(contents);
    int index = contents.indexOf(SEARCH_STRING);
    while (index != -1) {
        text.setStyleRanges(0, 0, new int[] { index, SEARCH_STRING.length() }, styles);
        index = contents.indexOf(SEARCH_STRING, index + 1);
    }
    shell.pack();
    shell.open();
    while (!shell.isDisposed()) {
        if (!display.readAndDispatch())
            display.sleep();
    }
    display.dispose();
}