use of org.eclipse.gef.requests.GroupRequest in project tdi-studio-se by Talend.
the class BusinessExtNodeLabelHostLayoutEditPolicy method getCommand.
/**
* @generated
*/
public Command getCommand(Request request) {
if (REQ_MOVE_CHILDREN.equals(request.getType())) {
ChangeBoundsRequest cbRequest = (ChangeBoundsRequest) request;
List extLabels = getExternalLabels(cbRequest);
if (!extLabels.isEmpty()) {
List editParts = cbRequest.getEditParts();
Command cmd = null;
if (realLayoutEditPolicy != null && editParts.size() > extLabels.size()) {
List other = new ArrayList(editParts);
other.removeAll(extLabels);
cbRequest.setEditParts(other);
cmd = realLayoutEditPolicy.getCommand(request);
}
cbRequest.setEditParts(extLabels);
Command extLabelsCmd = getMoveChildrenCommand(request);
cbRequest.setEditParts(editParts);
return cmd == null ? extLabelsCmd : cmd.chain(extLabelsCmd);
}
}
if (request instanceof GroupRequest) {
List extLabels = getExternalLabels((GroupRequest) request);
if (!extLabels.isEmpty()) {
return null;
}
}
return realLayoutEditPolicy == null ? null : realLayoutEditPolicy.getCommand(request);
}
use of org.eclipse.gef.requests.GroupRequest in project tdi-studio-se by Talend.
the class ConnLabelEditPart method createEditPolicies.
/*
* (non-Javadoc)
*
* @see org.eclipse.gef.editparts.AbstractEditPart#createEditPolicies()
*/
@Override
public void createEditPolicies() {
installEditPolicy(EditPolicy.GRAPHICAL_NODE_ROLE, new ConnTextMovePolicy());
installEditPolicy(EditPolicy.DIRECT_EDIT_ROLE, new ConnTextEditPolicy());
installEditPolicy(EditPolicy.COMPONENT_ROLE, new ConnectionEditPolicy() {
@Override
protected Command getDeleteCommand(GroupRequest request) {
if (((Connection) getHost().getParent().getModel()).isReadOnly()) {
return null;
}
List<Connection> connectionList = new ArrayList<Connection>();
for (int i = 0; i < request.getEditParts().size(); i++) {
if (request.getEditParts().get(i) instanceof ConnLabelEditPart) {
connectionList.add(((ConnectionLabel) ((ConnLabelEditPart) request.getEditParts().get(i)).getModel()).getConnection());
}
}
return new ConnectionDeleteCommand(connectionList);
}
});
}
use of org.eclipse.gef.requests.GroupRequest in project tdi-studio-se by Talend.
the class ConnectionPart method createEditPolicies.
/*
* (non-Javadoc)
*
* @see org.eclipse.gef.editparts.AbstractEditPart#createEditPolicies()
*/
@Override
protected void createEditPolicies() {
// Selection handle edit policy.
// Makes the connection show a feedback, when selected by the user.
installEditPolicy(EditPolicy.CONNECTION_ENDPOINTS_ROLE, new ConnectionEndpointEditPolicy());
// Allows the removal of the connection model element
installEditPolicy(EditPolicy.CONNECTION_ROLE, new ConnectionEditPolicy() {
@Override
protected Command getDeleteCommand(GroupRequest request) {
if (((Connection) getModel()).isReadOnly()) {
return null;
}
List<Connection> connectionList = new ArrayList<Connection>();
for (int i = 0; i < request.getEditParts().size(); i++) {
if (request.getEditParts().get(i) instanceof ConnectionPart) {
connectionList.add(((Connection) ((ConnectionPart) request.getEditParts().get(i)).getModel()));
}
}
return new ConnectionDeleteCommand(connectionList);
}
});
}
use of org.eclipse.gef.requests.GroupRequest in project tdi-studio-se by Talend.
the class RelationPart method createEditPolicies.
/*
* (non-Javadoc)
*
* @see org.eclipse.gef.editparts.AbstractEditPart#createEditPolicies()
*/
@Override
protected void createEditPolicies() {
// Selection handle edit policy.
// Makes the connection show a feedback, when selected by the user.
installEditPolicy(EditPolicy.CONNECTION_ENDPOINTS_ROLE, new ConnectionEndpointEditPolicy());
// Allows the removal of the connection model element
installEditPolicy(EditPolicy.CONNECTION_ROLE, new ConnectionEditPolicy() {
protected Command getDeleteCommand(GroupRequest request) {
List<Relation> connectionList = new ArrayList<Relation>();
for (int i = 0; i < request.getEditParts().size(); i++) {
if (request.getEditParts().get(i) instanceof RelationPart) {
connectionList.add(((Relation) ((RelationPart) request.getEditParts().get(i)).getModel()));
}
}
return new RelationDeleteCommand(connectionList);
}
});
}
use of org.eclipse.gef.requests.GroupRequest in project tdi-studio-se by Talend.
the class ErDiagramItemDeleteAction method createDeleteCommand.
public Command createDeleteCommand(List objects) {
if (objects.isEmpty()) {
return null;
}
if (!(objects.get(0) instanceof EditPart)) {
return null;
}
GroupRequest deleteReq = new GroupRequest(RequestConstants.REQ_DELETE);
deleteReq.setEditParts(objects);
EditPart object = (EditPart) objects.get(0);
Command cmd = object.getCommand(deleteReq);
return cmd;
}
Aggregations