tmf: Update copyright headers in tmf.ui
[deliverable/tracecompass.git] / org.eclipse.linuxtools.tmf.ui / src / org / eclipse / linuxtools / tmf / ui / views / uml2sd / core / ExecutionOccurrence.java
CommitLineData
73005152 1/**********************************************************************
c8422608 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
abbdd66a
AM
7 *
8 * Contributors:
c8422608
AM
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
3bd46eef 15import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
73005152
BH
16import org.eclipse.linuxtools.tmf.ui.views.uml2sd.drawings.IColor;
17import org.eclipse.linuxtools.tmf.ui.views.uml2sd.drawings.IGC;
18import org.eclipse.linuxtools.tmf.ui.views.uml2sd.drawings.IImage;
df0b8ff4 19import org.eclipse.linuxtools.tmf.ui.views.uml2sd.preferences.ISDPreferences;
3145ec83 20import org.eclipse.linuxtools.tmf.ui.views.uml2sd.preferences.SDViewPref;
73005152
BH
21
22/**
23 * ExecutionOccurrence is the UML2 execution occurrence graphical representation. It is a BasicExecutionOccurrence on
df0b8ff4 24 * which you can customize fill and/or.
abbdd66a 25 *
73005152 26 * @see org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.Lifeline Lifeline for more event occurence details
abbdd66a 27 * @version 1.0
73005152 28 * @author sveyrier
abbdd66a 29 *
73005152
BH
30 */
31public class ExecutionOccurrence extends BasicExecutionOccurrence implements ITimeRange {
32
df0b8ff4
BH
33 // ------------------------------------------------------------------------
34 // Attributes
35 // ------------------------------------------------------------------------
36 /**
abbdd66a 37 * Set the red, green and blue value of the optional color to be used for filling the execution occurrence.
df0b8ff4 38 */
eb63f5ff 39 protected int[] fFillRGB;
df0b8ff4
BH
40 /**
41 * Set the red, green and blue value of the optional color to be used for drawing the execution occurrence
42 */
eb63f5ff 43 protected int[] fStrokeRGB;
df0b8ff4
BH
44 /**
45 * The occurrence image.
46 */
eb63f5ff 47 protected IImage fImage;
df0b8ff4
BH
48 /**
49 * The top ellipses image.
50 */
eb63f5ff 51 protected IImage fEllipsesImage;
df0b8ff4 52 /**
abbdd66a 53 * The start time stamp.
df0b8ff4 54 */
eb63f5ff 55 protected ITmfTimestamp fStartTime;
df0b8ff4
BH
56 /**
57 * The end time stamp;
58 */
eb63f5ff 59 protected ITmfTimestamp fEndTime;
df0b8ff4 60 /**
abbdd66a 61 * Flag to indicate whether time information is available or not.
df0b8ff4 62 */
eb63f5ff 63 protected boolean fHasTimeInfo;
73005152 64
df0b8ff4
BH
65 // ------------------------------------------------------------------------
66 // Methods
67 // ------------------------------------------------------------------------
68 /*
69 * (non-Javadoc)
70 * @see org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.BasicExecutionOccurrence#setLifeline(org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.Lifeline)
73005152
BH
71 */
72 @Override
73 public void setLifeline(Lifeline theLifeline) {
74 super.setLifeline(theLifeline);
eb63f5ff
BH
75 if (fLifeline != null && fHasTimeInfo) {
76 fLifeline.fHasTimeInfo = true;
77 if (fLifeline.getFrame() != null) {
78 fLifeline.getFrame().setHasTimeInfo(true);
73005152
BH
79 }
80 }
81 }
82
83 /**
df0b8ff4 84 * Set the red, green and blue value of the optional color to be used for filling the execution occurrence.
abbdd66a 85 *
eb63f5ff
BH
86 * @param red A value for red.
87 * @param green A green value for green.
88 * @param blue A value blue.
89 */
90 public void setFillColor(int red, int green, int blue) {
91 fFillRGB = new int[3];
92 fFillRGB[0] = red;
93 fFillRGB[1] = green;
94 fFillRGB[2] = blue;
73005152
BH
95 }
96
97 /**
98 * Set the red, green and blue value of the optional color to be used for drawing the execution occurrence
abbdd66a 99 *
eb63f5ff
BH
100 * @param red A value for red.
101 * @param green A green value for green.
102 * @param blue A value blue.
103 */
104 public void setStrokeColor(int red, int green, int blue) {
105 fStrokeRGB = new int[3];
106 fStrokeRGB[0] = red;
107 fStrokeRGB[1] = green;
108 fStrokeRGB[2] = blue;
73005152
BH
109 }
110
df0b8ff4
BH
111 /**
112 * Set the corresponding image.
abbdd66a 113 *
eb63f5ff 114 * @param image A image to set.
df0b8ff4 115 */
eb63f5ff
BH
116 public void setImage(IImage image) {
117 fImage = image;
73005152
BH
118 }
119
df0b8ff4
BH
120 /**
121 * Set the top ellipses image.
abbdd66a 122 *
eb63f5ff 123 * @param image A image to set.
df0b8ff4 124 */
eb63f5ff
BH
125 public void setTopEllipsesImage(IImage image) {
126 fEllipsesImage = image;
73005152
BH
127 }
128
129 /**
df0b8ff4 130 * Set the time when the execution occurrence starts.
abbdd66a 131 *
73005152 132 * @param time the time when the execution occurrence starts
3bd46eef 133 * @since 2.0
73005152 134 */
d7dbf09a 135 public void setStartTime(ITmfTimestamp time) {
4593bd5b 136 fStartTime = time;
eb63f5ff
BH
137 fHasTimeInfo = true;
138 if (fLifeline != null) {
139 fLifeline.setTimeInfo(true);
73005152
BH
140 }
141 }
142
143 /**
df0b8ff4 144 * Set the time when the execution occurrence ends.
abbdd66a 145 *
73005152 146 * @param time the time when the execution occurrence ends
3bd46eef 147 * @since 2.0
73005152 148 */
d7dbf09a 149 public void setEndTime(ITmfTimestamp time) {
4593bd5b 150 fEndTime = time;
eb63f5ff
BH
151 fHasTimeInfo = true;
152 if (fLifeline != null) {
153 fLifeline.setTimeInfo(true);
73005152
BH
154 }
155 }
156
3bd46eef
AM
157 /**
158 * @since 2.0
73005152
BH
159 */
160 @Override
4df4581d 161 public ITmfTimestamp getStartTime() {
eb63f5ff 162 return fStartTime;
73005152
BH
163 }
164
3bd46eef
AM
165 /**
166 * @since 2.0
73005152
BH
167 */
168 @Override
4df4581d 169 public ITmfTimestamp getEndTime() {
eb63f5ff 170 return fEndTime;
73005152
BH
171 }
172
df0b8ff4
BH
173 /*
174 * (non-Javadoc)
175 * @see org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.ITimeRange#hasTimeInfo()
176 */
73005152
BH
177 @Override
178 public boolean hasTimeInfo() {
eb63f5ff 179 return fHasTimeInfo;
73005152
BH
180 }
181
df0b8ff4
BH
182 /*
183 * (non-Javadoc)
184 * @see org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.BasicExecutionOccurrence#draw(org.eclipse.linuxtools.tmf.ui.views.uml2sd.drawings.IGC)
185 */
73005152
BH
186 @Override
187 public void draw(IGC context) {
188 super.draw(context);
189 int x = getX();
190 int y = getY();
191 int width = getWidth();
192 int height = getHeight();
eb63f5ff
BH
193 if (fImage != null) {
194 context.drawImage(fImage, x + width - 4, y + height - 11, 8, 11);
73005152 195 }
eb63f5ff
BH
196 if (fEllipsesImage != null) {
197 context.drawImage(fEllipsesImage, x + width, y, 40, 10);
73005152
BH
198 }
199 }
200
df0b8ff4
BH
201 /*
202 * (non-Javadoc)
203 * @see org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.BasicExecutionOccurrence#setUnselectedFillColor(org.eclipse.linuxtools.tmf.ui.views.uml2sd.drawings.IGC)
73005152
BH
204 */
205 @Override
206 protected IColor setUnselectedFillColor(IGC context) {
3145ec83 207 ISDPreferences pref = SDViewPref.getInstance();
eb63f5ff
BH
208 if (fFillRGB != null) {
209 IColor tempFillColor = context.createColor(fFillRGB[0], fFillRGB[1], fFillRGB[2]);
3145ec83 210 if (pref.useGradienColor()) {
73005152 211 context.setGradientColor(tempFillColor);
3145ec83
BH
212 context.setForeground(pref.getForeGroundColor(ISDPreferences.PREF_EXEC));
213 context.setBackground(pref.getBackGroundColor(ISDPreferences.PREF_FRAME));
df0b8ff4 214 } else {
73005152 215 context.setBackground(tempFillColor);
df0b8ff4 216 }
73005152 217 return tempFillColor;
73005152 218 }
abbdd66a 219 return super.setUnselectedFillColor(context);
73005152
BH
220 }
221
df0b8ff4
BH
222 /*
223 * (non-Javadoc)
224 * @see org.eclipse.linuxtools.tmf.ui.views.uml2sd.core.BasicExecutionOccurrence#setUnselectedStrokeColor(org.eclipse.linuxtools.tmf.ui.views.uml2sd.drawings.IGC)
73005152
BH
225 */
226 @Override
227 protected IColor setUnselectedStrokeColor(IGC context) {
eb63f5ff
BH
228 if (fStrokeRGB != null) {
229 IColor tempStrokeColor = context.createColor(fStrokeRGB[0], fStrokeRGB[1], fStrokeRGB[2]);
73005152
BH
230 context.setForeground(tempStrokeColor);
231 return tempStrokeColor;
73005152 232 }
abbdd66a 233 return super.setUnselectedStrokeColor(context);
73005152
BH
234 }
235}
This page took 0.0463 seconds and 5 git commands to generate.