001: package newprocess.diagram.edit.parts;
002:
003: import newprocess.diagram.cust.policies.HighlightEditPolicy;
004: import newprocess.diagram.edit.policies.ConditionTermConditionProxyItemSemanticEditPolicy;
005:
006: import org.eclipse.draw2d.Connection;
007: import org.eclipse.draw2d.Graphics;
008: import org.eclipse.draw2d.PolylineDecoration;
009: import org.eclipse.draw2d.RotatableDecoration;
010: import org.eclipse.gmf.runtime.diagram.ui.editparts.ConnectionNodeEditPart;
011: import org.eclipse.gmf.runtime.diagram.ui.editpolicies.EditPolicyRoles;
012: import org.eclipse.gmf.runtime.draw2d.ui.figures.PolylineConnectionEx;
013: import org.eclipse.gmf.runtime.notation.View;
014:
015: /**
016: * @generated
017: */
018: public class ConditionTermConditionProxyEditPart extends
019: ConnectionNodeEditPart {
020: // needed to set the decorations
021: private ConnectionFigure connection = null;
022:
023: /**
024: * @generated
025: */
026: public static final int VISUAL_ID = 4004;
027:
028: /**
029: * @generated
030: */
031: public ConditionTermConditionProxyEditPart(View view) {
032: super (view);
033: }
034:
035: /**
036: * @generated NOT
037: * @author sh
038: */
039: protected void createDefaultEditPolicies() {
040: super .createDefaultEditPolicies();
041: installEditPolicy(EditPolicyRoles.SEMANTIC_ROLE,
042: new ConditionTermConditionProxyItemSemanticEditPolicy());
043: installEditPolicy(EditPolicyRoles.SNAP_FEEDBACK_ROLE,
044: new HighlightEditPolicy());
045: }
046:
047: /**
048: * Creates figure for this edit part.
049: *
050: * Body of this method does not depend on settings in generation model
051: * so you may safely remove <i>generated</i> tag and modify it.
052: *
053: * @generated NOT
054: * @author sh
055: */
056: protected Connection createConnectionFigure() {
057: connection = new ConnectionFigure();
058: return connection;
059: }
060:
061: /**
062: * If the Reference Term/Proxy is in the Precondition,
063: * the reference shows to the Term
064: * I the Reference Term/Proxy is in the Postcondition,
065: * the reference shows to the Proxy
066: *
067: * @author sh
068: */
069: protected void refreshVisuals() {
070: super .refreshVisuals();
071:
072: if (getSource() instanceof ConditionTermEditPart) {
073: ConditionTermEditPart port = (ConditionTermEditPart) getSource();
074:
075: // set SourceDecoration for the Precondition terms
076: if (port.getParent().getParent() instanceof SyncActivitySynActivityPreconditionCompartmentEditPart
077: || port.getParent().getParent() instanceof AsyncActivityAsyncActivityPreconditionCompartmentEditPart
078: || port.getParent().getParent() instanceof AsyncActivityAsyncActivityPreconditionCompartment2EditPart
079: || port.getParent().getParent() instanceof ListenerListenerPreconditionCompartmentEditPart
080: || port.getParent().getParent() instanceof ConclusionConclusionPostconditionCompartmentEditPart)
081: connection.setSourceDecoration(connection
082: .createSourceDecoration());
083:
084: // set TargetDecorations for the Postcondition terms
085: else if (port.getParent().getParent() instanceof SyncActivitySynActivityPostconditionCompartmentEditPart
086: || port.getParent().getParent() instanceof AsyncActivityAsyncActivityPostconditionCompartmentEditPart
087: || port.getParent().getParent() instanceof AsyncActivityAsyncActivityPostconditionCompartment2EditPart
088: || port.getParent().getParent() instanceof EventEventPostconditionCompartmentEditPart
089: || port.getParent().getParent() instanceof ExpansionExpansionPostconditionCompartmentEditPart)
090: connection.setTargetDecoration(connection
091: .createTargetDecoration());
092: }
093: }
094:
095: /**
096: * @generated
097: */
098: public class ConnectionFigure extends PolylineConnectionEx {
099:
100: /**
101: * @generated NOT
102: * @author sh
103: */
104: public ConnectionFigure() {
105: this .setFill(true);
106: this .setFillXOR(false);
107: this .setOutline(true);
108: this .setOutlineXOR(false);
109: this .setLineWidth(2);
110: this .setLineStyle(Graphics.LINE_SOLID);
111:
112: }
113:
114: /**
115: * @generated NOT
116: * @author sh
117: */
118: private RotatableDecoration createSourceDecoration() {
119: PolylineDecoration df = new PolylineDecoration();
120: df.setFill(true);
121: df.setFillXOR(false);
122: df.setOutline(true);
123: df.setOutlineXOR(false);
124: df.setLineWidth(2);
125: df.setLineStyle(Graphics.LINE_SOLID);
126: return df;
127: }
128:
129: /**
130: * @generated NOT
131: * @author sh
132: */
133: private RotatableDecoration createTargetDecoration() {
134: PolylineDecoration df = new PolylineDecoration();
135: df.setFill(true);
136: df.setFillXOR(false);
137: df.setOutline(true);
138: df.setOutlineXOR(false);
139: df.setLineWidth(2);
140: df.setLineStyle(Graphics.LINE_SOLID);
141: return df;
142: }
143: }
144:
145: }
|