/** {@inheritDoc} */ @Override public EditPart getTargetEditPart(Request request) { if (ERDiagramTransferDragSourceListener.REQUEST_TYPE_ADD_COLUMN_GROUP.equals(request.getType()) || ERDiagramTransferDragSourceListener.REQUEST_TYPE_MOVE_COLUMN_GROUP.equals( request.getType())) { DirectEditRequest editRequest = (DirectEditRequest) request; TableView tableView = (TableView) this.getHost().getModel(); ColumnGroup columnGroup = (ColumnGroup) ((Map) editRequest.getDirectEditFeature()).get("group"); if (!tableView.getColumns().contains(columnGroup)) { return getHost(); } } else if (ERDiagramTransferDragSourceListener.REQUEST_TYPE_ADD_WORD.equals( request.getType())) { return getHost(); } else if (ERDiagramTransferDragSourceListener.REQUEST_TYPE_MOVE_COLUMN.equals( request.getType())) { return getHost(); } return super.getTargetEditPart(request); }
/** {@inheritDoc} */ @Override public Command getCommand(Request request) { try { if (ERDiagramTransferDragSourceListener.REQUEST_TYPE_ADD_COLUMN_GROUP.equals( request.getType())) { DirectEditRequest editRequest = (DirectEditRequest) request; TableView tableView = (TableView) this.getHost().getModel(); ColumnGroup columnGroup = (ColumnGroup) ((Map) editRequest.getDirectEditFeature()).get("group"); if (!tableView.getColumns().contains(columnGroup)) { return new AddColumnGroupCommand( tableView, columnGroup, this.getColumnIndex(editRequest)); } } else if (ERDiagramTransferDragSourceListener.REQUEST_TYPE_ADD_WORD.equals( request.getType())) { DirectEditRequest editRequest = (DirectEditRequest) request; TableView table = (TableView) this.getHost().getModel(); Word word = (Word) editRequest.getDirectEditFeature(); return new AddWordCommand(table, word, this.getColumnIndex(editRequest)); } else if (ERDiagramTransferDragSourceListener.REQUEST_TYPE_MOVE_COLUMN.equals( request.getType())) { DirectEditRequest editRequest = (DirectEditRequest) request; return ColumnSelectionHandlesEditPolicy.createMoveColumnCommand( editRequest, this.getHost().getViewer(), (TableView) this.getHost().getModel(), this.getColumnIndex(editRequest)); } else if (ERDiagramTransferDragSourceListener.REQUEST_TYPE_MOVE_COLUMN_GROUP.equals( request.getType())) { DirectEditRequest editRequest = (DirectEditRequest) request; return ColumnSelectionHandlesEditPolicy.createMoveColumnGroupCommand( editRequest, (TableView) this.getHost().getModel(), this.getColumnIndex(editRequest)); } } catch (Exception e) { Activator.showExceptionDialog(e); } return super.getCommand(request); }