Changeset View
Changeset View
Standalone View
Standalone View
umbrello/umlwidgets/combinedfragmentwidget.cpp
Context not available. | |||||
235 | m_dashLines.push_back(new FloatingDashLineWidget(m_scene, Uml::ID::None, this)); | 235 | m_dashLines.push_back(new FloatingDashLineWidget(m_scene, Uml::ID::None, this)); | ||
---|---|---|---|---|---|
236 | m_scene->addWidgetCmd(m_dashLines.back()); | 236 | m_scene->addWidgetCmd(m_dashLines.back()); | ||
237 | } | 237 | } | ||
238 | | ||||
239 | switch (combinedfragmentType) { | ||||
240 | case Ref: | ||||
241 | setToolTip(QLatin1String("<b>Reference</b>" | ||||
242 | "<p>A <b>ref</b> Combined Fragment allows you to name the diagram.</p>")); | ||||
243 | break; | ||||
244 | case Opt: | ||||
245 | setToolTip(QLatin1String("<b>Option</b>" | ||||
246 | "<p><b>opt</b> represents a choice of behavior where " | ||||
247 | "either the (sole) operand happens or nothing happens. " | ||||
248 | "An option is semantically equivalent to an alternative " | ||||
249 | "Combined Fragment where there is one operand with " | ||||
250 | "non-empty content and the second operand is empty.</p>")); | ||||
251 | break; | ||||
252 | case Break: | ||||
253 | setToolTip(QLatin1String("<b>Break</b>" | ||||
254 | "<p><b>break</b> represents a breaking " | ||||
255 | "scenario in the sense that the operand is a scenario that is " | ||||
256 | "performed instead of the remainder of the enclosing Fragment. " | ||||
257 | "A break operator with a guard is chosen when the guard is true " | ||||
258 | "and the rest of the enclosing Interaction Fragment is ignored. " | ||||
259 | "When the guard of the break operand is false, the break operand " | ||||
260 | "is ignored and the rest of the enclosing Fragment is chosen. " | ||||
261 | "The choice between a break operand without a guard and the rest " | ||||
262 | "of the enclosing Interaction Fragment is done non-deterministically. " | ||||
263 | "A Combined Fragment with break should cover all Lifelines of the " | ||||
264 | "enclosing InteractionFragment.</p>")); | ||||
265 | break; | ||||
266 | case Loop: | ||||
267 | setToolTip(QLatin1String("<b>Loop</b>" | ||||
268 | "<p>The <b>loop</b> operand will be repeated a number of times. " | ||||
269 | "The Guard may include a lower and an upper number of iterations of the loop " | ||||
270 | "as well as a Boolean expression. The semantics is such that a loop will " | ||||
271 | "iterate the ‘minint’ number of times (given by the iteration expression " | ||||
272 | "in the guard) and at most the ‘maxint’ number of times. After the minimum " | ||||
273 | "number of iterations have executed and the Boolean expression is false the " | ||||
274 | "loop will terminate. The loop construct represents a recursive application " | ||||
275 | "of the seq operator where the loop operand is sequenced after the result of " | ||||
276 | "earlier iterations.</p>")); | ||||
277 | break; | ||||
278 | case Neg: | ||||
279 | setToolTip(QLatin1String("<b>Negative</b>" | ||||
280 | "<p><b>neg</b> represents " | ||||
281 | "traces that are defined to be invalid." | ||||
282 | "The set of traces that defined a Combined Fragment with " | ||||
283 | "negative is equal to the set of traces given by its (sole) operand, only that " | ||||
284 | "this set is a set of invalid rather than valid traces. All Interaction Fragments " | ||||
285 | "that are different from Negative are considered positive meaning that they " | ||||
286 | "describe traces that are valid and should be possible.</p>")); | ||||
287 | break; | ||||
288 | case Crit: | ||||
289 | setToolTip(QLatin1String("<b>Critical</b>" | ||||
290 | "<p><b>critical</b> represents a critical region. A " | ||||
291 | "critical region means that the traces of the region " | ||||
292 | "cannot be interleaved by other Occurrence Specifications " | ||||
293 | "(on those Lifelines covered by the region). This means " | ||||
294 | "that the region is treated atomically by the enclosing " | ||||
295 | "fragment when determining the set of valid traces. Even " | ||||
296 | "though enclosing Combined Fragments may imply that some " | ||||
297 | "Occurrence Specifications may interleave into the region, " | ||||
298 | "such as with par-operator, this is prevented by defining " | ||||
299 | "a region.</p>")); | ||||
300 | break; | ||||
301 | case Ass: | ||||
302 | setToolTip(QLatin1String("<b>Assertion</b>" | ||||
303 | "<p><b>assert</b> represents an assertion. The sequences " | ||||
304 | "of the operand of the assertion are the only valid " | ||||
305 | "continuations. All other continuations result in an " | ||||
306 | "invalid trace.</p>" | ||||
307 | )); | ||||
308 | break; | ||||
309 | case Alt: | ||||
310 | setToolTip(QLatin1String("<b>Alternative</b>" | ||||
311 | "<p><b>alt</b> represents a choice or " | ||||
312 | "alternatives of behavior. At most one of the " | ||||
313 | "operands will be chosen. The chosen operand " | ||||
314 | "must have an explicit or implicit guard expression " | ||||
315 | "that evaluates to true at this point in the " | ||||
316 | "interaction.</p>")); | ||||
317 | break; | ||||
318 | case Par: | ||||
319 | setToolTip(QLatin1String("<b>Parallel</b>" | ||||
320 | "<p><b>parallel</b> represents a parallel merge between " | ||||
321 | "the behaviors of the operands. The Occurrence Specifications " | ||||
322 | "of the different operands can be interleaved in any way as " | ||||
323 | "long as the ordering imposed by each operand as such is preserved.</p>")); | ||||
324 | break; | ||||
325 | default: | ||||
326 | break; | ||||
327 | } | ||||
238 | } | 328 | } | ||
239 | 329 | | |||
240 | /** | 330 | /** | ||
Context not available. |