Fix reset of properties with default value
[qt:qtmodeling.git] / src / uml / qobjects / qumlinteractionconstraintobject.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 "qumlinteractionconstraintobject_p.h"
42 #include "private/qmodelingobject_p.h"
43
44 #include <QtUml/QUmlInteractionConstraint>
45 #include <QtUml/QUmlComment>
46 #include <QtUml/QUmlDependency>
47 #include <QtUml/QUmlElement>
48 #include <QtUml/QUmlNamedElement>
49 #include <QtUml/QUmlNamespace>
50 #include <QtUml/QUmlPackage>
51 #include <QtUml/QUmlParameterableElement>
52 #include <QtUml/QUmlStringExpression>
53 #include <QtUml/QUmlTemplateParameter>
54 #include <QtUml/QUmlValueSpecification>
55
56 QT_BEGIN_NAMESPACE
57
58 QUmlInteractionConstraintObject::QUmlInteractionConstraintObject(QUmlInteractionConstraint *modelingElement)
59 {
60     setProperty("modelingElement", QVariant::fromValue(static_cast<QModelingElement *>(modelingElement)));
61     setGroupProperties();
62     setPropertyData();
63 }
64
65 // OWNED ATTRIBUTES [Element]
66
67 const QSet<QObject *> QUmlInteractionConstraintObject::ownedComments() const
68 {
69     QSet<QObject *> set;
70     foreach (QUmlComment *element, qmodelingelementproperty_cast<QUmlInteractionConstraint *>(this)->ownedComments())
71         set.insert(element->asQModelingObject());
72     return set;
73 }
74
75 const QSet<QObject *> QUmlInteractionConstraintObject::ownedElements() const
76 {
77     QSet<QObject *> set;
78     foreach (QUmlElement *element, qmodelingelementproperty_cast<QUmlInteractionConstraint *>(this)->ownedElements())
79         set.insert(element->asQModelingObject());
80     return set;
81 }
82
83 QObject *QUmlInteractionConstraintObject::owner() const
84 {
85     if (!qmodelingelementproperty_cast<QUmlInteractionConstraint *>(this)->owner())
86         return 0;
87     else
88         return qmodelingelementproperty_cast<QUmlInteractionConstraint *>(this)->owner()->asQModelingObject();
89 }
90
91 // OWNED ATTRIBUTES [ParameterableElement]
92
93 QObject *QUmlInteractionConstraintObject::owningTemplateParameter() const
94 {
95     if (!qmodelingelementproperty_cast<QUmlInteractionConstraint *>(this)->owningTemplateParameter())
96         return 0;
97     else
98         return qmodelingelementproperty_cast<QUmlInteractionConstraint *>(this)->owningTemplateParameter()->asQModelingObject();
99 }
100
101 QObject *QUmlInteractionConstraintObject::templateParameter() const
102 {
103     if (!qmodelingelementproperty_cast<QUmlInteractionConstraint *>(this)->templateParameter())
104         return 0;
105     else
106         return qmodelingelementproperty_cast<QUmlInteractionConstraint *>(this)->templateParameter()->asQModelingObject();
107 }
108
109 // OWNED ATTRIBUTES [NamedElement]
110
111 const QSet<QObject *> QUmlInteractionConstraintObject::clientDependencies() const
112 {
113     QSet<QObject *> set;
114     foreach (QUmlDependency *element, qmodelingelementproperty_cast<QUmlInteractionConstraint *>(this)->clientDependencies())
115         set.insert(element->asQModelingObject());
116     return set;
117 }
118
119 QString QUmlInteractionConstraintObject::name() const
120 {
121     return qmodelingelementproperty_cast<QUmlInteractionConstraint *>(this)->name();
122 }
123
124 QObject *QUmlInteractionConstraintObject::nameExpression() const
125 {
126     if (!qmodelingelementproperty_cast<QUmlInteractionConstraint *>(this)->nameExpression())
127         return 0;
128     else
129         return qmodelingelementproperty_cast<QUmlInteractionConstraint *>(this)->nameExpression()->asQModelingObject();
130 }
131
132 QObject *QUmlInteractionConstraintObject::namespace_() const
133 {
134     if (!qmodelingelementproperty_cast<QUmlInteractionConstraint *>(this)->namespace_())
135         return 0;
136     else
137         return qmodelingelementproperty_cast<QUmlInteractionConstraint *>(this)->namespace_()->asQModelingObject();
138 }
139
140 QString QUmlInteractionConstraintObject::qualifiedName() const
141 {
142     return qmodelingelementproperty_cast<QUmlInteractionConstraint *>(this)->qualifiedName();
143 }
144
145 // OWNED ATTRIBUTES [PackageableElement]
146
147 QtUml::VisibilityKind QUmlInteractionConstraintObject::visibility() const
148 {
149     return qmodelingelementproperty_cast<QUmlInteractionConstraint *>(this)->visibility();
150 }
151
152 // OWNED ATTRIBUTES [Constraint]
153
154 const QList<QObject *> QUmlInteractionConstraintObject::constrainedElements() const
155 {
156     QList<QObject *> list;
157     foreach (QUmlElement *element, qmodelingelementproperty_cast<QUmlInteractionConstraint *>(this)->constrainedElements())
158         list.append(element->asQModelingObject());
159     return list;
160 }
161
162 QObject *QUmlInteractionConstraintObject::context() const
163 {
164     if (!qmodelingelementproperty_cast<QUmlInteractionConstraint *>(this)->context())
165         return 0;
166     else
167         return qmodelingelementproperty_cast<QUmlInteractionConstraint *>(this)->context()->asQModelingObject();
168 }
169
170 QObject *QUmlInteractionConstraintObject::specification() const
171 {
172     if (!qmodelingelementproperty_cast<QUmlInteractionConstraint *>(this)->specification())
173         return 0;
174     else
175         return qmodelingelementproperty_cast<QUmlInteractionConstraint *>(this)->specification()->asQModelingObject();
176 }
177
178 // OWNED ATTRIBUTES [InteractionConstraint]
179
180 QObject *QUmlInteractionConstraintObject::maxint() const
181 {
182     if (!qmodelingelementproperty_cast<QUmlInteractionConstraint *>(this)->maxint())
183         return 0;
184     else
185         return qmodelingelementproperty_cast<QUmlInteractionConstraint *>(this)->maxint()->asQModelingObject();
186 }
187
188 QObject *QUmlInteractionConstraintObject::minint() const
189 {
190     if (!qmodelingelementproperty_cast<QUmlInteractionConstraint *>(this)->minint())
191         return 0;
192     else
193         return qmodelingelementproperty_cast<QUmlInteractionConstraint *>(this)->minint()->asQModelingObject();
194 }
195
196 // OPERATIONS [Element]
197
198 QSet<QObject *> QUmlInteractionConstraintObject::allOwnedElements() const
199 {
200     QSet<QObject *> set;
201     foreach (QUmlElement *element, qmodelingelementproperty_cast<QUmlInteractionConstraint *>(this)->allOwnedElements())
202         set.insert(element->asQModelingObject());
203     return set;
204 }
205
206 bool QUmlInteractionConstraintObject::mustBeOwned() const
207 {
208     return qmodelingelementproperty_cast<QUmlInteractionConstraint *>(this)->mustBeOwned();
209 }
210
211 // OPERATIONS [ParameterableElement]
212
213 bool QUmlInteractionConstraintObject::isCompatibleWith(QObject *p) const
214 {
215     return qmodelingelementproperty_cast<QUmlInteractionConstraint *>(this)->isCompatibleWith(qmodelingelementproperty_cast<QUmlParameterableElement *>(p));
216 }
217
218 bool QUmlInteractionConstraintObject::isTemplateParameter() const
219 {
220     return qmodelingelementproperty_cast<QUmlInteractionConstraint *>(this)->isTemplateParameter();
221 }
222
223 // OPERATIONS [NamedElement]
224
225 QList<QObject *> QUmlInteractionConstraintObject::allNamespaces() const
226 {
227     QList<QObject *> set;
228     foreach (QUmlNamespace *element, qmodelingelementproperty_cast<QUmlInteractionConstraint *>(this)->allNamespaces())
229         set.append(element->asQModelingObject());
230     return set;
231 }
232
233 QSet<QObject *> QUmlInteractionConstraintObject::allOwningPackages() const
234 {
235     QSet<QObject *> set;
236     foreach (QUmlPackage *element, qmodelingelementproperty_cast<QUmlInteractionConstraint *>(this)->allOwningPackages())
237         set.insert(element->asQModelingObject());
238     return set;
239 }
240
241 bool QUmlInteractionConstraintObject::isDistinguishableFrom(QObject *n, QObject *ns) const
242 {
243     return qmodelingelementproperty_cast<QUmlInteractionConstraint *>(this)->isDistinguishableFrom(qmodelingelementproperty_cast<QUmlNamedElement *>(n), qmodelingelementproperty_cast<QUmlNamespace *>(ns));
244 }
245
246 QString QUmlInteractionConstraintObject::separator() const
247 {
248     return qmodelingelementproperty_cast<QUmlInteractionConstraint *>(this)->separator();
249 }
250
251 // SLOTS FOR OWNED ATTRIBUTES [Element]
252
253 void QUmlInteractionConstraintObject::addOwnedComment(QObject *ownedComment)
254 {
255     qmodelingelementproperty_cast<QUmlInteractionConstraint *>(this)->addOwnedComment(qmodelingelementproperty_cast<QUmlComment *>(ownedComment));
256 }
257
258 void QUmlInteractionConstraintObject::removeOwnedComment(QObject *ownedComment)
259 {
260     qmodelingelementproperty_cast<QUmlInteractionConstraint *>(this)->removeOwnedComment(qmodelingelementproperty_cast<QUmlComment *>(ownedComment));
261 }
262
263 void QUmlInteractionConstraintObject::addOwnedElement(QObject *ownedElement)
264 {
265     qmodelingelementproperty_cast<QUmlInteractionConstraint *>(this)->addOwnedElement(qmodelingelementproperty_cast<QUmlElement *>(ownedElement));
266 }
267
268 void QUmlInteractionConstraintObject::removeOwnedElement(QObject *ownedElement)
269 {
270     qmodelingelementproperty_cast<QUmlInteractionConstraint *>(this)->removeOwnedElement(qmodelingelementproperty_cast<QUmlElement *>(ownedElement));
271 }
272
273 void QUmlInteractionConstraintObject::setOwner(QObject *owner)
274 {
275     qmodelingelementproperty_cast<QUmlInteractionConstraint *>(this)->setOwner(qmodelingelementproperty_cast<QUmlElement *>(owner));
276 }
277
278 // SLOTS FOR OWNED ATTRIBUTES [ParameterableElement]
279
280 void QUmlInteractionConstraintObject::setOwningTemplateParameter(QObject *owningTemplateParameter)
281 {
282     qmodelingelementproperty_cast<QUmlInteractionConstraint *>(this)->setOwningTemplateParameter(qmodelingelementproperty_cast<QUmlTemplateParameter *>(owningTemplateParameter));
283 }
284
285 void QUmlInteractionConstraintObject::setTemplateParameter(QObject *templateParameter)
286 {
287     qmodelingelementproperty_cast<QUmlInteractionConstraint *>(this)->setTemplateParameter(qmodelingelementproperty_cast<QUmlTemplateParameter *>(templateParameter));
288 }
289
290 // SLOTS FOR OWNED ATTRIBUTES [NamedElement]
291
292 void QUmlInteractionConstraintObject::addClientDependency(QObject *clientDependency)
293 {
294     qmodelingelementproperty_cast<QUmlInteractionConstraint *>(this)->addClientDependency(qmodelingelementproperty_cast<QUmlDependency *>(clientDependency));
295 }
296
297 void QUmlInteractionConstraintObject::removeClientDependency(QObject *clientDependency)
298 {
299     qmodelingelementproperty_cast<QUmlInteractionConstraint *>(this)->removeClientDependency(qmodelingelementproperty_cast<QUmlDependency *>(clientDependency));
300 }
301
302 void QUmlInteractionConstraintObject::setName(QString name)
303 {
304     qmodelingelementproperty_cast<QUmlInteractionConstraint *>(this)->setName(name);
305 }
306
307 void QUmlInteractionConstraintObject::setNameExpression(QObject *nameExpression)
308 {
309     qmodelingelementproperty_cast<QUmlInteractionConstraint *>(this)->setNameExpression(qmodelingelementproperty_cast<QUmlStringExpression *>(nameExpression));
310 }
311
312 void QUmlInteractionConstraintObject::setNamespace(QObject *namespace_)
313 {
314     qmodelingelementproperty_cast<QUmlInteractionConstraint *>(this)->setNamespace(qmodelingelementproperty_cast<QUmlNamespace *>(namespace_));
315 }
316
317 void QUmlInteractionConstraintObject::setQualifiedName(QString qualifiedName)
318 {
319     qmodelingelementproperty_cast<QUmlInteractionConstraint *>(this)->setQualifiedName(qualifiedName);
320 }
321 // SLOTS FOR OWNED ATTRIBUTES [PackageableElement]
322
323 void QUmlInteractionConstraintObject::setVisibility(QtUml::VisibilityKind visibility)
324 {
325     qmodelingelementproperty_cast<QUmlInteractionConstraint *>(this)->setVisibility(visibility);
326 }
327
328 void QUmlInteractionConstraintObject::unsetVisibility()
329 {
330     Q_D(QModelingObject);
331     setVisibility(QtUml::VisibilityKindPublic);
332     d->modifiedResettableProperties.removeAll(QStringLiteral("visibility"));
333 }
334
335 // SLOTS FOR OWNED ATTRIBUTES [Constraint]
336
337 void QUmlInteractionConstraintObject::addConstrainedElement(QObject *constrainedElement)
338 {
339     qmodelingelementproperty_cast<QUmlInteractionConstraint *>(this)->addConstrainedElement(qmodelingelementproperty_cast<QUmlElement *>(constrainedElement));
340 }
341
342 void QUmlInteractionConstraintObject::removeConstrainedElement(QObject *constrainedElement)
343 {
344     qmodelingelementproperty_cast<QUmlInteractionConstraint *>(this)->removeConstrainedElement(qmodelingelementproperty_cast<QUmlElement *>(constrainedElement));
345 }
346
347 void QUmlInteractionConstraintObject::setContext(QObject *context)
348 {
349     qmodelingelementproperty_cast<QUmlInteractionConstraint *>(this)->setContext(qmodelingelementproperty_cast<QUmlNamespace *>(context));
350 }
351
352 void QUmlInteractionConstraintObject::setSpecification(QObject *specification)
353 {
354     qmodelingelementproperty_cast<QUmlInteractionConstraint *>(this)->setSpecification(qmodelingelementproperty_cast<QUmlValueSpecification *>(specification));
355 }
356
357 // SLOTS FOR OWNED ATTRIBUTES [InteractionConstraint]
358
359 void QUmlInteractionConstraintObject::setMaxint(QObject *maxint)
360 {
361     qmodelingelementproperty_cast<QUmlInteractionConstraint *>(this)->setMaxint(qmodelingelementproperty_cast<QUmlValueSpecification *>(maxint));
362 }
363
364 void QUmlInteractionConstraintObject::setMinint(QObject *minint)
365 {
366     qmodelingelementproperty_cast<QUmlInteractionConstraint *>(this)->setMinint(qmodelingelementproperty_cast<QUmlValueSpecification *>(minint));
367 }
368
369
370 void QUmlInteractionConstraintObject::setGroupProperties()
371 {
372     Q_D(QModelingObject);
373     const QMetaObject *metaObject = this->metaObject();
374
375     d->propertyGroups << QStringLiteral("QObject");
376     d->groupProperties.insert(QStringLiteral("QObject"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("objectName"))));
377
378     d->propertyGroups << QStringLiteral("QUmlElement");
379     d->groupProperties.insert(QStringLiteral("QUmlElement"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("ownedComments"))));
380     d->groupProperties.insert(QStringLiteral("QUmlElement"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("ownedElements"))));
381     d->groupProperties.insert(QStringLiteral("QUmlElement"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("owner"))));
382
383     d->propertyGroups << QStringLiteral("QUmlParameterableElement");
384     d->groupProperties.insert(QStringLiteral("QUmlParameterableElement"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("owningTemplateParameter"))));
385     d->groupProperties.insert(QStringLiteral("QUmlParameterableElement"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("templateParameter"))));
386
387     d->propertyGroups << QStringLiteral("QUmlNamedElement");
388     d->groupProperties.insert(QStringLiteral("QUmlNamedElement"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("clientDependencies"))));
389     d->groupProperties.insert(QStringLiteral("QUmlNamedElement"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("name"))));
390     d->groupProperties.insert(QStringLiteral("QUmlNamedElement"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("nameExpression"))));
391     d->groupProperties.insert(QStringLiteral("QUmlNamedElement"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("namespace_"))));
392     d->groupProperties.insert(QStringLiteral("QUmlNamedElement"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("qualifiedName"))));
393
394     d->propertyGroups << QStringLiteral("QUmlPackageableElement");
395     d->groupProperties.insert(QStringLiteral("QUmlPackageableElement"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("visibility"))));
396
397     d->propertyGroups << QStringLiteral("QUmlConstraint");
398     d->groupProperties.insert(QStringLiteral("QUmlConstraint"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("constrainedElements"))));
399     d->groupProperties.insert(QStringLiteral("QUmlConstraint"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("context"))));
400     d->groupProperties.insert(QStringLiteral("QUmlConstraint"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("specification"))));
401
402     d->propertyGroups << QStringLiteral("QUmlInteractionConstraint");
403     d->groupProperties.insert(QStringLiteral("QUmlInteractionConstraint"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("maxint"))));
404     d->groupProperties.insert(QStringLiteral("QUmlInteractionConstraint"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("minint"))));
405 }
406
407 void QUmlInteractionConstraintObject::setPropertyData()
408 {
409     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, ownedComments, AggregationRole, QStringLiteral("composite"));
410     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, ownedComments, PropertyClassRole, QStringLiteral("QUmlElement"));
411     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, ownedComments, IsDerivedRole, false);
412     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, ownedComments, IsDerivedUnionRole, false);
413     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, ownedComments, DocumentationRole, QStringLiteral("The Comments owned by this element."));
414     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, ownedComments, RedefinedPropertiesRole, QStringLiteral(""));
415     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, ownedComments, SubsettedPropertiesRole, QStringLiteral("Element-ownedElement"));
416     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, ownedComments, OppositeEndRole, QStringLiteral(""));
417
418     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, ownedElements, AggregationRole, QStringLiteral("composite"));
419     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, ownedElements, PropertyClassRole, QStringLiteral("QUmlElement"));
420     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, ownedElements, IsDerivedRole, true);
421     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, ownedElements, IsDerivedUnionRole, true);
422     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, ownedElements, DocumentationRole, QStringLiteral("The Elements owned by this element."));
423     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, ownedElements, RedefinedPropertiesRole, QStringLiteral(""));
424     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, ownedElements, SubsettedPropertiesRole, QStringLiteral(""));
425     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, ownedElements, OppositeEndRole, QStringLiteral("Element-owner"));
426
427     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, owner, AggregationRole, QStringLiteral("none"));
428     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, owner, PropertyClassRole, QStringLiteral("QUmlElement"));
429     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, owner, IsDerivedRole, true);
430     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, owner, IsDerivedUnionRole, true);
431     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, owner, DocumentationRole, QStringLiteral("The Element that owns this element."));
432     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, owner, RedefinedPropertiesRole, QStringLiteral(""));
433     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, owner, SubsettedPropertiesRole, QStringLiteral(""));
434     Q_DECLARE_METAPROPERTY_INFO(QUmlElement, owner, OppositeEndRole, QStringLiteral("Element-ownedElement"));
435
436     Q_DECLARE_METAPROPERTY_INFO(QUmlParameterableElement, owningTemplateParameter, AggregationRole, QStringLiteral("none"));
437     Q_DECLARE_METAPROPERTY_INFO(QUmlParameterableElement, owningTemplateParameter, PropertyClassRole, QStringLiteral("QUmlParameterableElement"));
438     Q_DECLARE_METAPROPERTY_INFO(QUmlParameterableElement, owningTemplateParameter, IsDerivedRole, false);
439     Q_DECLARE_METAPROPERTY_INFO(QUmlParameterableElement, owningTemplateParameter, IsDerivedUnionRole, false);
440     Q_DECLARE_METAPROPERTY_INFO(QUmlParameterableElement, owningTemplateParameter, DocumentationRole, QStringLiteral("The formal template parameter that owns this element."));
441     Q_DECLARE_METAPROPERTY_INFO(QUmlParameterableElement, owningTemplateParameter, RedefinedPropertiesRole, QStringLiteral(""));
442     Q_DECLARE_METAPROPERTY_INFO(QUmlParameterableElement, owningTemplateParameter, SubsettedPropertiesRole, QStringLiteral("ParameterableElement-templateParameter Element-owner"));
443     Q_DECLARE_METAPROPERTY_INFO(QUmlParameterableElement, owningTemplateParameter, OppositeEndRole, QStringLiteral("TemplateParameter-ownedParameteredElement"));
444
445     Q_DECLARE_METAPROPERTY_INFO(QUmlParameterableElement, templateParameter, AggregationRole, QStringLiteral("none"));
446     Q_DECLARE_METAPROPERTY_INFO(QUmlParameterableElement, templateParameter, PropertyClassRole, QStringLiteral("QUmlParameterableElement"));
447     Q_DECLARE_METAPROPERTY_INFO(QUmlParameterableElement, templateParameter, IsDerivedRole, false);
448     Q_DECLARE_METAPROPERTY_INFO(QUmlParameterableElement, templateParameter, IsDerivedUnionRole, false);
449     Q_DECLARE_METAPROPERTY_INFO(QUmlParameterableElement, templateParameter, DocumentationRole, QStringLiteral("The template parameter that exposes this element as a formal parameter."));
450     Q_DECLARE_METAPROPERTY_INFO(QUmlParameterableElement, templateParameter, RedefinedPropertiesRole, QStringLiteral(""));
451     Q_DECLARE_METAPROPERTY_INFO(QUmlParameterableElement, templateParameter, SubsettedPropertiesRole, QStringLiteral(""));
452     Q_DECLARE_METAPROPERTY_INFO(QUmlParameterableElement, templateParameter, OppositeEndRole, QStringLiteral("TemplateParameter-parameteredElement"));
453
454     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, clientDependencies, AggregationRole, QStringLiteral("none"));
455     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, clientDependencies, PropertyClassRole, QStringLiteral("QUmlNamedElement"));
456     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, clientDependencies, IsDerivedRole, false);
457     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, clientDependencies, IsDerivedUnionRole, false);
458     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, clientDependencies, DocumentationRole, QStringLiteral("Indicates the dependencies that reference the client."));
459     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, clientDependencies, RedefinedPropertiesRole, QStringLiteral(""));
460     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, clientDependencies, SubsettedPropertiesRole, QStringLiteral("A_source_directedRelationship-directedRelationship"));
461     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, clientDependencies, OppositeEndRole, QStringLiteral("Dependency-client"));
462
463     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, name, AggregationRole, QStringLiteral("none"));
464     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, name, PropertyClassRole, QStringLiteral("QUmlNamedElement"));
465     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, name, IsDerivedRole, false);
466     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, name, IsDerivedUnionRole, false);
467     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, name, DocumentationRole, QStringLiteral("The name of the NamedElement."));
468     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, name, RedefinedPropertiesRole, QStringLiteral(""));
469     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, name, SubsettedPropertiesRole, QStringLiteral(""));
470     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, name, OppositeEndRole, QStringLiteral(""));
471
472     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, nameExpression, AggregationRole, QStringLiteral("composite"));
473     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, nameExpression, PropertyClassRole, QStringLiteral("QUmlNamedElement"));
474     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, nameExpression, IsDerivedRole, false);
475     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, nameExpression, IsDerivedUnionRole, false);
476     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, nameExpression, DocumentationRole, QStringLiteral("The string expression used to define the name of this named element."));
477     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, nameExpression, RedefinedPropertiesRole, QStringLiteral(""));
478     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, nameExpression, SubsettedPropertiesRole, QStringLiteral("Element-ownedElement"));
479     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, nameExpression, OppositeEndRole, QStringLiteral(""));
480
481     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, namespace_, AggregationRole, QStringLiteral("none"));
482     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, namespace_, PropertyClassRole, QStringLiteral("QUmlNamedElement"));
483     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, namespace_, IsDerivedRole, true);
484     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, namespace_, IsDerivedUnionRole, true);
485     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, namespace_, DocumentationRole, QStringLiteral("Specifies the namespace that owns the NamedElement."));
486     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, namespace_, RedefinedPropertiesRole, QStringLiteral(""));
487     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, namespace_, SubsettedPropertiesRole, QStringLiteral("A_member_memberNamespace-memberNamespace Element-owner"));
488     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, namespace_, OppositeEndRole, QStringLiteral("Namespace-ownedMember"));
489
490     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, qualifiedName, AggregationRole, QStringLiteral("none"));
491     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, qualifiedName, PropertyClassRole, QStringLiteral("QUmlNamedElement"));
492     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, qualifiedName, IsDerivedRole, true);
493     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, qualifiedName, IsDerivedUnionRole, false);
494     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."));
495     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, qualifiedName, RedefinedPropertiesRole, QStringLiteral(""));
496     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, qualifiedName, SubsettedPropertiesRole, QStringLiteral(""));
497     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, qualifiedName, OppositeEndRole, QStringLiteral(""));
498
499     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, visibility, AggregationRole, QStringLiteral("none"));
500     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, visibility, PropertyClassRole, QStringLiteral("QUmlNamedElement"));
501     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, visibility, IsDerivedRole, false);
502     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, visibility, IsDerivedUnionRole, false);
503     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, visibility, DocumentationRole, QStringLiteral("Determines where the NamedElement appears within different Namespaces within the overall model, and its accessibility."));
504     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, visibility, RedefinedPropertiesRole, QStringLiteral(""));
505     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, visibility, SubsettedPropertiesRole, QStringLiteral(""));
506     Q_DECLARE_METAPROPERTY_INFO(QUmlNamedElement, visibility, OppositeEndRole, QStringLiteral(""));
507
508     Q_DECLARE_METAPROPERTY_INFO(QUmlPackageableElement, visibility, AggregationRole, QStringLiteral("none"));
509     Q_DECLARE_METAPROPERTY_INFO(QUmlPackageableElement, visibility, PropertyClassRole, QStringLiteral("QUmlPackageableElement"));
510     Q_DECLARE_METAPROPERTY_INFO(QUmlPackageableElement, visibility, IsDerivedRole, false);
511     Q_DECLARE_METAPROPERTY_INFO(QUmlPackageableElement, visibility, IsDerivedUnionRole, false);
512     Q_DECLARE_METAPROPERTY_INFO(QUmlPackageableElement, visibility, DocumentationRole, QStringLiteral("Indicates that packageable elements must always have a visibility, i.e., visibility is not optional."));
513     Q_DECLARE_METAPROPERTY_INFO(QUmlPackageableElement, visibility, RedefinedPropertiesRole, QStringLiteral("NamedElement-visibility"));
514     Q_DECLARE_METAPROPERTY_INFO(QUmlPackageableElement, visibility, SubsettedPropertiesRole, QStringLiteral(""));
515     Q_DECLARE_METAPROPERTY_INFO(QUmlPackageableElement, visibility, OppositeEndRole, QStringLiteral(""));
516
517     Q_DECLARE_METAPROPERTY_INFO(QUmlConstraint, constrainedElements, AggregationRole, QStringLiteral("none"));
518     Q_DECLARE_METAPROPERTY_INFO(QUmlConstraint, constrainedElements, PropertyClassRole, QStringLiteral("QUmlConstraint"));
519     Q_DECLARE_METAPROPERTY_INFO(QUmlConstraint, constrainedElements, IsDerivedRole, false);
520     Q_DECLARE_METAPROPERTY_INFO(QUmlConstraint, constrainedElements, IsDerivedUnionRole, false);
521     Q_DECLARE_METAPROPERTY_INFO(QUmlConstraint, constrainedElements, DocumentationRole, QStringLiteral("The ordered set of Elements referenced by this Constraint."));
522     Q_DECLARE_METAPROPERTY_INFO(QUmlConstraint, constrainedElements, RedefinedPropertiesRole, QStringLiteral(""));
523     Q_DECLARE_METAPROPERTY_INFO(QUmlConstraint, constrainedElements, SubsettedPropertiesRole, QStringLiteral(""));
524     Q_DECLARE_METAPROPERTY_INFO(QUmlConstraint, constrainedElements, OppositeEndRole, QStringLiteral(""));
525
526     Q_DECLARE_METAPROPERTY_INFO(QUmlConstraint, context, AggregationRole, QStringLiteral("none"));
527     Q_DECLARE_METAPROPERTY_INFO(QUmlConstraint, context, PropertyClassRole, QStringLiteral("QUmlConstraint"));
528     Q_DECLARE_METAPROPERTY_INFO(QUmlConstraint, context, IsDerivedRole, false);
529     Q_DECLARE_METAPROPERTY_INFO(QUmlConstraint, context, IsDerivedUnionRole, false);
530     Q_DECLARE_METAPROPERTY_INFO(QUmlConstraint, context, DocumentationRole, QStringLiteral("Specifies the namespace that owns the NamedElement."));
531     Q_DECLARE_METAPROPERTY_INFO(QUmlConstraint, context, RedefinedPropertiesRole, QStringLiteral(""));
532     Q_DECLARE_METAPROPERTY_INFO(QUmlConstraint, context, SubsettedPropertiesRole, QStringLiteral("NamedElement-namespace"));
533     Q_DECLARE_METAPROPERTY_INFO(QUmlConstraint, context, OppositeEndRole, QStringLiteral("Namespace-ownedRule"));
534
535     Q_DECLARE_METAPROPERTY_INFO(QUmlConstraint, specification, AggregationRole, QStringLiteral("composite"));
536     Q_DECLARE_METAPROPERTY_INFO(QUmlConstraint, specification, PropertyClassRole, QStringLiteral("QUmlConstraint"));
537     Q_DECLARE_METAPROPERTY_INFO(QUmlConstraint, specification, IsDerivedRole, false);
538     Q_DECLARE_METAPROPERTY_INFO(QUmlConstraint, specification, IsDerivedUnionRole, false);
539     Q_DECLARE_METAPROPERTY_INFO(QUmlConstraint, specification, DocumentationRole, QStringLiteral("A condition that must be true when evaluated in order for the constraint to be satisfied."));
540     Q_DECLARE_METAPROPERTY_INFO(QUmlConstraint, specification, RedefinedPropertiesRole, QStringLiteral(""));
541     Q_DECLARE_METAPROPERTY_INFO(QUmlConstraint, specification, SubsettedPropertiesRole, QStringLiteral("Element-ownedElement"));
542     Q_DECLARE_METAPROPERTY_INFO(QUmlConstraint, specification, OppositeEndRole, QStringLiteral(""));
543
544     Q_DECLARE_METAPROPERTY_INFO(QUmlInteractionConstraint, maxint, AggregationRole, QStringLiteral("composite"));
545     Q_DECLARE_METAPROPERTY_INFO(QUmlInteractionConstraint, maxint, PropertyClassRole, QStringLiteral("QUmlInteractionConstraint"));
546     Q_DECLARE_METAPROPERTY_INFO(QUmlInteractionConstraint, maxint, IsDerivedRole, false);
547     Q_DECLARE_METAPROPERTY_INFO(QUmlInteractionConstraint, maxint, IsDerivedUnionRole, false);
548     Q_DECLARE_METAPROPERTY_INFO(QUmlInteractionConstraint, maxint, DocumentationRole, QStringLiteral("The maximum number of iterations of a loop"));
549     Q_DECLARE_METAPROPERTY_INFO(QUmlInteractionConstraint, maxint, RedefinedPropertiesRole, QStringLiteral(""));
550     Q_DECLARE_METAPROPERTY_INFO(QUmlInteractionConstraint, maxint, SubsettedPropertiesRole, QStringLiteral("Element-ownedElement"));
551     Q_DECLARE_METAPROPERTY_INFO(QUmlInteractionConstraint, maxint, OppositeEndRole, QStringLiteral(""));
552
553     Q_DECLARE_METAPROPERTY_INFO(QUmlInteractionConstraint, minint, AggregationRole, QStringLiteral("composite"));
554     Q_DECLARE_METAPROPERTY_INFO(QUmlInteractionConstraint, minint, PropertyClassRole, QStringLiteral("QUmlInteractionConstraint"));
555     Q_DECLARE_METAPROPERTY_INFO(QUmlInteractionConstraint, minint, IsDerivedRole, false);
556     Q_DECLARE_METAPROPERTY_INFO(QUmlInteractionConstraint, minint, IsDerivedUnionRole, false);
557     Q_DECLARE_METAPROPERTY_INFO(QUmlInteractionConstraint, minint, DocumentationRole, QStringLiteral("The minimum number of iterations of a loop"));
558     Q_DECLARE_METAPROPERTY_INFO(QUmlInteractionConstraint, minint, RedefinedPropertiesRole, QStringLiteral(""));
559     Q_DECLARE_METAPROPERTY_INFO(QUmlInteractionConstraint, minint, SubsettedPropertiesRole, QStringLiteral("Element-ownedElement"));
560     Q_DECLARE_METAPROPERTY_INFO(QUmlInteractionConstraint, minint, OppositeEndRole, QStringLiteral(""));
561
562 }
563
564 QT_END_NAMESPACE
565