Move alltests plugin to the Trace Compass namespace
[deliverable/tracecompass.git] / org.eclipse.tracecompass.tmf.ui / src / org / eclipse / linuxtools / tmf / ui / views / uml2sd / core / SyncMessageReturn.java
CommitLineData
73005152 1/**********************************************************************
11252342 2 * Copyright (c) 2005, 2013 IBM Corporation, Ericsson
73005152
BH
3 * All rights reserved. This program and the accompanying materials
4 * are made available under the terms of the Eclipse Public License v1.0
5 * which accompanies this distribution, and is available at
6 * http://www.eclipse.org/legal/epl-v10.html
c8422608
AM
7 *
8 * Contributors:
9 * IBM - Initial API and implementation
10 * Bernd Hufmann - Updated for TMF
73005152 11 **********************************************************************/
c8422608 12
73005152
BH
13package org.eclipse.linuxtools.tmf.ui.views.uml2sd.core;
14
15import org.eclipse.linuxtools.tmf.ui.views.uml2sd.drawings.IGC;
df0b8ff4 16import org.eclipse.linuxtools.tmf.ui.views.uml2sd.preferences.ISDPreferences;
3145ec83 17import org.eclipse.linuxtools.tmf.ui.views.uml2sd.preferences.SDViewPref;
73005152
BH
18
19/**
20 * The message return graph node implementation.<br>
21 * This class differs on the SynMessage class only on the drawing line style (dashed instead of plain line).<br>
22 * Message return are generally associated to a message. This means, they are connected to the same lifelines than the
23 * associated message but in the opposite direction and for a different event occurrence.<br>
24 * <br>
25 * WARNING: The association validity is not checked, it is not necessary to provide a valid association, not even needed
26 * to set an association to drawn a message with a message return style.<br>
c8422608
AM
27 *
28 *
73005152 29 * @see org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.SyncMessage SyncMessage for usage example
df0b8ff4 30 * @version 1.0
73005152 31 * @author sveyrier
c8422608 32 *
73005152
BH
33 */
34public class SyncMessageReturn extends SyncMessage {
35
df0b8ff4
BH
36 // ------------------------------------------------------------------------
37 // Constants
38 // ------------------------------------------------------------------------
39 /**
40 * The graphNode ID
41 */
42 public static final String SYNC_MESS_RET_TAG = "SyncMessageRet"; //$NON-NLS-1$
c8422608 43
df0b8ff4
BH
44 // ------------------------------------------------------------------------
45 // Attributes
46 // ------------------------------------------------------------------------
73005152
BH
47 /**
48 * The associated message(the message it is the return).
49 */
cab6c8ff 50 private SyncMessage fMessage = null;
73005152 51
df0b8ff4
BH
52 // ------------------------------------------------------------------------
53 // Constractors
54 // ------------------------------------------------------------------------
c8422608 55
df0b8ff4
BH
56 /**
57 * Default constructor
58 */
73005152 59 public SyncMessageReturn() {
cab6c8ff 60 setColorPrefId(ISDPreferences.PREF_SYNC_MESS_RET);
73005152
BH
61 }
62
df0b8ff4
BH
63 // ------------------------------------------------------------------------
64 // Methods
65 // ------------------------------------------------------------------------
73005152
BH
66 /**
67 * Set the associated message (the message it is the return).<br>
68 * Setting the association will activate the navigation in the default sequence diagram implementation to the
69 * message when the user right click on this message return.<br>
c8422608 70 *
73005152
BH
71 * @param parentMessage the message to associate
72 */
73 public void setMessage(SyncMessage parentMessage) {
eb63f5ff
BH
74 fMessage = parentMessage;
75 fMessage.setMessageReturn(this);
73005152
BH
76 }
77
78 /**
79 * Returns the syncMessage associated to this SyncMessageReturn
c8422608 80 *
73005152
BH
81 * @return the associated message
82 */
83 public SyncMessage getMessage() {
eb63f5ff 84 return fMessage;
73005152
BH
85 }
86
87 @Override
88 public void draw(IGC context) {
df0b8ff4 89 if (!isVisible()) {
73005152 90 return;
df0b8ff4 91 }
c8422608 92
3145ec83
BH
93 ISDPreferences pref = SDViewPref.getInstance();
94
73005152
BH
95 int oldStyle = context.getLineStyle();
96 // Message return are dashed
97 context.setLineStyle(context.getLineDotStyle());
df0b8ff4 98 // Draw it selected?
73005152 99 if (!isSelected()) {
cab6c8ff
BH
100 context.setBackground(pref.getBackGroundColor(getColorPrefId()));
101 context.setForeground(pref.getForeGroundColor(getColorPrefId()));
73005152
BH
102 }
103 super.draw(context);
104 // restore the context
105 context.setLineStyle(oldStyle);
106 }
107
108 @Override
109 public String getArrayId() {
110 return SYNC_MESS_RET_TAG;
111 }
112}
This page took 0.060271 seconds and 5 git commands to generate.