Fix reset of properties with default value
[qt:qtmodeling.git] / src / uml / qobjects / qumlmergenodeobject.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 "qumlmergenodeobject_p.h"
42 #include "private/qmodelingobject_p.h"
43
44 #include <QtUml/QUmlMergeNode>
45 #include <QtUml/QUmlActivity>
46 #include <QtUml/QUmlActivityEdge>
47 #include <QtUml/QUmlActivityGroup>
48 #include <QtUml/QUmlActivityNode>
49 #include <QtUml/QUmlActivityPartition>
50 #include <QtUml/QUmlClassifier>
51 #include <QtUml/QUmlComment>
52 #include <QtUml/QUmlDependency>
53 #include <QtUml/QUmlElement>
54 #include <QtUml/QUmlInterruptibleActivityRegion>
55 #include <QtUml/QUmlNamedElement>
56 #include <QtUml/QUmlNamespace>
57 #include <QtUml/QUmlPackage>
58 #include <QtUml/QUmlRedefinableElement>
59 #include <QtUml/QUmlStringExpression>
60 #include <QtUml/QUmlStructuredActivityNode>
61
62 QT_BEGIN_NAMESPACE
63
64 QUmlMergeNodeObject::QUmlMergeNodeObject(QUmlMergeNode *modelingElement)
65 {
66     setProperty("modelingElement", QVariant::fromValue(static_cast<QModelingElement *>(modelingElement)));
67     setGroupProperties();
68     setPropertyData();
69 }
70
71 // OWNED ATTRIBUTES [Element]
72
73 const QSet<QObject *> QUmlMergeNodeObject::ownedComments() const
74 {
75     QSet<QObject *> set;
76     foreach (QUmlComment *element, qmodelingelementproperty_cast<QUmlMergeNode *>(this)->ownedComments())
77         set.insert(element->asQModelingObject());
78     return set;
79 }
80
81 const QSet<QObject *> QUmlMergeNodeObject::ownedElements() const
82 {
83     QSet<QObject *> set;
84     foreach (QUmlElement *element, qmodelingelementproperty_cast<QUmlMergeNode *>(this)->ownedElements())
85         set.insert(element->asQModelingObject());
86     return set;
87 }
88
89 QObject *QUmlMergeNodeObject::owner() const
90 {
91     if (!qmodelingelementproperty_cast<QUmlMergeNode *>(this)->owner())
92         return 0;
93     else
94         return qmodelingelementproperty_cast<QUmlMergeNode *>(this)->owner()->asQModelingObject();
95 }
96
97 // OWNED ATTRIBUTES [NamedElement]
98
99 const QSet<QObject *> QUmlMergeNodeObject::clientDependencies() const
100 {
101     QSet<QObject *> set;
102     foreach (QUmlDependency *element, qmodelingelementproperty_cast<QUmlMergeNode *>(this)->clientDependencies())
103         set.insert(element->asQModelingObject());
104     return set;
105 }
106
107 QString QUmlMergeNodeObject::name() const
108 {
109     return qmodelingelementproperty_cast<QUmlMergeNode *>(this)->name();
110 }
111
112 QObject *QUmlMergeNodeObject::nameExpression() const
113 {
114     if (!qmodelingelementproperty_cast<QUmlMergeNode *>(this)->nameExpression())
115         return 0;
116     else
117         return qmodelingelementproperty_cast<QUmlMergeNode *>(this)->nameExpression()->asQModelingObject();
118 }
119
120 QObject *QUmlMergeNodeObject::namespace_() const
121 {
122     if (!qmodelingelementproperty_cast<QUmlMergeNode *>(this)->namespace_())
123         return 0;
124     else
125         return qmodelingelementproperty_cast<QUmlMergeNode *>(this)->namespace_()->asQModelingObject();
126 }
127
128 QString QUmlMergeNodeObject::qualifiedName() const
129 {
130     return qmodelingelementproperty_cast<QUmlMergeNode *>(this)->qualifiedName();
131 }
132
133 QtUml::VisibilityKind QUmlMergeNodeObject::visibility() const
134 {
135     return qmodelingelementproperty_cast<QUmlMergeNode *>(this)->visibility();
136 }
137
138 // OWNED ATTRIBUTES [RedefinableElement]
139
140 bool QUmlMergeNodeObject::isLeaf() const
141 {
142     return qmodelingelementproperty_cast<QUmlMergeNode *>(this)->isLeaf();
143 }
144
145 const QSet<QObject *> QUmlMergeNodeObject::redefinedElements() const
146 {
147     QSet<QObject *> set;
148     foreach (QUmlRedefinableElement *element, qmodelingelementproperty_cast<QUmlMergeNode *>(this)->redefinedElements())
149         set.insert(element->asQModelingObject());
150     return set;
151 }
152
153 const QSet<QObject *> QUmlMergeNodeObject::redefinitionContexts() const
154 {
155     QSet<QObject *> set;
156     foreach (QUmlClassifier *element, qmodelingelementproperty_cast<QUmlMergeNode *>(this)->redefinitionContexts())
157         set.insert(element->asQModelingObject());
158     return set;
159 }
160
161 // OWNED ATTRIBUTES [ActivityNode]
162
163 QObject *QUmlMergeNodeObject::activity() const
164 {
165     if (!qmodelingelementproperty_cast<QUmlMergeNode *>(this)->activity())
166         return 0;
167     else
168         return qmodelingelementproperty_cast<QUmlMergeNode *>(this)->activity()->asQModelingObject();
169 }
170
171 const QSet<QObject *> QUmlMergeNodeObject::inGroups() const
172 {
173     QSet<QObject *> set;
174     foreach (QUmlActivityGroup *element, qmodelingelementproperty_cast<QUmlMergeNode *>(this)->inGroups())
175         set.insert(element->asQModelingObject());
176     return set;
177 }
178
179 const QSet<QObject *> QUmlMergeNodeObject::inInterruptibleRegions() const
180 {
181     QSet<QObject *> set;
182     foreach (QUmlInterruptibleActivityRegion *element, qmodelingelementproperty_cast<QUmlMergeNode *>(this)->inInterruptibleRegions())
183         set.insert(element->asQModelingObject());
184     return set;
185 }
186
187 const QSet<QObject *> QUmlMergeNodeObject::inPartitions() const
188 {
189     QSet<QObject *> set;
190     foreach (QUmlActivityPartition *element, qmodelingelementproperty_cast<QUmlMergeNode *>(this)->inPartitions())
191         set.insert(element->asQModelingObject());
192     return set;
193 }
194
195 QObject *QUmlMergeNodeObject::inStructuredNode() const
196 {
197     if (!qmodelingelementproperty_cast<QUmlMergeNode *>(this)->inStructuredNode())
198         return 0;
199     else
200         return qmodelingelementproperty_cast<QUmlMergeNode *>(this)->inStructuredNode()->asQModelingObject();
201 }
202
203 const QSet<QObject *> QUmlMergeNodeObject::incomings() const
204 {
205     QSet<QObject *> set;
206     foreach (QUmlActivityEdge *element, qmodelingelementproperty_cast<QUmlMergeNode *>(this)->incomings())
207         set.insert(element->asQModelingObject());
208     return set;
209 }
210
211 const QSet<QObject *> QUmlMergeNodeObject::outgoings() const
212 {
213     QSet<QObject *> set;
214     foreach (QUmlActivityEdge *element, qmodelingelementproperty_cast<QUmlMergeNode *>(this)->outgoings())
215         set.insert(element->asQModelingObject());
216     return set;
217 }
218
219 const QSet<QObject *> QUmlMergeNodeObject::redefinedNodes() const
220 {
221     QSet<QObject *> set;
222     foreach (QUmlActivityNode *element, qmodelingelementproperty_cast<QUmlMergeNode *>(this)->redefinedNodes())
223         set.insert(element->asQModelingObject());
224     return set;
225 }
226
227 // OPERATIONS [Element]
228
229 QSet<QObject *> QUmlMergeNodeObject::allOwnedElements() const
230 {
231     QSet<QObject *> set;
232     foreach (QUmlElement *element, qmodelingelementproperty_cast<QUmlMergeNode *>(this)->allOwnedElements())
233         set.insert(element->asQModelingObject());
234     return set;
235 }
236
237 bool QUmlMergeNodeObject::mustBeOwned() const
238 {
239     return qmodelingelementproperty_cast<QUmlMergeNode *>(this)->mustBeOwned();
240 }
241
242 // OPERATIONS [NamedElement]
243
244 QList<QObject *> QUmlMergeNodeObject::allNamespaces() const
245 {
246     QList<QObject *> set;
247     foreach (QUmlNamespace *element, qmodelingelementproperty_cast<QUmlMergeNode *>(this)->allNamespaces())
248         set.append(element->asQModelingObject());
249     return set;
250 }
251
252 QSet<QObject *> QUmlMergeNodeObject::allOwningPackages() const
253 {
254     QSet<QObject *> set;
255     foreach (QUmlPackage *element, qmodelingelementproperty_cast<QUmlMergeNode *>(this)->allOwningPackages())
256         set.insert(element->asQModelingObject());
257     return set;
258 }
259
260 bool QUmlMergeNodeObject::isDistinguishableFrom(QObject *n, QObject *ns) const
261 {
262     return qmodelingelementproperty_cast<QUmlMergeNode *>(this)->isDistinguishableFrom(qmodelingelementproperty_cast<QUmlNamedElement *>(n), qmodelingelementproperty_cast<QUmlNamespace *>(ns));
263 }
264
265 QString QUmlMergeNodeObject::separator() const
266 {
267     return qmodelingelementproperty_cast<QUmlMergeNode *>(this)->separator();
268 }
269
270 // OPERATIONS [RedefinableElement]
271
272 bool QUmlMergeNodeObject::isConsistentWith(QObject *redefinee) const
273 {
274     return qmodelingelementproperty_cast<QUmlMergeNode *>(this)->isConsistentWith(qmodelingelementproperty_cast<QUmlRedefinableElement *>(redefinee));
275 }
276
277 bool QUmlMergeNodeObject::isRedefinitionContextValid(QObject *redefined) const
278 {
279     return qmodelingelementproperty_cast<QUmlMergeNode *>(this)->isRedefinitionContextValid(qmodelingelementproperty_cast<QUmlRedefinableElement *>(redefined));
280 }
281
282 // SLOTS FOR OWNED ATTRIBUTES [Element]
283
284 void QUmlMergeNodeObject::addOwnedComment(QObject *ownedComment)
285 {
286     qmodelingelementproperty_cast<QUmlMergeNode *>(this)->addOwnedComment(qmodelingelementproperty_cast<QUmlComment *>(ownedComment));
287 }
288
289 void QUmlMergeNodeObject::removeOwnedComment(QObject *ownedComment)
290 {
291     qmodelingelementproperty_cast<QUmlMergeNode *>(this)->removeOwnedComment(qmodelingelementproperty_cast<QUmlComment *>(ownedComment));
292 }
293
294 void QUmlMergeNodeObject::addOwnedElement(QObject *ownedElement)
295 {
296     qmodelingelementproperty_cast<QUmlMergeNode *>(this)->addOwnedElement(qmodelingelementproperty_cast<QUmlElement *>(ownedElement));
297 }
298
299 void QUmlMergeNodeObject::removeOwnedElement(QObject *ownedElement)
300 {
301     qmodelingelementproperty_cast<QUmlMergeNode *>(this)->removeOwnedElement(qmodelingelementproperty_cast<QUmlElement *>(ownedElement));
302 }
303
304 void QUmlMergeNodeObject::setOwner(QObject *owner)
305 {
306     qmodelingelementproperty_cast<QUmlMergeNode *>(this)->setOwner(qmodelingelementproperty_cast<QUmlElement *>(owner));
307 }
308
309 // SLOTS FOR OWNED ATTRIBUTES [NamedElement]
310
311 void QUmlMergeNodeObject::addClientDependency(QObject *clientDependency)
312 {
313     qmodelingelementproperty_cast<QUmlMergeNode *>(this)->addClientDependency(qmodelingelementproperty_cast<QUmlDependency *>(clientDependency));
314 }
315
316 void QUmlMergeNodeObject::removeClientDependency(QObject *clientDependency)
317 {
318     qmodelingelementproperty_cast<QUmlMergeNode *>(this)->removeClientDependency(qmodelingelementproperty_cast<QUmlDependency *>(clientDependency));
319 }
320
321 void QUmlMergeNodeObject::setName(QString name)
322 {
323     qmodelingelementproperty_cast<QUmlMergeNode *>(this)->setName(name);
324 }
325
326 void QUmlMergeNodeObject::setNameExpression(QObject *nameExpression)
327 {
328     qmodelingelementproperty_cast<QUmlMergeNode *>(this)->setNameExpression(qmodelingelementproperty_cast<QUmlStringExpression *>(nameExpression));
329 }
330
331 void QUmlMergeNodeObject::setNamespace(QObject *namespace_)
332 {
333     qmodelingelementproperty_cast<QUmlMergeNode *>(this)->setNamespace(qmodelingelementproperty_cast<QUmlNamespace *>(namespace_));
334 }
335
336 void QUmlMergeNodeObject::setQualifiedName(QString qualifiedName)
337 {
338     qmodelingelementproperty_cast<QUmlMergeNode *>(this)->setQualifiedName(qualifiedName);
339 }
340
341 void QUmlMergeNodeObject::setVisibility(QtUml::VisibilityKind visibility)
342 {
343     qmodelingelementproperty_cast<QUmlMergeNode *>(this)->setVisibility(visibility);
344 }
345
346 // SLOTS FOR OWNED ATTRIBUTES [RedefinableElement]
347
348 void QUmlMergeNodeObject::setLeaf(bool isLeaf)
349 {
350     qmodelingelementproperty_cast<QUmlMergeNode *>(this)->setLeaf(isLeaf);
351 }
352
353 void QUmlMergeNodeObject::unsetLeaf()
354 {
355     Q_D(QModelingObject);
356     setLeaf(false);
357     d->modifiedResettableProperties.removeAll(QStringLiteral("leaf"));
358 }
359
360 void QUmlMergeNodeObject::addRedefinedElement(QObject *redefinedElement)
361 {
362     qmodelingelementproperty_cast<QUmlMergeNode *>(this)->addRedefinedElement(qmodelingelementproperty_cast<QUmlRedefinableElement *>(redefinedElement));
363 }
364
365 void QUmlMergeNodeObject::removeRedefinedElement(QObject *redefinedElement)
366 {
367     qmodelingelementproperty_cast<QUmlMergeNode *>(this)->removeRedefinedElement(qmodelingelementproperty_cast<QUmlRedefinableElement *>(redefinedElement));
368 }
369
370 void QUmlMergeNodeObject::addRedefinitionContext(QObject *redefinitionContext)
371 {
372     qmodelingelementproperty_cast<QUmlMergeNode *>(this)->addRedefinitionContext(qmodelingelementproperty_cast<QUmlClassifier *>(redefinitionContext));
373 }
374
375 void QUmlMergeNodeObject::removeRedefinitionContext(QObject *redefinitionContext)
376 {
377     qmodelingelementproperty_cast<QUmlMergeNode *>(this)->removeRedefinitionContext(qmodelingelementproperty_cast<QUmlClassifier *>(redefinitionContext));
378 }
379
380 // SLOTS FOR OWNED ATTRIBUTES [ActivityNode]
381
382 void QUmlMergeNodeObject::setActivity(QObject *activity)
383 {
384     qmodelingelementproperty_cast<QUmlMergeNode *>(this)->setActivity(qmodelingelementproperty_cast<QUmlActivity *>(activity));
385 }
386
387 void QUmlMergeNodeObject::addInGroup(QObject *inGroup)
388 {
389     qmodelingelementproperty_cast<QUmlMergeNode *>(this)->addInGroup(qmodelingelementproperty_cast<QUmlActivityGroup *>(inGroup));
390 }
391
392 void QUmlMergeNodeObject::removeInGroup(QObject *inGroup)
393 {
394     qmodelingelementproperty_cast<QUmlMergeNode *>(this)->removeInGroup(qmodelingelementproperty_cast<QUmlActivityGroup *>(inGroup));
395 }
396
397 void QUmlMergeNodeObject::addInInterruptibleRegion(QObject *inInterruptibleRegion)
398 {
399     qmodelingelementproperty_cast<QUmlMergeNode *>(this)->addInInterruptibleRegion(qmodelingelementproperty_cast<QUmlInterruptibleActivityRegion *>(inInterruptibleRegion));
400 }
401
402 void QUmlMergeNodeObject::removeInInterruptibleRegion(QObject *inInterruptibleRegion)
403 {
404     qmodelingelementproperty_cast<QUmlMergeNode *>(this)->removeInInterruptibleRegion(qmodelingelementproperty_cast<QUmlInterruptibleActivityRegion *>(inInterruptibleRegion));
405 }
406
407 void QUmlMergeNodeObject::addInPartition(QObject *inPartition)
408 {
409     qmodelingelementproperty_cast<QUmlMergeNode *>(this)->addInPartition(qmodelingelementproperty_cast<QUmlActivityPartition *>(inPartition));
410 }
411
412 void QUmlMergeNodeObject::removeInPartition(QObject *inPartition)
413 {
414     qmodelingelementproperty_cast<QUmlMergeNode *>(this)->removeInPartition(qmodelingelementproperty_cast<QUmlActivityPartition *>(inPartition));
415 }
416
417 void QUmlMergeNodeObject::setInStructuredNode(QObject *inStructuredNode)
418 {
419     qmodelingelementproperty_cast<QUmlMergeNode *>(this)->setInStructuredNode(qmodelingelementproperty_cast<QUmlStructuredActivityNode *>(inStructuredNode));
420 }
421
422 void QUmlMergeNodeObject::addIncoming(QObject *incoming)
423 {
424     qmodelingelementproperty_cast<QUmlMergeNode *>(this)->addIncoming(qmodelingelementproperty_cast<QUmlActivityEdge *>(incoming));
425 }
426
427 void QUmlMergeNodeObject::removeIncoming(QObject *incoming)
428 {
429     qmodelingelementproperty_cast<QUmlMergeNode *>(this)->removeIncoming(qmodelingelementproperty_cast<QUmlActivityEdge *>(incoming));
430 }
431
432 void QUmlMergeNodeObject::addOutgoing(QObject *outgoing)
433 {
434     qmodelingelementproperty_cast<QUmlMergeNode *>(this)->addOutgoing(qmodelingelementproperty_cast<QUmlActivityEdge *>(outgoing));
435 }
436
437 void QUmlMergeNodeObject::removeOutgoing(QObject *outgoing)
438 {
439     qmodelingelementproperty_cast<QUmlMergeNode *>(this)->removeOutgoing(qmodelingelementproperty_cast<QUmlActivityEdge *>(outgoing));
440 }
441
442 void QUmlMergeNodeObject::addRedefinedNode(QObject *redefinedNode)
443 {
444     qmodelingelementproperty_cast<QUmlMergeNode *>(this)->addRedefinedNode(qmodelingelementproperty_cast<QUmlActivityNode *>(redefinedNode));
445 }
446
447 void QUmlMergeNodeObject::removeRedefinedNode(QObject *redefinedNode)
448 {
449     qmodelingelementproperty_cast<QUmlMergeNode *>(this)->removeRedefinedNode(qmodelingelementproperty_cast<QUmlActivityNode *>(redefinedNode));
450 }
451
452
453 void QUmlMergeNodeObject::setGroupProperties()
454 {
455     Q_D(QModelingObject);
456     const QMetaObject *metaObject = this->metaObject();
457
458     d->propertyGroups << QStringLiteral("QObject");
459     d->groupProperties.insert(QStringLiteral("QObject"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("objectName"))));
460
461     d->propertyGroups << QStringLiteral("QUmlElement");
462     d->groupProperties.insert(QStringLiteral("QUmlElement"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("ownedComments"))));
463     d->groupProperties.insert(QStringLiteral("QUmlElement"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("ownedElements"))));
464     d->groupProperties.insert(QStringLiteral("QUmlElement"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("owner"))));
465
466     d->propertyGroups << QStringLiteral("QUmlNamedElement");
467     d->groupProperties.insert(QStringLiteral("QUmlNamedElement"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("clientDependencies"))));
468     d->groupProperties.insert(QStringLiteral("QUmlNamedElement"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("name"))));
469     d->groupProperties.insert(QStringLiteral("QUmlNamedElement"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("nameExpression"))));
470     d->groupProperties.insert(QStringLiteral("QUmlNamedElement"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("namespace_"))));
471     d->groupProperties.insert(QStringLiteral("QUmlNamedElement"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("qualifiedName"))));
472     d->groupProperties.insert(QStringLiteral("QUmlNamedElement"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("visibility"))));
473
474     d->propertyGroups << QStringLiteral("QUmlRedefinableElement");
475     d->groupProperties.insert(QStringLiteral("QUmlRedefinableElement"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("isLeaf"))));
476     d->groupProperties.insert(QStringLiteral("QUmlRedefinableElement"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("redefinedElements"))));
477     d->groupProperties.insert(QStringLiteral("QUmlRedefinableElement"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("redefinitionContexts"))));
478
479     d->propertyGroups << QStringLiteral("QUmlActivityNode");
480     d->groupProperties.insert(QStringLiteral("QUmlActivityNode"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("activity"))));
481     d->groupProperties.insert(QStringLiteral("QUmlActivityNode"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("inGroups"))));
482     d->groupProperties.insert(QStringLiteral("QUmlActivityNode"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("inInterruptibleRegions"))));
483     d->groupProperties.insert(QStringLiteral("QUmlActivityNode"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("inPartitions"))));
484     d->groupProperties.insert(QStringLiteral("QUmlActivityNode"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("inStructuredNode"))));
485     d->groupProperties.insert(QStringLiteral("QUmlActivityNode"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("incomings"))));
486     d->groupProperties.insert(QStringLiteral("QUmlActivityNode"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("outgoings"))));
487     d->groupProperties.insert(QStringLiteral("QUmlActivityNode"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("redefinedNodes"))));
488
489     d->propertyGroups << QStringLiteral("QUmlControlNode");
490
491     d->propertyGroups << QStringLiteral("QUmlMergeNode");
492 }
493
494 void QUmlMergeNodeObject::setPropertyData()
495 {
496     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, ownedComments, AggregationRole, QStringLiteral("composite"));
497     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, ownedComments, PropertyClassRole, QStringLiteral("QUmlElement"));
498     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, ownedComments, IsDerivedRole, false);
499     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, ownedComments, IsDerivedUnionRole, false);
500     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, ownedComments, DocumentationRole, QStringLiteral("The Comments owned by this element."));
501     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, ownedComments, RedefinedPropertiesRole, QStringLiteral(""));
502     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, ownedComments, SubsettedPropertiesRole, QStringLiteral("Element-ownedElement"));
503     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, ownedComments, OppositeEndRole, QStringLiteral(""));
504
505     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, ownedElements, AggregationRole, QStringLiteral("composite"));
506     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, ownedElements, PropertyClassRole, QStringLiteral("QUmlElement"));
507     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, ownedElements, IsDerivedRole, true);
508     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, ownedElements, IsDerivedUnionRole, true);
509     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, ownedElements, DocumentationRole, QStringLiteral("The Elements owned by this element."));
510     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, ownedElements, RedefinedPropertiesRole, QStringLiteral(""));
511     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, ownedElements, SubsettedPropertiesRole, QStringLiteral(""));
512     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, ownedElements, OppositeEndRole, QStringLiteral("Element-owner"));
513
514     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, owner, AggregationRole, QStringLiteral("none"));
515     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, owner, PropertyClassRole, QStringLiteral("QUmlElement"));
516     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, owner, IsDerivedRole, true);
517     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, owner, IsDerivedUnionRole, true);
518     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, owner, DocumentationRole, QStringLiteral("The Element that owns this element."));
519     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, owner, RedefinedPropertiesRole, QStringLiteral(""));
520     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, owner, SubsettedPropertiesRole, QStringLiteral(""));
521     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, owner, OppositeEndRole, QStringLiteral("Element-ownedElement"));
522
523     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, clientDependencies, AggregationRole, QStringLiteral("none"));
524     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, clientDependencies, PropertyClassRole, QStringLiteral("QUmlNamedElement"));
525     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, clientDependencies, IsDerivedRole, false);
526     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, clientDependencies, IsDerivedUnionRole, false);
527     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, clientDependencies, DocumentationRole, QStringLiteral("Indicates the dependencies that reference the client."));
528     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, clientDependencies, RedefinedPropertiesRole, QStringLiteral(""));
529     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, clientDependencies, SubsettedPropertiesRole, QStringLiteral("A_source_directedRelationship-directedRelationship"));
530     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, clientDependencies, OppositeEndRole, QStringLiteral("Dependency-client"));
531
532     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, name, AggregationRole, QStringLiteral("none"));
533     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, name, PropertyClassRole, QStringLiteral("QUmlNamedElement"));
534     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, name, IsDerivedRole, false);
535     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, name, IsDerivedUnionRole, false);
536     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, name, DocumentationRole, QStringLiteral("The name of the NamedElement."));
537     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, name, RedefinedPropertiesRole, QStringLiteral(""));
538     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, name, SubsettedPropertiesRole, QStringLiteral(""));
539     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, name, OppositeEndRole, QStringLiteral(""));
540
541     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, nameExpression, AggregationRole, QStringLiteral("composite"));
542     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, nameExpression, PropertyClassRole, QStringLiteral("QUmlNamedElement"));
543     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, nameExpression, IsDerivedRole, false);
544     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, nameExpression, IsDerivedUnionRole, false);
545     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, nameExpression, DocumentationRole, QStringLiteral("The string expression used to define the name of this named element."));
546     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, nameExpression, RedefinedPropertiesRole, QStringLiteral(""));
547     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, nameExpression, SubsettedPropertiesRole, QStringLiteral("Element-ownedElement"));
548     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, nameExpression, OppositeEndRole, QStringLiteral(""));
549
550     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, namespace_, AggregationRole, QStringLiteral("none"));
551     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, namespace_, PropertyClassRole, QStringLiteral("QUmlNamedElement"));
552     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, namespace_, IsDerivedRole, true);
553     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, namespace_, IsDerivedUnionRole, true);
554     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, namespace_, DocumentationRole, QStringLiteral("Specifies the namespace that owns the NamedElement."));
555     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, namespace_, RedefinedPropertiesRole, QStringLiteral(""));
556     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, namespace_, SubsettedPropertiesRole, QStringLiteral("A_member_memberNamespace-memberNamespace Element-owner"));
557     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, namespace_, OppositeEndRole, QStringLiteral("Namespace-ownedMember"));
558
559     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, qualifiedName, AggregationRole, QStringLiteral("none"));
560     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, qualifiedName, PropertyClassRole, QStringLiteral("QUmlNamedElement"));
561     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, qualifiedName, IsDerivedRole, true);
562     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, qualifiedName, IsDerivedUnionRole, false);
563     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."));
564     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, qualifiedName, RedefinedPropertiesRole, QStringLiteral(""));
565     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, qualifiedName, SubsettedPropertiesRole, QStringLiteral(""));
566     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, qualifiedName, OppositeEndRole, QStringLiteral(""));
567
568     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, visibility, AggregationRole, QStringLiteral("none"));
569     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, visibility, PropertyClassRole, QStringLiteral("QUmlNamedElement"));
570     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, visibility, IsDerivedRole, false);
571     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, visibility, IsDerivedUnionRole, false);
572     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, visibility, DocumentationRole, QStringLiteral("Determines where the NamedElement appears within different Namespaces within the overall model, and its accessibility."));
573     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, visibility, RedefinedPropertiesRole, QStringLiteral(""));
574     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, visibility, SubsettedPropertiesRole, QStringLiteral(""));
575     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, visibility, OppositeEndRole, QStringLiteral(""));
576
577     Q_DECLARE_METAPROPERTY_INFO(QUmlRedefinableElement, isLeaf, AggregationRole, QStringLiteral("none"));
578     Q_DECLARE_METAPROPERTY_INFO(QUmlRedefinableElement, isLeaf, PropertyClassRole, QStringLiteral("QUmlRedefinableElement"));
579     Q_DECLARE_METAPROPERTY_INFO(QUmlRedefinableElement, isLeaf, IsDerivedRole, false);
580     Q_DECLARE_METAPROPERTY_INFO(QUmlRedefinableElement, isLeaf, IsDerivedUnionRole, false);
581     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."));
582     Q_DECLARE_METAPROPERTY_INFO(QUmlRedefinableElement, isLeaf, RedefinedPropertiesRole, QStringLiteral(""));
583     Q_DECLARE_METAPROPERTY_INFO(QUmlRedefinableElement, isLeaf, SubsettedPropertiesRole, QStringLiteral(""));
584     Q_DECLARE_METAPROPERTY_INFO(QUmlRedefinableElement, isLeaf, OppositeEndRole, QStringLiteral(""));
585
586     Q_DECLARE_METAPROPERTY_INFO(QUmlRedefinableElement, redefinedElements, AggregationRole, QStringLiteral("none"));
587     Q_DECLARE_METAPROPERTY_INFO(QUmlRedefinableElement, redefinedElements, PropertyClassRole, QStringLiteral("QUmlRedefinableElement"));
588     Q_DECLARE_METAPROPERTY_INFO(QUmlRedefinableElement, redefinedElements, IsDerivedRole, true);
589     Q_DECLARE_METAPROPERTY_INFO(QUmlRedefinableElement, redefinedElements, IsDerivedUnionRole, true);
590     Q_DECLARE_METAPROPERTY_INFO(QUmlRedefinableElement, redefinedElements, DocumentationRole, QStringLiteral("The redefinable element that is being redefined by this element."));
591     Q_DECLARE_METAPROPERTY_INFO(QUmlRedefinableElement, redefinedElements, RedefinedPropertiesRole, QStringLiteral(""));
592     Q_DECLARE_METAPROPERTY_INFO(QUmlRedefinableElement, redefinedElements, SubsettedPropertiesRole, QStringLiteral(""));
593     Q_DECLARE_METAPROPERTY_INFO(QUmlRedefinableElement, redefinedElements, OppositeEndRole, QStringLiteral(""));
594
595     Q_DECLARE_METAPROPERTY_INFO(QUmlRedefinableElement, redefinitionContexts, AggregationRole, QStringLiteral("none"));
596     Q_DECLARE_METAPROPERTY_INFO(QUmlRedefinableElement, redefinitionContexts, PropertyClassRole, QStringLiteral("QUmlRedefinableElement"));
597     Q_DECLARE_METAPROPERTY_INFO(QUmlRedefinableElement, redefinitionContexts, IsDerivedRole, true);
598     Q_DECLARE_METAPROPERTY_INFO(QUmlRedefinableElement, redefinitionContexts, IsDerivedUnionRole, true);
599     Q_DECLARE_METAPROPERTY_INFO(QUmlRedefinableElement, redefinitionContexts, DocumentationRole, QStringLiteral("References the contexts that this element may be redefined from."));
600     Q_DECLARE_METAPROPERTY_INFO(QUmlRedefinableElement, redefinitionContexts, RedefinedPropertiesRole, QStringLiteral(""));
601     Q_DECLARE_METAPROPERTY_INFO(QUmlRedefinableElement, redefinitionContexts, SubsettedPropertiesRole, QStringLiteral(""));
602     Q_DECLARE_METAPROPERTY_INFO(QUmlRedefinableElement, redefinitionContexts, OppositeEndRole, QStringLiteral(""));
603
604     Q_DECLARE_METAPROPERTY_INFO(QUmlActivityNode, activity, AggregationRole, QStringLiteral("none"));
605     Q_DECLARE_METAPROPERTY_INFO(QUmlActivityNode, activity, PropertyClassRole, QStringLiteral("QUmlActivityNode"));
606     Q_DECLARE_METAPROPERTY_INFO(QUmlActivityNode, activity, IsDerivedRole, false);
607     Q_DECLARE_METAPROPERTY_INFO(QUmlActivityNode, activity, IsDerivedUnionRole, false);
608     Q_DECLARE_METAPROPERTY_INFO(QUmlActivityNode, activity, DocumentationRole, QStringLiteral("Activity containing the node."));
609     Q_DECLARE_METAPROPERTY_INFO(QUmlActivityNode, activity, RedefinedPropertiesRole, QStringLiteral(""));
610     Q_DECLARE_METAPROPERTY_INFO(QUmlActivityNode, activity, SubsettedPropertiesRole, QStringLiteral("Element-owner"));
611     Q_DECLARE_METAPROPERTY_INFO(QUmlActivityNode, activity, OppositeEndRole, QStringLiteral("Activity-node"));
612
613     Q_DECLARE_METAPROPERTY_INFO(QUmlActivityNode, inGroups, AggregationRole, QStringLiteral("none"));
614     Q_DECLARE_METAPROPERTY_INFO(QUmlActivityNode, inGroups, PropertyClassRole, QStringLiteral("QUmlActivityNode"));
615     Q_DECLARE_METAPROPERTY_INFO(QUmlActivityNode, inGroups, IsDerivedRole, true);
616     Q_DECLARE_METAPROPERTY_INFO(QUmlActivityNode, inGroups, IsDerivedUnionRole, true);
617     Q_DECLARE_METAPROPERTY_INFO(QUmlActivityNode, inGroups, DocumentationRole, QStringLiteral("Groups containing the node."));
618     Q_DECLARE_METAPROPERTY_INFO(QUmlActivityNode, inGroups, RedefinedPropertiesRole, QStringLiteral(""));
619     Q_DECLARE_METAPROPERTY_INFO(QUmlActivityNode, inGroups, SubsettedPropertiesRole, QStringLiteral(""));
620     Q_DECLARE_METAPROPERTY_INFO(QUmlActivityNode, inGroups, OppositeEndRole, QStringLiteral("ActivityGroup-containedNode"));
621
622     Q_DECLARE_METAPROPERTY_INFO(QUmlActivityNode, inInterruptibleRegions, AggregationRole, QStringLiteral("none"));
623     Q_DECLARE_METAPROPERTY_INFO(QUmlActivityNode, inInterruptibleRegions, PropertyClassRole, QStringLiteral("QUmlActivityNode"));
624     Q_DECLARE_METAPROPERTY_INFO(QUmlActivityNode, inInterruptibleRegions, IsDerivedRole, false);
625     Q_DECLARE_METAPROPERTY_INFO(QUmlActivityNode, inInterruptibleRegions, IsDerivedUnionRole, false);
626     Q_DECLARE_METAPROPERTY_INFO(QUmlActivityNode, inInterruptibleRegions, DocumentationRole, QStringLiteral("Interruptible regions containing the node."));
627     Q_DECLARE_METAPROPERTY_INFO(QUmlActivityNode, inInterruptibleRegions, RedefinedPropertiesRole, QStringLiteral(""));
628     Q_DECLARE_METAPROPERTY_INFO(QUmlActivityNode, inInterruptibleRegions, SubsettedPropertiesRole, QStringLiteral("ActivityNode-inGroup"));
629     Q_DECLARE_METAPROPERTY_INFO(QUmlActivityNode, inInterruptibleRegions, OppositeEndRole, QStringLiteral("InterruptibleActivityRegion-node"));
630
631     Q_DECLARE_METAPROPERTY_INFO(QUmlActivityNode, inPartitions, AggregationRole, QStringLiteral("none"));
632     Q_DECLARE_METAPROPERTY_INFO(QUmlActivityNode, inPartitions, PropertyClassRole, QStringLiteral("QUmlActivityNode"));
633     Q_DECLARE_METAPROPERTY_INFO(QUmlActivityNode, inPartitions, IsDerivedRole, false);
634     Q_DECLARE_METAPROPERTY_INFO(QUmlActivityNode, inPartitions, IsDerivedUnionRole, false);
635     Q_DECLARE_METAPROPERTY_INFO(QUmlActivityNode, inPartitions, DocumentationRole, QStringLiteral("Partitions containing the node."));
636     Q_DECLARE_METAPROPERTY_INFO(QUmlActivityNode, inPartitions, RedefinedPropertiesRole, QStringLiteral(""));
637     Q_DECLARE_METAPROPERTY_INFO(QUmlActivityNode, inPartitions, SubsettedPropertiesRole, QStringLiteral("ActivityNode-inGroup"));
638     Q_DECLARE_METAPROPERTY_INFO(QUmlActivityNode, inPartitions, OppositeEndRole, QStringLiteral("ActivityPartition-node"));
639
640     Q_DECLARE_METAPROPERTY_INFO(QUmlActivityNode, inStructuredNode, AggregationRole, QStringLiteral("none"));
641     Q_DECLARE_METAPROPERTY_INFO(QUmlActivityNode, inStructuredNode, PropertyClassRole, QStringLiteral("QUmlActivityNode"));
642     Q_DECLARE_METAPROPERTY_INFO(QUmlActivityNode, inStructuredNode, IsDerivedRole, false);
643     Q_DECLARE_METAPROPERTY_INFO(QUmlActivityNode, inStructuredNode, IsDerivedUnionRole, false);
644     Q_DECLARE_METAPROPERTY_INFO(QUmlActivityNode, inStructuredNode, DocumentationRole, QStringLiteral("Structured activity node containing the node."));
645     Q_DECLARE_METAPROPERTY_INFO(QUmlActivityNode, inStructuredNode, RedefinedPropertiesRole, QStringLiteral(""));
646     Q_DECLARE_METAPROPERTY_INFO(QUmlActivityNode, inStructuredNode, SubsettedPropertiesRole, QStringLiteral("ActivityNode-inGroup Element-owner"));
647     Q_DECLARE_METAPROPERTY_INFO(QUmlActivityNode, inStructuredNode, OppositeEndRole, QStringLiteral("StructuredActivityNode-node"));
648
649     Q_DECLARE_METAPROPERTY_INFO(QUmlActivityNode, incomings, AggregationRole, QStringLiteral("none"));
650     Q_DECLARE_METAPROPERTY_INFO(QUmlActivityNode, incomings, PropertyClassRole, QStringLiteral("QUmlActivityNode"));
651     Q_DECLARE_METAPROPERTY_INFO(QUmlActivityNode, incomings, IsDerivedRole, false);
652     Q_DECLARE_METAPROPERTY_INFO(QUmlActivityNode, incomings, IsDerivedUnionRole, false);
653     Q_DECLARE_METAPROPERTY_INFO(QUmlActivityNode, incomings, DocumentationRole, QStringLiteral("Edges that have the node as target."));
654     Q_DECLARE_METAPROPERTY_INFO(QUmlActivityNode, incomings, RedefinedPropertiesRole, QStringLiteral(""));
655     Q_DECLARE_METAPROPERTY_INFO(QUmlActivityNode, incomings, SubsettedPropertiesRole, QStringLiteral(""));
656     Q_DECLARE_METAPROPERTY_INFO(QUmlActivityNode, incomings, OppositeEndRole, QStringLiteral("ActivityEdge-target"));
657
658     Q_DECLARE_METAPROPERTY_INFO(QUmlActivityNode, outgoings, AggregationRole, QStringLiteral("none"));
659     Q_DECLARE_METAPROPERTY_INFO(QUmlActivityNode, outgoings, PropertyClassRole, QStringLiteral("QUmlActivityNode"));
660     Q_DECLARE_METAPROPERTY_INFO(QUmlActivityNode, outgoings, IsDerivedRole, false);
661     Q_DECLARE_METAPROPERTY_INFO(QUmlActivityNode, outgoings, IsDerivedUnionRole, false);
662     Q_DECLARE_METAPROPERTY_INFO(QUmlActivityNode, outgoings, DocumentationRole, QStringLiteral("Edges that have the node as source."));
663     Q_DECLARE_METAPROPERTY_INFO(QUmlActivityNode, outgoings, RedefinedPropertiesRole, QStringLiteral(""));
664     Q_DECLARE_METAPROPERTY_INFO(QUmlActivityNode, outgoings, SubsettedPropertiesRole, QStringLiteral(""));
665     Q_DECLARE_METAPROPERTY_INFO(QUmlActivityNode, outgoings, OppositeEndRole, QStringLiteral("ActivityEdge-source"));
666
667     Q_DECLARE_METAPROPERTY_INFO(QUmlActivityNode, redefinedNodes, AggregationRole, QStringLiteral("none"));
668     Q_DECLARE_METAPROPERTY_INFO(QUmlActivityNode, redefinedNodes, PropertyClassRole, QStringLiteral("QUmlActivityNode"));
669     Q_DECLARE_METAPROPERTY_INFO(QUmlActivityNode, redefinedNodes, IsDerivedRole, false);
670     Q_DECLARE_METAPROPERTY_INFO(QUmlActivityNode, redefinedNodes, IsDerivedUnionRole, false);
671     Q_DECLARE_METAPROPERTY_INFO(QUmlActivityNode, redefinedNodes, DocumentationRole, QStringLiteral("Inherited nodes replaced by this node in a specialization of the activity."));
672     Q_DECLARE_METAPROPERTY_INFO(QUmlActivityNode, redefinedNodes, RedefinedPropertiesRole, QStringLiteral(""));
673     Q_DECLARE_METAPROPERTY_INFO(QUmlActivityNode, redefinedNodes, SubsettedPropertiesRole, QStringLiteral("RedefinableElement-redefinedElement"));
674     Q_DECLARE_METAPROPERTY_INFO(QUmlActivityNode, redefinedNodes, OppositeEndRole, QStringLiteral(""));
675
676 }
677
678 QT_END_NAMESPACE
679