Package org.eclipse.swt.widgets

Examples of org.eclipse.swt.widgets.Caret


      setCaretColour();
    }
  }

  private void setCaretColour() {
    Caret caret = control.getCaret();
    Rectangle bounds = caret.getBounds();
    int width = bounds.width;
    int height = bounds.height;
    caret = new Caret(control, SWT.NONE);
    Display display = Display.getCurrent();
    // System.out.printf("caret colour: %s %d %d\n", globalColour("caret"), width, height);
    String caretColourString = bareGlobalColour("caret");
    Color caretColour = ColourUtil.getColour(caretColourString);
    Color white = display.getSystemColor(SWT.COLOR_WHITE);
    Color black = display.getSystemColor(SWT.COLOR_BLACK);
    String backgroundColourString = globalBackground();
    int red = Integer.parseInt(backgroundColourString.substring(1, 3), 16) ^
          Integer.parseInt(caretColourString.substring(1, 3), 16);
    int green = Integer.parseInt(backgroundColourString.substring(3, 5), 16) ^
            Integer.parseInt(caretColourString.substring(3, 5), 16);
    int blue = Integer.parseInt(backgroundColourString.substring(5, 7), 16) ^
            Integer.parseInt(caretColourString.substring(5, 7), 16);
    PaletteData palette = new PaletteData (
      new RGB [] {
        new RGB (0, 0, 0),
        new RGB (red, green, blue),
        new RGB (0xFF, 0xFF, 0xFF),
      });
    ImageData maskData = new ImageData (1, height, 2, palette);
    for (int y=0; y < height; y++)
      maskData.setPixel(0, y, 1);
    Image image = new Image (display, maskData);
    caret.setImage(image);
    control.setCaret(caret);
  }
View Full Code Here


      toggleOverwriteMode();
    fIsOverwriteModeEnabled= enable;
  }

  private Caret createOverwriteCaret(StyledText styledText) {
    Caret caret= new Caret(styledText, SWT.NULL);
    GC gc= new GC(styledText);
    // XXX this overwrite box is not proportional-font aware
    // take 'a' as a medium sized character
    Point charSize= gc.stringExtent("a"); //$NON-NLS-1$
   
    // XXX: Filed request to get a caret with auto-height: https://bugs.eclipse.org/bugs/show_bug.cgi?id=118612
    caret.setSize(charSize.x, styledText.getLineHeight());
    caret.setFont(styledText.getFont());
   
    gc.dispose();

    return caret;
  }
View Full Code Here

    return caret;
  }

  private Caret createInsertCaret(StyledText styledText) {
    Caret caret= new Caret(styledText, SWT.NULL);

    // XXX: Filed request to get a caret with auto-height: https://bugs.eclipse.org/bugs/show_bug.cgi?id=118612
    caret.setSize(getCaretWidthPreference(), styledText.getLineHeight());
    caret.setFont(styledText.getFont());
   
    return caret;
  }
View Full Code Here

  private Caret createRawInsertModeCaret(StyledText styledText) {
    // don't draw special raw caret if no smart mode is enabled
    if (!getLegalInsertModes().contains(SMART_INSERT))
      return createInsertCaret(styledText);

    Caret caret= new Caret(styledText, SWT.NULL);
    Image image= createRawInsertModeCaretImage(styledText);
    if (image != null)
      caret.setImage(image);
    else {
      // XXX: Filed request to get a caret with auto-height: https://bugs.eclipse.org/bugs/show_bug.cgi?id=118612
      caret.setSize(getCaretWidthPreference(), styledText.getLineHeight());
    }

    caret.setFont(styledText.getFont());

    return caret;
  }
View Full Code Here

      Point newCaret = st.getLocationAtOffset(offset);
      if (newCaret.equals(caret)) {
        return;
      }

      Caret ct = st.getCaret();
      Point size = ct.getSize();

      GC gc = new GC(st);
      //gc.setXORMode(true);
      gc.setLineWidth(size.x);

      // erase old caret
      if (caret != null) {
        Color originalForeground = gc.getForeground();
        gc.setForeground(st.getBackground());
        gc.drawLine(caret.x, caret.y, caret.x, caret.y + size.y);
        gc.setForeground(originalForeground);
      }

      st.redraw();
      st.update();

      // draw new caret
      if (caret == null) {
        caret = newCaret;
      } else {
        caret.x = newCaret.x;
        caret.y = newCaret.y;
      }
      if (ct.getImage() != null) {
        gc.drawImage(ct.getImage(), caret.x, caret.y);
      } else {
        gc.drawLine(caret.x, caret.y, caret.x, caret.y + size.y);
      }

      gc.dispose();
View Full Code Here

      return;
    }
    IMovementMediator moveMediator = new InlineEditingNavigationMediator(
        new ActionData(ActionData.KEYBOARD_NAVAGATION, null));
    DesignPosition position = range.getEndPosition();
    Caret caret = _viewer.getCaret();
    Point point = null;
    DesignPosition newPos = position;
    EditPart containerpart = null, rootpart1;
    if (_up) {
      point = new Point(((CaretPositionTracker) _viewer).getXoffset(),
          caret.getBounds().y);
    } else {
      point = new Point(((CaretPositionTracker) _viewer).getXoffset(),
          caret.getBounds().y + caret.getBounds().height);

    }
    rootpart1 = getRootEditablePart(position.getContainerPart(),
        moveMediator);// position.getContainerPart();
    if (rootpart1 == null) {
View Full Code Here

      Canvas parentCanvas = (Canvas) getControl();
      if (parentCanvas == null || parentCanvas.isDisposed()) {
        return null;
      }

      _caret = new Caret(parentCanvas, 0);
      _caretUpdater.connectViewer();
    }
    return _caret;

  }
View Full Code Here

  /**
   *
   */
  public void updateHorizontalPos() {
    Caret caret = getCaret();
    if (caret != null && !caret.isDisposed() && isInRangeMode()) {
      org.eclipse.swt.graphics.Rectangle rect = caret.getBounds();
      setXoffset(rect.x);
    }
  }
View Full Code Here

      Canvas parentCanvas = (Canvas) getControl();
      if (parentCanvas == null || parentCanvas.isDisposed()) {
        return null;
      }

      _caret = new Caret(parentCanvas, 0);
      _caretUpdater.connectViewer();
    }
    return _caret;

  }
View Full Code Here

  /**
   *
   */
  public void updateHorizontalPos() {
    Caret caret = getCaret();
    if (caret != null && !caret.isDisposed() && isInRangeMode()) {
      org.eclipse.swt.graphics.Rectangle rect = caret.getBounds();
      setXoffset(rect.x);
    }
  }
View Full Code Here

TOP

Related Classes of org.eclipse.swt.widgets.Caret

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.