コード例 #1
0
  /** @see org.eclipse.gef.tools.DirectEditManager#commit() */
  protected void commit() {
    Shell activeShell = Display.getCurrent().getActiveShell();
    if (activeShell != null
        && getCellEditor().getControl().getShell().equals(activeShell.getParent())) {
      Control[] children = activeShell.getChildren();
      if (children.length == 1 && children[0] instanceof Table) {
        /*
         * CONTENT ASSIST: focus is lost to the content assist pop up -
         * stay in focus
         */
        getCellEditor().getControl().setVisible(true);
        ((XtextStyledTextCellEditorEx) getCellEditor()).setDeactivationLock(true);
        return;
      }
    }

    // content assist hacks
    if (committed) {
      bringDown();
      return;
    }
    committed = true;
    super.commit();
  }