1 /**********************************************************************
2 * Copyright (c) 2005, 2006 IBM Corporation and others.
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
9 * IBM - Initial API and implementation
10 * Bernd Hufmann - Updated for TMF
11 **********************************************************************/
12 package org
.eclipse
.linuxtools
.tmf
.ui
.views
.uml2sd
.core
;
14 import org
.eclipse
.linuxtools
.tmf
.ui
.views
.uml2sd
.drawings
.IGC
;
15 import org
.eclipse
.linuxtools
.tmf
.ui
.views
.uml2sd
.preferences
.ISDPreferences
;
18 * The message return graph node implementation.<br>
19 * This class differs on the AsynMessage class only on the drawing line style (dashed instead of plain line).<br>
20 * Message return are generally associated to a message. This means, they are connected to the same lifelines than the
21 * associated message but in the opposite direction and for a different event occurrence.<br>
23 * WARNING: The association validity is not checked, it is not necessary to provide a valid association, not even needed
24 * to set an association to drawn a message with a message return style.<br>
27 * @see org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.AsyncMessage AsyncMessage for usage example
32 public class AsyncMessageReturn
extends AsyncMessage
{
34 // ------------------------------------------------------------------------
36 // ------------------------------------------------------------------------
38 * The grahNode ID constant
40 public static final String ASYNC_MESS_RET_TAG
= "AsyncMessageRet"; //$NON-NLS-1$
42 // ------------------------------------------------------------------------
44 // ------------------------------------------------------------------------
46 * The corresponding asynchronous message.
48 protected AsyncMessage message
;
50 // ------------------------------------------------------------------------
52 // ------------------------------------------------------------------------
54 * Default constructor.
56 public AsyncMessageReturn() {
57 prefId
= ISDPreferences
.PREF_ASYNC_MESS_RET
;
60 // ------------------------------------------------------------------------
62 // ------------------------------------------------------------------------
65 * Set the associated message (the message it is the return).<br>
66 * Setting the association will activate the navigation in the default sequence diagram implementation to the
67 * message when the user right click on this message return.<br>
69 * @param parentMessage the message to associate
71 public void setMessage(AsyncMessage parentMessage
) {
72 message
= parentMessage
;
77 * @see org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.AsyncMessage#draw(org.eclipse.linuxtools.tmf.ui.views.uml2sd.drawings.IGC)
80 public void draw(IGC context
) {
84 prefId
= ISDPreferences
.PREF_ASYNC_MESS_RET
;
85 int oldStyle
= context
.getLineStyle();
86 // Message return are dashed
87 context
.setLineStyle(context
.getLineDotStyle());
89 context
.setBackground(Frame
.getUserPref().getBackGroundColor(prefId
));
90 context
.setForeground(Frame
.getUserPref().getForeGroundColor(prefId
));
93 // restore the context
94 context
.setLineStyle(oldStyle
);
99 * @see org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.AsyncMessage#getArrayId()
102 public String
getArrayId() {
103 return ASYNC_MESS_RET_TAG
;