/**
   * @param curDockLocation2
   * @return
   */
  private void showFeedback(int location) {
    if (location == NOWHERE) return;

    Rectangle feedbackBounds = null;

    if (!onEdge) {
      Rectangle bounds = new Rectangle(ctfBounds.x, ctfBounds.y, ctfBounds.width, ctfBounds.height);
      // bounds = Display.getCurrent().map(dropCTF.getParent(), null, bounds);
      feedbackBounds = bounds;
    } else {
      Rectangle bounds = new Rectangle(ocBounds.x, ocBounds.y, ocBounds.width, ocBounds.height);
      feedbackBounds = bounds;
    }

    if (feedback != null) feedback.dispose();
    int side = 0;
    if (location == EModelService.ABOVE) {
      side = SWT.TOP;
    } else if (location == EModelService.BELOW) {
      side = SWT.BOTTOM;
    } else if (location == EModelService.LEFT_OF) {
      side = SWT.LEFT;
    } else if (location == EModelService.RIGHT_OF) {
      side = SWT.RIGHT;
    }

    float pct = (float) (onEdge ? 0.34 : 0.50);

    clearFeedback();

    feedback =
        new SplitFeedbackOverlay(
            dropCTF.getShell(), feedbackBounds, side, pct, getEnclosed(), getModified());
    feedback.setVisible(true);
  }
示例#2
0
 protected Shell getShell() {
   return folder.getShell();
 }