Search in sources :

Example 1 with ConnectionEditPolicy

use of org.eclipse.gef.editpolicies.ConnectionEditPolicy 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);
        }
    });
}
Also used : ConnectionEditPolicy(org.eclipse.gef.editpolicies.ConnectionEditPolicy) ConnectionDeleteCommand(org.talend.designer.core.ui.editor.cmd.ConnectionDeleteCommand) Command(org.eclipse.gef.commands.Command) GroupRequest(org.eclipse.gef.requests.GroupRequest) PolylineConnection(org.eclipse.draw2d.PolylineConnection) ConnectionDeleteCommand(org.talend.designer.core.ui.editor.cmd.ConnectionDeleteCommand) ArrayList(java.util.ArrayList) List(java.util.List)

Example 2 with ConnectionEditPolicy

use of org.eclipse.gef.editpolicies.ConnectionEditPolicy 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);
        }
    });
}
Also used : ConnectionEndpointEditPolicy(org.eclipse.gef.editpolicies.ConnectionEndpointEditPolicy) ConnectionEditPolicy(org.eclipse.gef.editpolicies.ConnectionEditPolicy) ConnectionDeleteCommand(org.talend.designer.core.ui.editor.cmd.ConnectionDeleteCommand) Command(org.eclipse.gef.commands.Command) GroupRequest(org.eclipse.gef.requests.GroupRequest) IConnection(org.talend.core.model.process.IConnection) ConnectionDeleteCommand(org.talend.designer.core.ui.editor.cmd.ConnectionDeleteCommand) ArrayList(java.util.ArrayList) List(java.util.List)

Example 3 with ConnectionEditPolicy

use of org.eclipse.gef.editpolicies.ConnectionEditPolicy 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);
        }
    });
}
Also used : ConnectionEndpointEditPolicy(org.eclipse.gef.editpolicies.ConnectionEndpointEditPolicy) Relation(org.talend.sqlbuilder.erdiagram.ui.nodes.Relation) ConnectionEditPolicy(org.eclipse.gef.editpolicies.ConnectionEditPolicy) Command(org.eclipse.gef.commands.Command) RelationDeleteCommand(org.talend.sqlbuilder.erdiagram.ui.commands.RelationDeleteCommand) GroupRequest(org.eclipse.gef.requests.GroupRequest) RelationDeleteCommand(org.talend.sqlbuilder.erdiagram.ui.commands.RelationDeleteCommand) ArrayList(java.util.ArrayList) List(java.util.List)

Aggregations

ArrayList (java.util.ArrayList)3 List (java.util.List)3 Command (org.eclipse.gef.commands.Command)3 ConnectionEditPolicy (org.eclipse.gef.editpolicies.ConnectionEditPolicy)3 GroupRequest (org.eclipse.gef.requests.GroupRequest)3 ConnectionEndpointEditPolicy (org.eclipse.gef.editpolicies.ConnectionEndpointEditPolicy)2 ConnectionDeleteCommand (org.talend.designer.core.ui.editor.cmd.ConnectionDeleteCommand)2 PolylineConnection (org.eclipse.draw2d.PolylineConnection)1 IConnection (org.talend.core.model.process.IConnection)1 RelationDeleteCommand (org.talend.sqlbuilder.erdiagram.ui.commands.RelationDeleteCommand)1 Relation (org.talend.sqlbuilder.erdiagram.ui.nodes.Relation)1