Fix reset of properties with default value
[qt:qtmodeling.git] / src / uml / qobjects / qumlprotocoltransitionobject.cpp
1 /****************************************************************************
2 **
3 ** Copyright (C) 2013 Sandro S. Andrade <sandroandrade@kde.org>
4 ** Contact: http://www.qt-project.org/legal
5 **
6 ** This file is part of the QtUml module of the Qt Toolkit.
7 **
8 ** $QT_BEGIN_LICENSE:LGPL$
9 ** Commercial License Usage
10 ** Licensees holding valid commercial Qt licenses may use this file in
11 ** accordance with the commercial license agreement provided with the
12 ** Software or, alternatively, in accordance with the terms contained in
13 ** a written agreement between you and Digia.  For licensing terms and
14 ** conditions see http://qt.digia.com/licensing.  For further information
15 ** use the contact form at http://qt.digia.com/contact-us.
16 **
17 ** GNU Lesser General Public License Usage
18 ** Alternatively, this file may be used under the terms of the GNU Lesser
19 ** General Public License version 2.1 as published by the Free Software
20 ** Foundation and appearing in the file LICENSE.LGPL included in the
21 ** packaging of this file.  Please review the following information to
22 ** ensure the GNU Lesser General Public License version 2.1 requirements
23 ** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
24 **
25 ** In addition, as a special exception, Digia gives you certain additional
26 ** rights.  These rights are described in the Digia Qt LGPL Exception
27 ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
28 **
29 ** GNU General Public License Usage
30 ** Alternatively, this file may be used under the terms of the GNU
31 ** General Public License version 3.0 as published by the Free Software
32 ** Foundation and appearing in the file LICENSE.GPL included in the
33 ** packaging of this file.  Please review the following information to
34 ** ensure the GNU General Public License version 3.0 requirements will be
35 ** met: http://www.gnu.org/copyleft/gpl.html.
36 **
37 **
38 ** $QT_END_LICENSE$
39 **
40 ****************************************************************************/
41 #include "qumlprotocoltransitionobject_p.h"
42 #include "private/qmodelingobject_p.h"
43
44 #include <QtUml/QUmlProtocolTransition>
45 #include <QtUml/QUmlBehavior>
46 #include <QtUml/QUmlClassifier>
47 #include <QtUml/QUmlComment>
48 #include <QtUml/QUmlConstraint>
49 #include <QtUml/QUmlDependency>
50 #include <QtUml/QUmlElement>
51 #include <QtUml/QUmlElementImport>
52 #include <QtUml/QUmlNamedElement>
53 #include <QtUml/QUmlNamespace>
54 #include <QtUml/QUmlOperation>
55 #include <QtUml/QUmlPackage>
56 #include <QtUml/QUmlPackageableElement>
57 #include <QtUml/QUmlPackageImport>
58 #include <QtUml/QUmlRedefinableElement>
59 #include <QtUml/QUmlRegion>
60 #include <QtUml/QUmlStateMachine>
61 #include <QtUml/QUmlStringExpression>
62 #include <QtUml/QUmlTransition>
63 #include <QtUml/QUmlTrigger>
64 #include <QtUml/QUmlVertex>
65
66 QT_BEGIN_NAMESPACE
67
68 QUmlProtocolTransitionObject::QUmlProtocolTransitionObject(QUmlProtocolTransition *modelingElement)
69 {
70     setProperty("modelingElement", QVariant::fromValue(static_cast<QModelingElement *>(modelingElement)));
71     setGroupProperties();
72     setPropertyData();
73 }
74
75 // OWNED ATTRIBUTES [Element]
76
77 const QSet<QObject *> QUmlProtocolTransitionObject::ownedComments() const
78 {
79     QSet<QObject *> set;
80     foreach (QUmlComment *element, qmodelingelementproperty_cast<QUmlProtocolTransition *>(this)->ownedComments())
81         set.insert(element->asQModelingObject());
82     return set;
83 }
84
85 const QSet<QObject *> QUmlProtocolTransitionObject::ownedElements() const
86 {
87     QSet<QObject *> set;
88     foreach (QUmlElement *element, qmodelingelementproperty_cast<QUmlProtocolTransition *>(this)->ownedElements())
89         set.insert(element->asQModelingObject());
90     return set;
91 }
92
93 QObject *QUmlProtocolTransitionObject::owner() const
94 {
95     if (!qmodelingelementproperty_cast<QUmlProtocolTransition *>(this)->owner())
96         return 0;
97     else
98         return qmodelingelementproperty_cast<QUmlProtocolTransition *>(this)->owner()->asQModelingObject();
99 }
100
101 // OWNED ATTRIBUTES [NamedElement]
102
103 const QSet<QObject *> QUmlProtocolTransitionObject::clientDependencies() const
104 {
105     QSet<QObject *> set;
106     foreach (QUmlDependency *element, qmodelingelementproperty_cast<QUmlProtocolTransition *>(this)->clientDependencies())
107         set.insert(element->asQModelingObject());
108     return set;
109 }
110
111 QString QUmlProtocolTransitionObject::name() const
112 {
113     return qmodelingelementproperty_cast<QUmlProtocolTransition *>(this)->name();
114 }
115
116 QObject *QUmlProtocolTransitionObject::nameExpression() const
117 {
118     if (!qmodelingelementproperty_cast<QUmlProtocolTransition *>(this)->nameExpression())
119         return 0;
120     else
121         return qmodelingelementproperty_cast<QUmlProtocolTransition *>(this)->nameExpression()->asQModelingObject();
122 }
123
124 QObject *QUmlProtocolTransitionObject::namespace_() const
125 {
126     if (!qmodelingelementproperty_cast<QUmlProtocolTransition *>(this)->namespace_())
127         return 0;
128     else
129         return qmodelingelementproperty_cast<QUmlProtocolTransition *>(this)->namespace_()->asQModelingObject();
130 }
131
132 QString QUmlProtocolTransitionObject::qualifiedName() const
133 {
134     return qmodelingelementproperty_cast<QUmlProtocolTransition *>(this)->qualifiedName();
135 }
136
137 QtUml::VisibilityKind QUmlProtocolTransitionObject::visibility() const
138 {
139     return qmodelingelementproperty_cast<QUmlProtocolTransition *>(this)->visibility();
140 }
141
142 // OWNED ATTRIBUTES [RedefinableElement]
143
144 bool QUmlProtocolTransitionObject::isLeaf() const
145 {
146     return qmodelingelementproperty_cast<QUmlProtocolTransition *>(this)->isLeaf();
147 }
148
149 const QSet<QObject *> QUmlProtocolTransitionObject::redefinedElements() const
150 {
151     QSet<QObject *> set;
152     foreach (QUmlRedefinableElement *element, qmodelingelementproperty_cast<QUmlProtocolTransition *>(this)->redefinedElements())
153         set.insert(element->asQModelingObject());
154     return set;
155 }
156
157 // OWNED ATTRIBUTES [Namespace]
158
159 const QSet<QObject *> QUmlProtocolTransitionObject::elementImports() const
160 {
161     QSet<QObject *> set;
162     foreach (QUmlElementImport *element, qmodelingelementproperty_cast<QUmlProtocolTransition *>(this)->elementImports())
163         set.insert(element->asQModelingObject());
164     return set;
165 }
166
167 const QSet<QObject *> QUmlProtocolTransitionObject::importedMembers() const
168 {
169     QSet<QObject *> set;
170     foreach (QUmlPackageableElement *element, qmodelingelementproperty_cast<QUmlProtocolTransition *>(this)->importedMembers())
171         set.insert(element->asQModelingObject());
172     return set;
173 }
174
175 const QSet<QObject *> QUmlProtocolTransitionObject::members() const
176 {
177     QSet<QObject *> set;
178     foreach (QUmlNamedElement *element, qmodelingelementproperty_cast<QUmlProtocolTransition *>(this)->members())
179         set.insert(element->asQModelingObject());
180     return set;
181 }
182
183 const QSet<QObject *> QUmlProtocolTransitionObject::ownedMembers() const
184 {
185     QSet<QObject *> set;
186     foreach (QUmlNamedElement *element, qmodelingelementproperty_cast<QUmlProtocolTransition *>(this)->ownedMembers())
187         set.insert(element->asQModelingObject());
188     return set;
189 }
190
191 const QSet<QObject *> QUmlProtocolTransitionObject::ownedRules() const
192 {
193     QSet<QObject *> set;
194     foreach (QUmlConstraint *element, qmodelingelementproperty_cast<QUmlProtocolTransition *>(this)->ownedRules())
195         set.insert(element->asQModelingObject());
196     return set;
197 }
198
199 const QSet<QObject *> QUmlProtocolTransitionObject::packageImports() const
200 {
201     QSet<QObject *> set;
202     foreach (QUmlPackageImport *element, qmodelingelementproperty_cast<QUmlProtocolTransition *>(this)->packageImports())
203         set.insert(element->asQModelingObject());
204     return set;
205 }
206
207 // OWNED ATTRIBUTES [Transition]
208
209 QObject *QUmlProtocolTransitionObject::container() const
210 {
211     if (!qmodelingelementproperty_cast<QUmlProtocolTransition *>(this)->container())
212         return 0;
213     else
214         return qmodelingelementproperty_cast<QUmlProtocolTransition *>(this)->container()->asQModelingObject();
215 }
216
217 QObject *QUmlProtocolTransitionObject::effect() const
218 {
219     if (!qmodelingelementproperty_cast<QUmlProtocolTransition *>(this)->effect())
220         return 0;
221     else
222         return qmodelingelementproperty_cast<QUmlProtocolTransition *>(this)->effect()->asQModelingObject();
223 }
224
225 QObject *QUmlProtocolTransitionObject::guard() const
226 {
227     if (!qmodelingelementproperty_cast<QUmlProtocolTransition *>(this)->guard())
228         return 0;
229     else
230         return qmodelingelementproperty_cast<QUmlProtocolTransition *>(this)->guard()->asQModelingObject();
231 }
232
233 QtUml::TransitionKind QUmlProtocolTransitionObject::kind() const
234 {
235     return qmodelingelementproperty_cast<QUmlProtocolTransition *>(this)->kind();
236 }
237
238 QObject *QUmlProtocolTransitionObject::redefinedTransition() const
239 {
240     if (!qmodelingelementproperty_cast<QUmlProtocolTransition *>(this)->redefinedTransition())
241         return 0;
242     else
243         return qmodelingelementproperty_cast<QUmlProtocolTransition *>(this)->redefinedTransition()->asQModelingObject();
244 }
245
246 QObject *QUmlProtocolTransitionObject::redefinitionContext() const
247 {
248     if (!qmodelingelementproperty_cast<QUmlProtocolTransition *>(this)->redefinitionContext())
249         return 0;
250     else
251         return qmodelingelementproperty_cast<QUmlProtocolTransition *>(this)->redefinitionContext()->asQModelingObject();
252 }
253
254 QObject *QUmlProtocolTransitionObject::source() const
255 {
256     if (!qmodelingelementproperty_cast<QUmlProtocolTransition *>(this)->source())
257         return 0;
258     else
259         return qmodelingelementproperty_cast<QUmlProtocolTransition *>(this)->source()->asQModelingObject();
260 }
261
262 QObject *QUmlProtocolTransitionObject::target() const
263 {
264     if (!qmodelingelementproperty_cast<QUmlProtocolTransition *>(this)->target())
265         return 0;
266     else
267         return qmodelingelementproperty_cast<QUmlProtocolTransition *>(this)->target()->asQModelingObject();
268 }
269
270 const QSet<QObject *> QUmlProtocolTransitionObject::triggers() const
271 {
272     QSet<QObject *> set;
273     foreach (QUmlTrigger *element, qmodelingelementproperty_cast<QUmlProtocolTransition *>(this)->triggers())
274         set.insert(element->asQModelingObject());
275     return set;
276 }
277
278 // OWNED ATTRIBUTES [ProtocolTransition]
279
280 QObject *QUmlProtocolTransitionObject::postCondition() const
281 {
282     if (!qmodelingelementproperty_cast<QUmlProtocolTransition *>(this)->postCondition())
283         return 0;
284     else
285         return qmodelingelementproperty_cast<QUmlProtocolTransition *>(this)->postCondition()->asQModelingObject();
286 }
287
288 QObject *QUmlProtocolTransitionObject::preCondition() const
289 {
290     if (!qmodelingelementproperty_cast<QUmlProtocolTransition *>(this)->preCondition())
291         return 0;
292     else
293         return qmodelingelementproperty_cast<QUmlProtocolTransition *>(this)->preCondition()->asQModelingObject();
294 }
295
296 const QSet<QObject *> QUmlProtocolTransitionObject::referred() const
297 {
298     QSet<QObject *> set;
299     foreach (QUmlOperation *element, qmodelingelementproperty_cast<QUmlProtocolTransition *>(this)->referred())
300         set.insert(element->asQModelingObject());
301     return set;
302 }
303
304 // OPERATIONS [Element]
305
306 QSet<QObject *> QUmlProtocolTransitionObject::allOwnedElements() const
307 {
308     QSet<QObject *> set;
309     foreach (QUmlElement *element, qmodelingelementproperty_cast<QUmlProtocolTransition *>(this)->allOwnedElements())
310         set.insert(element->asQModelingObject());
311     return set;
312 }
313
314 bool QUmlProtocolTransitionObject::mustBeOwned() const
315 {
316     return qmodelingelementproperty_cast<QUmlProtocolTransition *>(this)->mustBeOwned();
317 }
318
319 // OPERATIONS [NamedElement]
320
321 QList<QObject *> QUmlProtocolTransitionObject::allNamespaces() const
322 {
323     QList<QObject *> set;
324     foreach (QUmlNamespace *element, qmodelingelementproperty_cast<QUmlProtocolTransition *>(this)->allNamespaces())
325         set.append(element->asQModelingObject());
326     return set;
327 }
328
329 QSet<QObject *> QUmlProtocolTransitionObject::allOwningPackages() const
330 {
331     QSet<QObject *> set;
332     foreach (QUmlPackage *element, qmodelingelementproperty_cast<QUmlProtocolTransition *>(this)->allOwningPackages())
333         set.insert(element->asQModelingObject());
334     return set;
335 }
336
337 bool QUmlProtocolTransitionObject::isDistinguishableFrom(QObject *n, QObject *ns) const
338 {
339     return qmodelingelementproperty_cast<QUmlProtocolTransition *>(this)->isDistinguishableFrom(qmodelingelementproperty_cast<QUmlNamedElement *>(n), qmodelingelementproperty_cast<QUmlNamespace *>(ns));
340 }
341
342 QString QUmlProtocolTransitionObject::separator() const
343 {
344     return qmodelingelementproperty_cast<QUmlProtocolTransition *>(this)->separator();
345 }
346
347 // OPERATIONS [RedefinableElement]
348
349 bool QUmlProtocolTransitionObject::isRedefinitionContextValid(QObject *redefined) const
350 {
351     return qmodelingelementproperty_cast<QUmlProtocolTransition *>(this)->isRedefinitionContextValid(qmodelingelementproperty_cast<QUmlRedefinableElement *>(redefined));
352 }
353
354 // OPERATIONS [Namespace]
355
356 QSet<QObject *> QUmlProtocolTransitionObject::excludeCollisions(QSet<QObject *> imps) const
357 {
358     QSet<QUmlPackageableElement *> impsConverted;
359     foreach (QObject *object, imps)
360         impsConverted.insert(qmodelingelementproperty_cast<QUmlPackageableElement *>(object));
361     QSet<QObject *> set;
362     foreach (QUmlPackageableElement *element, qmodelingelementproperty_cast<QUmlProtocolTransition *>(this)->excludeCollisions(impsConverted))
363         set.insert(element->asQModelingObject());
364     return set;
365 }
366
367 QSet<QString> QUmlProtocolTransitionObject::getNamesOfMember(QObject *element) const
368 {
369     return qmodelingelementproperty_cast<QUmlProtocolTransition *>(this)->getNamesOfMember(qmodelingelementproperty_cast<QUmlNamedElement *>(element));
370 }
371
372 QSet<QObject *> QUmlProtocolTransitionObject::importMembers(QSet<QObject *> imps) const
373 {
374     QSet<QUmlPackageableElement *> impsConverted;
375     foreach (QObject *object, imps)
376         impsConverted.insert(qmodelingelementproperty_cast<QUmlPackageableElement *>(object));
377     QSet<QObject *> set;
378     foreach (QUmlPackageableElement *element, qmodelingelementproperty_cast<QUmlProtocolTransition *>(this)->importMembers(impsConverted))
379         set.insert(element->asQModelingObject());
380     return set;
381 }
382
383 bool QUmlProtocolTransitionObject::membersAreDistinguishable() const
384 {
385     return qmodelingelementproperty_cast<QUmlProtocolTransition *>(this)->membersAreDistinguishable();
386 }
387
388 // OPERATIONS [Transition]
389
390 QObject *QUmlProtocolTransitionObject::containingStateMachine() const
391 {
392     if (!qmodelingelementproperty_cast<QUmlProtocolTransition *>(this)->containingStateMachine())
393         return 0;
394     else
395         return qmodelingelementproperty_cast<QUmlProtocolTransition *>(this)->containingStateMachine()->asQModelingObject();
396 }
397
398 bool QUmlProtocolTransitionObject::isConsistentWith(QObject *redefinee) const
399 {
400     return qmodelingelementproperty_cast<QUmlProtocolTransition *>(this)->isConsistentWith(qmodelingelementproperty_cast<QUmlRedefinableElement *>(redefinee));
401 }
402
403 // SLOTS FOR OWNED ATTRIBUTES [Element]
404
405 void QUmlProtocolTransitionObject::addOwnedComment(QObject *ownedComment)
406 {
407     qmodelingelementproperty_cast<QUmlProtocolTransition *>(this)->addOwnedComment(qmodelingelementproperty_cast<QUmlComment *>(ownedComment));
408 }
409
410 void QUmlProtocolTransitionObject::removeOwnedComment(QObject *ownedComment)
411 {
412     qmodelingelementproperty_cast<QUmlProtocolTransition *>(this)->removeOwnedComment(qmodelingelementproperty_cast<QUmlComment *>(ownedComment));
413 }
414
415 void QUmlProtocolTransitionObject::addOwnedElement(QObject *ownedElement)
416 {
417     qmodelingelementproperty_cast<QUmlProtocolTransition *>(this)->addOwnedElement(qmodelingelementproperty_cast<QUmlElement *>(ownedElement));
418 }
419
420 void QUmlProtocolTransitionObject::removeOwnedElement(QObject *ownedElement)
421 {
422     qmodelingelementproperty_cast<QUmlProtocolTransition *>(this)->removeOwnedElement(qmodelingelementproperty_cast<QUmlElement *>(ownedElement));
423 }
424
425 void QUmlProtocolTransitionObject::setOwner(QObject *owner)
426 {
427     qmodelingelementproperty_cast<QUmlProtocolTransition *>(this)->setOwner(qmodelingelementproperty_cast<QUmlElement *>(owner));
428 }
429
430 // SLOTS FOR OWNED ATTRIBUTES [NamedElement]
431
432 void QUmlProtocolTransitionObject::addClientDependency(QObject *clientDependency)
433 {
434     qmodelingelementproperty_cast<QUmlProtocolTransition *>(this)->addClientDependency(qmodelingelementproperty_cast<QUmlDependency *>(clientDependency));
435 }
436
437 void QUmlProtocolTransitionObject::removeClientDependency(QObject *clientDependency)
438 {
439     qmodelingelementproperty_cast<QUmlProtocolTransition *>(this)->removeClientDependency(qmodelingelementproperty_cast<QUmlDependency *>(clientDependency));
440 }
441
442 void QUmlProtocolTransitionObject::setName(QString name)
443 {
444     qmodelingelementproperty_cast<QUmlProtocolTransition *>(this)->setName(name);
445 }
446
447 void QUmlProtocolTransitionObject::setNameExpression(QObject *nameExpression)
448 {
449     qmodelingelementproperty_cast<QUmlProtocolTransition *>(this)->setNameExpression(qmodelingelementproperty_cast<QUmlStringExpression *>(nameExpression));
450 }
451
452 void QUmlProtocolTransitionObject::setNamespace(QObject *namespace_)
453 {
454     qmodelingelementproperty_cast<QUmlProtocolTransition *>(this)->setNamespace(qmodelingelementproperty_cast<QUmlNamespace *>(namespace_));
455 }
456
457 void QUmlProtocolTransitionObject::setQualifiedName(QString qualifiedName)
458 {
459     qmodelingelementproperty_cast<QUmlProtocolTransition *>(this)->setQualifiedName(qualifiedName);
460 }
461
462 void QUmlProtocolTransitionObject::setVisibility(QtUml::VisibilityKind visibility)
463 {
464     qmodelingelementproperty_cast<QUmlProtocolTransition *>(this)->setVisibility(visibility);
465 }
466
467 // SLOTS FOR OWNED ATTRIBUTES [RedefinableElement]
468
469 void QUmlProtocolTransitionObject::setLeaf(bool isLeaf)
470 {
471     qmodelingelementproperty_cast<QUmlProtocolTransition *>(this)->setLeaf(isLeaf);
472 }
473
474 void QUmlProtocolTransitionObject::unsetLeaf()
475 {
476     Q_D(QModelingObject);
477     setLeaf(false);
478     d->modifiedResettableProperties.removeAll(QStringLiteral("leaf"));
479 }
480
481 void QUmlProtocolTransitionObject::addRedefinedElement(QObject *redefinedElement)
482 {
483     qmodelingelementproperty_cast<QUmlProtocolTransition *>(this)->addRedefinedElement(qmodelingelementproperty_cast<QUmlRedefinableElement *>(redefinedElement));
484 }
485
486 void QUmlProtocolTransitionObject::removeRedefinedElement(QObject *redefinedElement)
487 {
488     qmodelingelementproperty_cast<QUmlProtocolTransition *>(this)->removeRedefinedElement(qmodelingelementproperty_cast<QUmlRedefinableElement *>(redefinedElement));
489 }
490 // SLOTS FOR OWNED ATTRIBUTES [Namespace]
491
492 void QUmlProtocolTransitionObject::addElementImport(QObject *elementImport)
493 {
494     qmodelingelementproperty_cast<QUmlProtocolTransition *>(this)->addElementImport(qmodelingelementproperty_cast<QUmlElementImport *>(elementImport));
495 }
496
497 void QUmlProtocolTransitionObject::removeElementImport(QObject *elementImport)
498 {
499     qmodelingelementproperty_cast<QUmlProtocolTransition *>(this)->removeElementImport(qmodelingelementproperty_cast<QUmlElementImport *>(elementImport));
500 }
501
502 void QUmlProtocolTransitionObject::addImportedMember(QObject *importedMember)
503 {
504     qmodelingelementproperty_cast<QUmlProtocolTransition *>(this)->addImportedMember(qmodelingelementproperty_cast<QUmlPackageableElement *>(importedMember));
505 }
506
507 void QUmlProtocolTransitionObject::removeImportedMember(QObject *importedMember)
508 {
509     qmodelingelementproperty_cast<QUmlProtocolTransition *>(this)->removeImportedMember(qmodelingelementproperty_cast<QUmlPackageableElement *>(importedMember));
510 }
511
512 void QUmlProtocolTransitionObject::addMember(QObject *member)
513 {
514     qmodelingelementproperty_cast<QUmlProtocolTransition *>(this)->addMember(qmodelingelementproperty_cast<QUmlNamedElement *>(member));
515 }
516
517 void QUmlProtocolTransitionObject::removeMember(QObject *member)
518 {
519     qmodelingelementproperty_cast<QUmlProtocolTransition *>(this)->removeMember(qmodelingelementproperty_cast<QUmlNamedElement *>(member));
520 }
521
522 void QUmlProtocolTransitionObject::addOwnedMember(QObject *ownedMember)
523 {
524     qmodelingelementproperty_cast<QUmlProtocolTransition *>(this)->addOwnedMember(qmodelingelementproperty_cast<QUmlNamedElement *>(ownedMember));
525 }
526
527 void QUmlProtocolTransitionObject::removeOwnedMember(QObject *ownedMember)
528 {
529     qmodelingelementproperty_cast<QUmlProtocolTransition *>(this)->removeOwnedMember(qmodelingelementproperty_cast<QUmlNamedElement *>(ownedMember));
530 }
531
532 void QUmlProtocolTransitionObject::addOwnedRule(QObject *ownedRule)
533 {
534     qmodelingelementproperty_cast<QUmlProtocolTransition *>(this)->addOwnedRule(qmodelingelementproperty_cast<QUmlConstraint *>(ownedRule));
535 }
536
537 void QUmlProtocolTransitionObject::removeOwnedRule(QObject *ownedRule)
538 {
539     qmodelingelementproperty_cast<QUmlProtocolTransition *>(this)->removeOwnedRule(qmodelingelementproperty_cast<QUmlConstraint *>(ownedRule));
540 }
541
542 void QUmlProtocolTransitionObject::addPackageImport(QObject *packageImport)
543 {
544     qmodelingelementproperty_cast<QUmlProtocolTransition *>(this)->addPackageImport(qmodelingelementproperty_cast<QUmlPackageImport *>(packageImport));
545 }
546
547 void QUmlProtocolTransitionObject::removePackageImport(QObject *packageImport)
548 {
549     qmodelingelementproperty_cast<QUmlProtocolTransition *>(this)->removePackageImport(qmodelingelementproperty_cast<QUmlPackageImport *>(packageImport));
550 }
551
552 // SLOTS FOR OWNED ATTRIBUTES [Transition]
553
554 void QUmlProtocolTransitionObject::setContainer(QObject *container)
555 {
556     qmodelingelementproperty_cast<QUmlProtocolTransition *>(this)->setContainer(qmodelingelementproperty_cast<QUmlRegion *>(container));
557 }
558
559 void QUmlProtocolTransitionObject::setEffect(QObject *effect)
560 {
561     qmodelingelementproperty_cast<QUmlProtocolTransition *>(this)->setEffect(qmodelingelementproperty_cast<QUmlBehavior *>(effect));
562 }
563
564 void QUmlProtocolTransitionObject::setGuard(QObject *guard)
565 {
566     qmodelingelementproperty_cast<QUmlProtocolTransition *>(this)->setGuard(qmodelingelementproperty_cast<QUmlConstraint *>(guard));
567 }
568
569 void QUmlProtocolTransitionObject::setKind(QtUml::TransitionKind kind)
570 {
571     qmodelingelementproperty_cast<QUmlProtocolTransition *>(this)->setKind(kind);
572 }
573
574 void QUmlProtocolTransitionObject::unsetKind()
575 {
576     Q_D(QModelingObject);
577     setKind(QtUml::TransitionKindExternal);
578     d->modifiedResettableProperties.removeAll(QStringLiteral("kind"));
579 }
580
581 void QUmlProtocolTransitionObject::setRedefinedTransition(QObject *redefinedTransition)
582 {
583     qmodelingelementproperty_cast<QUmlProtocolTransition *>(this)->setRedefinedTransition(qmodelingelementproperty_cast<QUmlTransition *>(redefinedTransition));
584 }
585
586 void QUmlProtocolTransitionObject::setRedefinitionContext(QObject *redefinitionContext)
587 {
588     qmodelingelementproperty_cast<QUmlProtocolTransition *>(this)->setRedefinitionContext(qmodelingelementproperty_cast<QUmlClassifier *>(redefinitionContext));
589 }
590
591 void QUmlProtocolTransitionObject::setSource(QObject *source)
592 {
593     qmodelingelementproperty_cast<QUmlProtocolTransition *>(this)->setSource(qmodelingelementproperty_cast<QUmlVertex *>(source));
594 }
595
596 void QUmlProtocolTransitionObject::setTarget(QObject *target)
597 {
598     qmodelingelementproperty_cast<QUmlProtocolTransition *>(this)->setTarget(qmodelingelementproperty_cast<QUmlVertex *>(target));
599 }
600
601 void QUmlProtocolTransitionObject::addTrigger(QObject *trigger)
602 {
603     qmodelingelementproperty_cast<QUmlProtocolTransition *>(this)->addTrigger(qmodelingelementproperty_cast<QUmlTrigger *>(trigger));
604 }
605
606 void QUmlProtocolTransitionObject::removeTrigger(QObject *trigger)
607 {
608     qmodelingelementproperty_cast<QUmlProtocolTransition *>(this)->removeTrigger(qmodelingelementproperty_cast<QUmlTrigger *>(trigger));
609 }
610
611 // SLOTS FOR OWNED ATTRIBUTES [ProtocolTransition]
612
613 void QUmlProtocolTransitionObject::setPostCondition(QObject *postCondition)
614 {
615     qmodelingelementproperty_cast<QUmlProtocolTransition *>(this)->setPostCondition(qmodelingelementproperty_cast<QUmlConstraint *>(postCondition));
616 }
617
618 void QUmlProtocolTransitionObject::setPreCondition(QObject *preCondition)
619 {
620     qmodelingelementproperty_cast<QUmlProtocolTransition *>(this)->setPreCondition(qmodelingelementproperty_cast<QUmlConstraint *>(preCondition));
621 }
622
623 void QUmlProtocolTransitionObject::addReferred(QObject *referred)
624 {
625     qmodelingelementproperty_cast<QUmlProtocolTransition *>(this)->addReferred(qmodelingelementproperty_cast<QUmlOperation *>(referred));
626 }
627
628 void QUmlProtocolTransitionObject::removeReferred(QObject *referred)
629 {
630     qmodelingelementproperty_cast<QUmlProtocolTransition *>(this)->removeReferred(qmodelingelementproperty_cast<QUmlOperation *>(referred));
631 }
632
633
634 void QUmlProtocolTransitionObject::setGroupProperties()
635 {
636     Q_D(QModelingObject);
637     const QMetaObject *metaObject = this->metaObject();
638
639     d->propertyGroups << QStringLiteral("QObject");
640     d->groupProperties.insert(QStringLiteral("QObject"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("objectName"))));
641
642     d->propertyGroups << QStringLiteral("QUmlElement");
643     d->groupProperties.insert(QStringLiteral("QUmlElement"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("ownedComments"))));
644     d->groupProperties.insert(QStringLiteral("QUmlElement"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("ownedElements"))));
645     d->groupProperties.insert(QStringLiteral("QUmlElement"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("owner"))));
646
647     d->propertyGroups << QStringLiteral("QUmlNamedElement");
648     d->groupProperties.insert(QStringLiteral("QUmlNamedElement"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("clientDependencies"))));
649     d->groupProperties.insert(QStringLiteral("QUmlNamedElement"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("name"))));
650     d->groupProperties.insert(QStringLiteral("QUmlNamedElement"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("nameExpression"))));
651     d->groupProperties.insert(QStringLiteral("QUmlNamedElement"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("namespace_"))));
652     d->groupProperties.insert(QStringLiteral("QUmlNamedElement"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("qualifiedName"))));
653     d->groupProperties.insert(QStringLiteral("QUmlNamedElement"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("visibility"))));
654
655     d->propertyGroups << QStringLiteral("QUmlRedefinableElement");
656     d->groupProperties.insert(QStringLiteral("QUmlRedefinableElement"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("isLeaf"))));
657     d->groupProperties.insert(QStringLiteral("QUmlRedefinableElement"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("redefinedElements"))));
658
659     d->propertyGroups << QStringLiteral("QUmlNamespace");
660     d->groupProperties.insert(QStringLiteral("QUmlNamespace"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("elementImports"))));
661     d->groupProperties.insert(QStringLiteral("QUmlNamespace"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("importedMembers"))));
662     d->groupProperties.insert(QStringLiteral("QUmlNamespace"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("members"))));
663     d->groupProperties.insert(QStringLiteral("QUmlNamespace"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("ownedMembers"))));
664     d->groupProperties.insert(QStringLiteral("QUmlNamespace"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("ownedRules"))));
665     d->groupProperties.insert(QStringLiteral("QUmlNamespace"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("packageImports"))));
666
667     d->propertyGroups << QStringLiteral("QUmlTransition");
668     d->groupProperties.insert(QStringLiteral("QUmlTransition"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("container"))));
669     d->groupProperties.insert(QStringLiteral("QUmlTransition"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("effect"))));
670     d->groupProperties.insert(QStringLiteral("QUmlTransition"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("guard"))));
671     d->groupProperties.insert(QStringLiteral("QUmlTransition"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("kind"))));
672     d->groupProperties.insert(QStringLiteral("QUmlTransition"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("redefinedTransition"))));
673     d->groupProperties.insert(QStringLiteral("QUmlTransition"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("redefinitionContext"))));
674     d->groupProperties.insert(QStringLiteral("QUmlTransition"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("source"))));
675     d->groupProperties.insert(QStringLiteral("QUmlTransition"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("target"))));
676     d->groupProperties.insert(QStringLiteral("QUmlTransition"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("triggers"))));
677
678     d->propertyGroups << QStringLiteral("QUmlProtocolTransition");
679     d->groupProperties.insert(QStringLiteral("QUmlProtocolTransition"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("postCondition"))));
680     d->groupProperties.insert(QStringLiteral("QUmlProtocolTransition"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("preCondition"))));
681     d->groupProperties.insert(QStringLiteral("QUmlProtocolTransition"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("referred"))));
682 }
683
684 void QUmlProtocolTransitionObject::setPropertyData()
685 {
686     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, ownedComments, AggregationRole, QStringLiteral("composite"));
687     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, ownedComments, PropertyClassRole, QStringLiteral("QUmlElement"));
688     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, ownedComments, IsDerivedRole, false);
689     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, ownedComments, IsDerivedUnionRole, false);
690     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, ownedComments, DocumentationRole, QStringLiteral("The Comments owned by this element."));
691     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, ownedComments, RedefinedPropertiesRole, QStringLiteral(""));
692     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, ownedComments, SubsettedPropertiesRole, QStringLiteral("Element-ownedElement"));
693     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, ownedComments, OppositeEndRole, QStringLiteral(""));
694
695     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, ownedElements, AggregationRole, QStringLiteral("composite"));
696     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, ownedElements, PropertyClassRole, QStringLiteral("QUmlElement"));
697     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, ownedElements, IsDerivedRole, true);
698     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, ownedElements, IsDerivedUnionRole, true);
699     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, ownedElements, DocumentationRole, QStringLiteral("The Elements owned by this element."));
700     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, ownedElements, RedefinedPropertiesRole, QStringLiteral(""));
701     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, ownedElements, SubsettedPropertiesRole, QStringLiteral(""));
702     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, ownedElements, OppositeEndRole, QStringLiteral("Element-owner"));
703
704     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, owner, AggregationRole, QStringLiteral("none"));
705     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, owner, PropertyClassRole, QStringLiteral("QUmlElement"));
706     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, owner, IsDerivedRole, true);
707     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, owner, IsDerivedUnionRole, true);
708     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, owner, DocumentationRole, QStringLiteral("The Element that owns this element."));
709     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, owner, RedefinedPropertiesRole, QStringLiteral(""));
710     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, owner, SubsettedPropertiesRole, QStringLiteral(""));
711     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, owner, OppositeEndRole, QStringLiteral("Element-ownedElement"));
712
713     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, clientDependencies, AggregationRole, QStringLiteral("none"));
714     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, clientDependencies, PropertyClassRole, QStringLiteral("QUmlNamedElement"));
715     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, clientDependencies, IsDerivedRole, false);
716     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, clientDependencies, IsDerivedUnionRole, false);
717     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, clientDependencies, DocumentationRole, QStringLiteral("Indicates the dependencies that reference the client."));
718     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, clientDependencies, RedefinedPropertiesRole, QStringLiteral(""));
719     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, clientDependencies, SubsettedPropertiesRole, QStringLiteral("A_source_directedRelationship-directedRelationship"));
720     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, clientDependencies, OppositeEndRole, QStringLiteral("Dependency-client"));
721
722     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, name, AggregationRole, QStringLiteral("none"));
723     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, name, PropertyClassRole, QStringLiteral("QUmlNamedElement"));
724     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, name, IsDerivedRole, false);
725     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, name, IsDerivedUnionRole, false);
726     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, name, DocumentationRole, QStringLiteral("The name of the NamedElement."));
727     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, name, RedefinedPropertiesRole, QStringLiteral(""));
728     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, name, SubsettedPropertiesRole, QStringLiteral(""));
729     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, name, OppositeEndRole, QStringLiteral(""));
730
731     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, nameExpression, AggregationRole, QStringLiteral("composite"));
732     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, nameExpression, PropertyClassRole, QStringLiteral("QUmlNamedElement"));
733     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, nameExpression, IsDerivedRole, false);
734     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, nameExpression, IsDerivedUnionRole, false);
735     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, nameExpression, DocumentationRole, QStringLiteral("The string expression used to define the name of this named element."));
736     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, nameExpression, RedefinedPropertiesRole, QStringLiteral(""));
737     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, nameExpression, SubsettedPropertiesRole, QStringLiteral("Element-ownedElement"));
738     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, nameExpression, OppositeEndRole, QStringLiteral(""));
739
740     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, namespace_, AggregationRole, QStringLiteral("none"));
741     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, namespace_, PropertyClassRole, QStringLiteral("QUmlNamedElement"));
742     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, namespace_, IsDerivedRole, true);
743     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, namespace_, IsDerivedUnionRole, true);
744     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, namespace_, DocumentationRole, QStringLiteral("Specifies the namespace that owns the NamedElement."));
745     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, namespace_, RedefinedPropertiesRole, QStringLiteral(""));
746     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, namespace_, SubsettedPropertiesRole, QStringLiteral("A_member_memberNamespace-memberNamespace Element-owner"));
747     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, namespace_, OppositeEndRole, QStringLiteral("Namespace-ownedMember"));
748
749     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, qualifiedName, AggregationRole, QStringLiteral("none"));
750     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, qualifiedName, PropertyClassRole, QStringLiteral("QUmlNamedElement"));
751     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, qualifiedName, IsDerivedRole, true);
752     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, qualifiedName, IsDerivedUnionRole, false);
753     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, qualifiedName, DocumentationRole, QStringLiteral("A name which allows the NamedElement to be identified within a hierarchy of nested Namespaces. It is constructed from the names of the containing namespaces starting at the root of the hierarchy and ending with the name of the NamedElement itself."));
754     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, qualifiedName, RedefinedPropertiesRole, QStringLiteral(""));
755     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, qualifiedName, SubsettedPropertiesRole, QStringLiteral(""));
756     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, qualifiedName, OppositeEndRole, QStringLiteral(""));
757
758     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, visibility, AggregationRole, QStringLiteral("none"));
759     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, visibility, PropertyClassRole, QStringLiteral("QUmlNamedElement"));
760     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, visibility, IsDerivedRole, false);
761     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, visibility, IsDerivedUnionRole, false);
762     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, visibility, DocumentationRole, QStringLiteral("Determines where the NamedElement appears within different Namespaces within the overall model, and its accessibility."));
763     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, visibility, RedefinedPropertiesRole, QStringLiteral(""));
764     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, visibility, SubsettedPropertiesRole, QStringLiteral(""));
765     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, visibility, OppositeEndRole, QStringLiteral(""));
766
767     Q_DECLARE_METAPROPERTY_INFO(QUmlRedefinableElement, isLeaf, AggregationRole, QStringLiteral("none"));
768     Q_DECLARE_METAPROPERTY_INFO(QUmlRedefinableElement, isLeaf, PropertyClassRole, QStringLiteral("QUmlRedefinableElement"));
769     Q_DECLARE_METAPROPERTY_INFO(QUmlRedefinableElement, isLeaf, IsDerivedRole, false);
770     Q_DECLARE_METAPROPERTY_INFO(QUmlRedefinableElement, isLeaf, IsDerivedUnionRole, false);
771     Q_DECLARE_METAPROPERTY_INFO(QUmlRedefinableElement, isLeaf, DocumentationRole, QStringLiteral("Indicates whether it is possible to further redefine a RedefinableElement. If the value is true, then it is not possible to further redefine the RedefinableElement. Note that this property is preserved through package merge operations; that is, the capability to redefine a RedefinableElement (i.e., isLeaf=false) must be preserved in the resulting RedefinableElement of a package merge operation where a RedefinableElement with isLeaf=false is merged with a matching RedefinableElement with isLeaf=true: the resulting RedefinableElement will have isLeaf=false. Default value is false."));
772     Q_DECLARE_METAPROPERTY_INFO(QUmlRedefinableElement, isLeaf, RedefinedPropertiesRole, QStringLiteral(""));
773     Q_DECLARE_METAPROPERTY_INFO(QUmlRedefinableElement, isLeaf, SubsettedPropertiesRole, QStringLiteral(""));
774     Q_DECLARE_METAPROPERTY_INFO(QUmlRedefinableElement, isLeaf, OppositeEndRole, QStringLiteral(""));
775
776     Q_DECLARE_METAPROPERTY_INFO(QUmlRedefinableElement, redefinedElements, AggregationRole, QStringLiteral("none"));
777     Q_DECLARE_METAPROPERTY_INFO(QUmlRedefinableElement, redefinedElements, PropertyClassRole, QStringLiteral("QUmlRedefinableElement"));
778     Q_DECLARE_METAPROPERTY_INFO(QUmlRedefinableElement, redefinedElements, IsDerivedRole, true);
779     Q_DECLARE_METAPROPERTY_INFO(QUmlRedefinableElement, redefinedElements, IsDerivedUnionRole, true);
780     Q_DECLARE_METAPROPERTY_INFO(QUmlRedefinableElement, redefinedElements, DocumentationRole, QStringLiteral("The redefinable element that is being redefined by this element."));
781     Q_DECLARE_METAPROPERTY_INFO(QUmlRedefinableElement, redefinedElements, RedefinedPropertiesRole, QStringLiteral(""));
782     Q_DECLARE_METAPROPERTY_INFO(QUmlRedefinableElement, redefinedElements, SubsettedPropertiesRole, QStringLiteral(""));
783     Q_DECLARE_METAPROPERTY_INFO(QUmlRedefinableElement, redefinedElements, OppositeEndRole, QStringLiteral(""));
784
785     Q_DECLARE_METAPROPERTY_INFO(QUmlRedefinableElement, redefinitionContexts, AggregationRole, QStringLiteral("none"));
786     Q_DECLARE_METAPROPERTY_INFO(QUmlRedefinableElement, redefinitionContexts, PropertyClassRole, QStringLiteral("QUmlRedefinableElement"));
787     Q_DECLARE_METAPROPERTY_INFO(QUmlRedefinableElement, redefinitionContexts, IsDerivedRole, true);
788     Q_DECLARE_METAPROPERTY_INFO(QUmlRedefinableElement, redefinitionContexts, IsDerivedUnionRole, true);
789     Q_DECLARE_METAPROPERTY_INFO(QUmlRedefinableElement, redefinitionContexts, DocumentationRole, QStringLiteral("References the contexts that this element may be redefined from."));
790     Q_DECLARE_METAPROPERTY_INFO(QUmlRedefinableElement, redefinitionContexts, RedefinedPropertiesRole, QStringLiteral(""));
791     Q_DECLARE_METAPROPERTY_INFO(QUmlRedefinableElement, redefinitionContexts, SubsettedPropertiesRole, QStringLiteral(""));
792     Q_DECLARE_METAPROPERTY_INFO(QUmlRedefinableElement, redefinitionContexts, OppositeEndRole, QStringLiteral(""));
793
794     Q_DECLARE_METAPROPERTY_INFO(QUmlNamespace, elementImports, AggregationRole, QStringLiteral("composite"));
795     Q_DECLARE_METAPROPERTY_INFO(QUmlNamespace, elementImports, PropertyClassRole, QStringLiteral("QUmlNamespace"));
796     Q_DECLARE_METAPROPERTY_INFO(QUmlNamespace, elementImports, IsDerivedRole, false);
797     Q_DECLARE_METAPROPERTY_INFO(QUmlNamespace, elementImports, IsDerivedUnionRole, false);
798     Q_DECLARE_METAPROPERTY_INFO(QUmlNamespace, elementImports, DocumentationRole, QStringLiteral("References the ElementImports owned by the Namespace."));
799     Q_DECLARE_METAPROPERTY_INFO(QUmlNamespace, elementImports, RedefinedPropertiesRole, QStringLiteral(""));
800     Q_DECLARE_METAPROPERTY_INFO(QUmlNamespace, elementImports, SubsettedPropertiesRole, QStringLiteral("A_source_directedRelationship-directedRelationship Element-ownedElement"));
801     Q_DECLARE_METAPROPERTY_INFO(QUmlNamespace, elementImports, OppositeEndRole, QStringLiteral("ElementImport-importingNamespace"));
802
803     Q_DECLARE_METAPROPERTY_INFO(QUmlNamespace, importedMembers, AggregationRole, QStringLiteral("none"));
804     Q_DECLARE_METAPROPERTY_INFO(QUmlNamespace, importedMembers, PropertyClassRole, QStringLiteral("QUmlNamespace"));
805     Q_DECLARE_METAPROPERTY_INFO(QUmlNamespace, importedMembers, IsDerivedRole, true);
806     Q_DECLARE_METAPROPERTY_INFO(QUmlNamespace, importedMembers, IsDerivedUnionRole, false);
807     Q_DECLARE_METAPROPERTY_INFO(QUmlNamespace, importedMembers, DocumentationRole, QStringLiteral("References the PackageableElements that are members of this Namespace as a result of either PackageImports or ElementImports."));
808     Q_DECLARE_METAPROPERTY_INFO(QUmlNamespace, importedMembers, RedefinedPropertiesRole, QStringLiteral(""));
809     Q_DECLARE_METAPROPERTY_INFO(QUmlNamespace, importedMembers, SubsettedPropertiesRole, QStringLiteral("Namespace-member"));
810     Q_DECLARE_METAPROPERTY_INFO(QUmlNamespace, importedMembers, OppositeEndRole, QStringLiteral(""));
811
812     Q_DECLARE_METAPROPERTY_INFO(QUmlNamespace, members, AggregationRole, QStringLiteral("none"));
813     Q_DECLARE_METAPROPERTY_INFO(QUmlNamespace, members, PropertyClassRole, QStringLiteral("QUmlNamespace"));
814     Q_DECLARE_METAPROPERTY_INFO(QUmlNamespace, members, IsDerivedRole, true);
815     Q_DECLARE_METAPROPERTY_INFO(QUmlNamespace, members, IsDerivedUnionRole, true);
816     Q_DECLARE_METAPROPERTY_INFO(QUmlNamespace, members, DocumentationRole, QStringLiteral("A collection of NamedElements identifiable within the Namespace, either by being owned or by being introduced by importing or inheritance."));
817     Q_DECLARE_METAPROPERTY_INFO(QUmlNamespace, members, RedefinedPropertiesRole, QStringLiteral(""));
818     Q_DECLARE_METAPROPERTY_INFO(QUmlNamespace, members, SubsettedPropertiesRole, QStringLiteral(""));
819     Q_DECLARE_METAPROPERTY_INFO(QUmlNamespace, members, OppositeEndRole, QStringLiteral(""));
820
821     Q_DECLARE_METAPROPERTY_INFO(QUmlNamespace, ownedMembers, AggregationRole, QStringLiteral("composite"));
822     Q_DECLARE_METAPROPERTY_INFO(QUmlNamespace, ownedMembers, PropertyClassRole, QStringLiteral("QUmlNamespace"));
823     Q_DECLARE_METAPROPERTY_INFO(QUmlNamespace, ownedMembers, IsDerivedRole, true);
824     Q_DECLARE_METAPROPERTY_INFO(QUmlNamespace, ownedMembers, IsDerivedUnionRole, true);
825     Q_DECLARE_METAPROPERTY_INFO(QUmlNamespace, ownedMembers, DocumentationRole, QStringLiteral("A collection of NamedElements owned by the Namespace."));
826     Q_DECLARE_METAPROPERTY_INFO(QUmlNamespace, ownedMembers, RedefinedPropertiesRole, QStringLiteral(""));
827     Q_DECLARE_METAPROPERTY_INFO(QUmlNamespace, ownedMembers, SubsettedPropertiesRole, QStringLiteral("Namespace-member Element-ownedElement"));
828     Q_DECLARE_METAPROPERTY_INFO(QUmlNamespace, ownedMembers, OppositeEndRole, QStringLiteral("NamedElement-namespace"));
829
830     Q_DECLARE_METAPROPERTY_INFO(QUmlNamespace, ownedRules, AggregationRole, QStringLiteral("composite"));
831     Q_DECLARE_METAPROPERTY_INFO(QUmlNamespace, ownedRules, PropertyClassRole, QStringLiteral("QUmlNamespace"));
832     Q_DECLARE_METAPROPERTY_INFO(QUmlNamespace, ownedRules, IsDerivedRole, false);
833     Q_DECLARE_METAPROPERTY_INFO(QUmlNamespace, ownedRules, IsDerivedUnionRole, false);
834     Q_DECLARE_METAPROPERTY_INFO(QUmlNamespace, ownedRules, DocumentationRole, QStringLiteral("Specifies a set of Constraints owned by this Namespace."));
835     Q_DECLARE_METAPROPERTY_INFO(QUmlNamespace, ownedRules, RedefinedPropertiesRole, QStringLiteral(""));
836     Q_DECLARE_METAPROPERTY_INFO(QUmlNamespace, ownedRules, SubsettedPropertiesRole, QStringLiteral("Namespace-ownedMember"));
837     Q_DECLARE_METAPROPERTY_INFO(QUmlNamespace, ownedRules, OppositeEndRole, QStringLiteral("Constraint-context"));
838
839     Q_DECLARE_METAPROPERTY_INFO(QUmlNamespace, packageImports, AggregationRole, QStringLiteral("composite"));
840     Q_DECLARE_METAPROPERTY_INFO(QUmlNamespace, packageImports, PropertyClassRole, QStringLiteral("QUmlNamespace"));
841     Q_DECLARE_METAPROPERTY_INFO(QUmlNamespace, packageImports, IsDerivedRole, false);
842     Q_DECLARE_METAPROPERTY_INFO(QUmlNamespace, packageImports, IsDerivedUnionRole, false);
843     Q_DECLARE_METAPROPERTY_INFO(QUmlNamespace, packageImports, DocumentationRole, QStringLiteral("References the PackageImports owned by the Namespace."));
844     Q_DECLARE_METAPROPERTY_INFO(QUmlNamespace, packageImports, RedefinedPropertiesRole, QStringLiteral(""));
845     Q_DECLARE_METAPROPERTY_INFO(QUmlNamespace, packageImports, SubsettedPropertiesRole, QStringLiteral("A_source_directedRelationship-directedRelationship Element-ownedElement"));
846     Q_DECLARE_METAPROPERTY_INFO(QUmlNamespace, packageImports, OppositeEndRole, QStringLiteral("PackageImport-importingNamespace"));
847
848     Q_DECLARE_METAPROPERTY_INFO(QUmlTransition, container, AggregationRole, QStringLiteral("none"));
849     Q_DECLARE_METAPROPERTY_INFO(QUmlTransition, container, PropertyClassRole, QStringLiteral("QUmlTransition"));
850     Q_DECLARE_METAPROPERTY_INFO(QUmlTransition, container, IsDerivedRole, false);
851     Q_DECLARE_METAPROPERTY_INFO(QUmlTransition, container, IsDerivedUnionRole, false);
852     Q_DECLARE_METAPROPERTY_INFO(QUmlTransition, container, DocumentationRole, QStringLiteral("Designates the region that owns this transition."));
853     Q_DECLARE_METAPROPERTY_INFO(QUmlTransition, container, RedefinedPropertiesRole, QStringLiteral(""));
854     Q_DECLARE_METAPROPERTY_INFO(QUmlTransition, container, SubsettedPropertiesRole, QStringLiteral("NamedElement-namespace"));
855     Q_DECLARE_METAPROPERTY_INFO(QUmlTransition, container, OppositeEndRole, QStringLiteral("Region-transition"));
856
857     Q_DECLARE_METAPROPERTY_INFO(QUmlTransition, effect, AggregationRole, QStringLiteral("composite"));
858     Q_DECLARE_METAPROPERTY_INFO(QUmlTransition, effect, PropertyClassRole, QStringLiteral("QUmlTransition"));
859     Q_DECLARE_METAPROPERTY_INFO(QUmlTransition, effect, IsDerivedRole, false);
860     Q_DECLARE_METAPROPERTY_INFO(QUmlTransition, effect, IsDerivedUnionRole, false);
861     Q_DECLARE_METAPROPERTY_INFO(QUmlTransition, effect, DocumentationRole, QStringLiteral("Specifies an optional behavior to be performed when the transition fires."));
862     Q_DECLARE_METAPROPERTY_INFO(QUmlTransition, effect, RedefinedPropertiesRole, QStringLiteral(""));
863     Q_DECLARE_METAPROPERTY_INFO(QUmlTransition, effect, SubsettedPropertiesRole, QStringLiteral("Element-ownedElement"));
864     Q_DECLARE_METAPROPERTY_INFO(QUmlTransition, effect, OppositeEndRole, QStringLiteral(""));
865
866     Q_DECLARE_METAPROPERTY_INFO(QUmlTransition, guard, AggregationRole, QStringLiteral("composite"));
867     Q_DECLARE_METAPROPERTY_INFO(QUmlTransition, guard, PropertyClassRole, QStringLiteral("QUmlTransition"));
868     Q_DECLARE_METAPROPERTY_INFO(QUmlTransition, guard, IsDerivedRole, false);
869     Q_DECLARE_METAPROPERTY_INFO(QUmlTransition, guard, IsDerivedUnionRole, false);
870     Q_DECLARE_METAPROPERTY_INFO(QUmlTransition, guard, DocumentationRole, QStringLiteral("A guard is a constraint that provides a fine-grained control over the firing of the transition. The guard is evaluated when an event occurrence is dispatched by the state machine. If the guard is true at that time, the transition may be enabled, otherwise, it is disabled. Guards should be pure expressions without side effects. Guard expressions with side effects are ill formed."));
871     Q_DECLARE_METAPROPERTY_INFO(QUmlTransition, guard, RedefinedPropertiesRole, QStringLiteral(""));
872     Q_DECLARE_METAPROPERTY_INFO(QUmlTransition, guard, SubsettedPropertiesRole, QStringLiteral("Namespace-ownedRule"));
873     Q_DECLARE_METAPROPERTY_INFO(QUmlTransition, guard, OppositeEndRole, QStringLiteral(""));
874
875     Q_DECLARE_METAPROPERTY_INFO(QUmlTransition, kind, AggregationRole, QStringLiteral("none"));
876     Q_DECLARE_METAPROPERTY_INFO(QUmlTransition, kind, PropertyClassRole, QStringLiteral("QUmlTransition"));
877     Q_DECLARE_METAPROPERTY_INFO(QUmlTransition, kind, IsDerivedRole, false);
878     Q_DECLARE_METAPROPERTY_INFO(QUmlTransition, kind, IsDerivedUnionRole, false);
879     Q_DECLARE_METAPROPERTY_INFO(QUmlTransition, kind, DocumentationRole, QStringLiteral("Indicates the precise type of the transition."));
880     Q_DECLARE_METAPROPERTY_INFO(QUmlTransition, kind, RedefinedPropertiesRole, QStringLiteral(""));
881     Q_DECLARE_METAPROPERTY_INFO(QUmlTransition, kind, SubsettedPropertiesRole, QStringLiteral(""));
882     Q_DECLARE_METAPROPERTY_INFO(QUmlTransition, kind, OppositeEndRole, QStringLiteral(""));
883
884     Q_DECLARE_METAPROPERTY_INFO(QUmlTransition, redefinedTransition, AggregationRole, QStringLiteral("none"));
885     Q_DECLARE_METAPROPERTY_INFO(QUmlTransition, redefinedTransition, PropertyClassRole, QStringLiteral("QUmlTransition"));
886     Q_DECLARE_METAPROPERTY_INFO(QUmlTransition, redefinedTransition, IsDerivedRole, false);
887     Q_DECLARE_METAPROPERTY_INFO(QUmlTransition, redefinedTransition, IsDerivedUnionRole, false);
888     Q_DECLARE_METAPROPERTY_INFO(QUmlTransition, redefinedTransition, DocumentationRole, QStringLiteral("The transition that is redefined by this transition."));
889     Q_DECLARE_METAPROPERTY_INFO(QUmlTransition, redefinedTransition, RedefinedPropertiesRole, QStringLiteral(""));
890     Q_DECLARE_METAPROPERTY_INFO(QUmlTransition, redefinedTransition, SubsettedPropertiesRole, QStringLiteral("RedefinableElement-redefinedElement"));
891     Q_DECLARE_METAPROPERTY_INFO(QUmlTransition, redefinedTransition, OppositeEndRole, QStringLiteral(""));
892
893     Q_DECLARE_METAPROPERTY_INFO(QUmlTransition, redefinitionContext, AggregationRole, QStringLiteral("none"));
894     Q_DECLARE_METAPROPERTY_INFO(QUmlTransition, redefinitionContext, PropertyClassRole, QStringLiteral("QUmlTransition"));
895     Q_DECLARE_METAPROPERTY_INFO(QUmlTransition, redefinitionContext, IsDerivedRole, true);
896     Q_DECLARE_METAPROPERTY_INFO(QUmlTransition, redefinitionContext, IsDerivedUnionRole, false);
897     Q_DECLARE_METAPROPERTY_INFO(QUmlTransition, redefinitionContext, DocumentationRole, QStringLiteral("References the classifier in which context this element may be redefined."));
898     Q_DECLARE_METAPROPERTY_INFO(QUmlTransition, redefinitionContext, RedefinedPropertiesRole, QStringLiteral("RedefinableElement-redefinitionContext"));
899     Q_DECLARE_METAPROPERTY_INFO(QUmlTransition, redefinitionContext, SubsettedPropertiesRole, QStringLiteral(""));
900     Q_DECLARE_METAPROPERTY_INFO(QUmlTransition, redefinitionContext, OppositeEndRole, QStringLiteral(""));
901
902     Q_DECLARE_METAPROPERTY_INFO(QUmlTransition, source, AggregationRole, QStringLiteral("none"));
903     Q_DECLARE_METAPROPERTY_INFO(QUmlTransition, source, PropertyClassRole, QStringLiteral("QUmlTransition"));
904     Q_DECLARE_METAPROPERTY_INFO(QUmlTransition, source, IsDerivedRole, false);
905     Q_DECLARE_METAPROPERTY_INFO(QUmlTransition, source, IsDerivedUnionRole, false);
906     Q_DECLARE_METAPROPERTY_INFO(QUmlTransition, source, DocumentationRole, QStringLiteral("Designates the originating vertex (state or pseudostate) of the transition."));
907     Q_DECLARE_METAPROPERTY_INFO(QUmlTransition, source, RedefinedPropertiesRole, QStringLiteral(""));
908     Q_DECLARE_METAPROPERTY_INFO(QUmlTransition, source, SubsettedPropertiesRole, QStringLiteral(""));
909     Q_DECLARE_METAPROPERTY_INFO(QUmlTransition, source, OppositeEndRole, QStringLiteral("Vertex-outgoing"));
910
911     Q_DECLARE_METAPROPERTY_INFO(QUmlTransition, target, AggregationRole, QStringLiteral("none"));
912     Q_DECLARE_METAPROPERTY_INFO(QUmlTransition, target, PropertyClassRole, QStringLiteral("QUmlTransition"));
913     Q_DECLARE_METAPROPERTY_INFO(QUmlTransition, target, IsDerivedRole, false);
914     Q_DECLARE_METAPROPERTY_INFO(QUmlTransition, target, IsDerivedUnionRole, false);
915     Q_DECLARE_METAPROPERTY_INFO(QUmlTransition, target, DocumentationRole, QStringLiteral("Designates the target vertex that is reached when the transition is taken."));
916     Q_DECLARE_METAPROPERTY_INFO(QUmlTransition, target, RedefinedPropertiesRole, QStringLiteral(""));
917     Q_DECLARE_METAPROPERTY_INFO(QUmlTransition, target, SubsettedPropertiesRole, QStringLiteral(""));
918     Q_DECLARE_METAPROPERTY_INFO(QUmlTransition, target, OppositeEndRole, QStringLiteral("Vertex-incoming"));
919
920     Q_DECLARE_METAPROPERTY_INFO(QUmlTransition, triggers, AggregationRole, QStringLiteral("composite"));
921     Q_DECLARE_METAPROPERTY_INFO(QUmlTransition, triggers, PropertyClassRole, QStringLiteral("QUmlTransition"));
922     Q_DECLARE_METAPROPERTY_INFO(QUmlTransition, triggers, IsDerivedRole, false);
923     Q_DECLARE_METAPROPERTY_INFO(QUmlTransition, triggers, IsDerivedUnionRole, false);
924     Q_DECLARE_METAPROPERTY_INFO(QUmlTransition, triggers, DocumentationRole, QStringLiteral("Specifies the triggers that may fire the transition."));
925     Q_DECLARE_METAPROPERTY_INFO(QUmlTransition, triggers, RedefinedPropertiesRole, QStringLiteral(""));
926     Q_DECLARE_METAPROPERTY_INFO(QUmlTransition, triggers, SubsettedPropertiesRole, QStringLiteral("Element-ownedElement"));
927     Q_DECLARE_METAPROPERTY_INFO(QUmlTransition, triggers, OppositeEndRole, QStringLiteral(""));
928
929     Q_DECLARE_METAPROPERTY_INFO(QUmlProtocolTransition, postCondition, AggregationRole, QStringLiteral("composite"));
930     Q_DECLARE_METAPROPERTY_INFO(QUmlProtocolTransition, postCondition, PropertyClassRole, QStringLiteral("QUmlProtocolTransition"));
931     Q_DECLARE_METAPROPERTY_INFO(QUmlProtocolTransition, postCondition, IsDerivedRole, false);
932     Q_DECLARE_METAPROPERTY_INFO(QUmlProtocolTransition, postCondition, IsDerivedUnionRole, false);
933     Q_DECLARE_METAPROPERTY_INFO(QUmlProtocolTransition, postCondition, DocumentationRole, QStringLiteral("Specifies the post condition of the transition which is the condition that should be obtained once the transition is triggered. This post condition is part of the post condition of the operation connected to the transition."));
934     Q_DECLARE_METAPROPERTY_INFO(QUmlProtocolTransition, postCondition, RedefinedPropertiesRole, QStringLiteral(""));
935     Q_DECLARE_METAPROPERTY_INFO(QUmlProtocolTransition, postCondition, SubsettedPropertiesRole, QStringLiteral("Namespace-ownedRule"));
936     Q_DECLARE_METAPROPERTY_INFO(QUmlProtocolTransition, postCondition, OppositeEndRole, QStringLiteral(""));
937
938     Q_DECLARE_METAPROPERTY_INFO(QUmlProtocolTransition, preCondition, AggregationRole, QStringLiteral("composite"));
939     Q_DECLARE_METAPROPERTY_INFO(QUmlProtocolTransition, preCondition, PropertyClassRole, QStringLiteral("QUmlProtocolTransition"));
940     Q_DECLARE_METAPROPERTY_INFO(QUmlProtocolTransition, preCondition, IsDerivedRole, false);
941     Q_DECLARE_METAPROPERTY_INFO(QUmlProtocolTransition, preCondition, IsDerivedUnionRole, false);
942     Q_DECLARE_METAPROPERTY_INFO(QUmlProtocolTransition, preCondition, DocumentationRole, QStringLiteral("Specifies the precondition of the transition. It specifies the condition that should be verified before triggering the transition. This guard condition added to the source state will be evaluated as part of the precondition of the operation referred by the transition if any."));
943     Q_DECLARE_METAPROPERTY_INFO(QUmlProtocolTransition, preCondition, RedefinedPropertiesRole, QStringLiteral(""));
944     Q_DECLARE_METAPROPERTY_INFO(QUmlProtocolTransition, preCondition, SubsettedPropertiesRole, QStringLiteral("Transition-guard"));
945     Q_DECLARE_METAPROPERTY_INFO(QUmlProtocolTransition, preCondition, OppositeEndRole, QStringLiteral(""));
946
947     Q_DECLARE_METAPROPERTY_INFO(QUmlProtocolTransition, referred, AggregationRole, QStringLiteral("none"));
948     Q_DECLARE_METAPROPERTY_INFO(QUmlProtocolTransition, referred, PropertyClassRole, QStringLiteral("QUmlProtocolTransition"));
949     Q_DECLARE_METAPROPERTY_INFO(QUmlProtocolTransition, referred, IsDerivedRole, true);
950     Q_DECLARE_METAPROPERTY_INFO(QUmlProtocolTransition, referred, IsDerivedUnionRole, false);
951     Q_DECLARE_METAPROPERTY_INFO(QUmlProtocolTransition, referred, DocumentationRole, QStringLiteral("This association refers to the associated operation. It is derived from the operation of the call trigger when applicable."));
952     Q_DECLARE_METAPROPERTY_INFO(QUmlProtocolTransition, referred, RedefinedPropertiesRole, QStringLiteral(""));
953     Q_DECLARE_METAPROPERTY_INFO(QUmlProtocolTransition, referred, SubsettedPropertiesRole, QStringLiteral(""));
954     Q_DECLARE_METAPROPERTY_INFO(QUmlProtocolTransition, referred, OppositeEndRole, QStringLiteral(""));
955
956 }
957
958 QT_END_NAMESPACE
959