summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSandro S. Andrade <sandroandrade@kde.org>2014-06-16 19:58:48 -0300
committerSandro S. Andrade <sandroandrade@kde.org>2014-06-17 00:51:57 +0200
commit2f928ade708e4eeb148c02eca3329de174782f1b (patch)
treea442eab7c00d798737c808b9fab43295cac83fe9
parent6c05c4f32b3fb75da59b39614be4ae97f953379f (diff)
Add improvements in SADuseProfile
Change-Id: Ia5686c3020e832ce3162ec3a96336271193fc2e2 Reviewed-by: Sandro S. Andrade <sandroandrade@kde.org>
-rw-r--r--scripts/normative-xmi/SADuseProfile.xmi70
-rw-r--r--src/plugins/metamodels/saduseprofile/SADuseProfile.xmi64
-rw-r--r--src/plugins/metamodels/saduseprofile/qsaduseprofilemetamodelplugin.cpp3
-rw-r--r--src/saduseprofile/qobjects/qsaduseprofilepidcontrollerobject.cpp176
-rw-r--r--src/saduseprofile/qobjects/qsaduseprofilepidcontrollerobject_p.h107
-rw-r--r--src/saduseprofile/qobjects/qsaduseprofileprocesscomponentobject.cpp2
-rw-r--r--src/saduseprofile/qobjects/qsaduseprofilesisocontrollerobject.cpp104
-rw-r--r--src/saduseprofile/qobjects/qsaduseprofilesisocontrollerobject_p.h87
-rw-r--r--src/saduseprofile/qobjects/qsaduseprofiletfprocesscomponentobject.cpp152
-rw-r--r--src/saduseprofile/qobjects/qsaduseprofiletfprocesscomponentobject_p.h103
-rw-r--r--src/saduseprofile/qsaduseprofilecontroller.cpp89
-rw-r--r--src/saduseprofile/qsaduseprofilecontroller.h76
-rw-r--r--src/saduseprofile/qsaduseprofilepidcontroller.cpp125
-rw-r--r--src/saduseprofile/qsaduseprofilepidcontroller.h79
-rw-r--r--src/saduseprofile/qsaduseprofileprocesscomponent.cpp26
-rw-r--r--src/saduseprofile/qsaduseprofileprocesscomponent.h5
-rw-r--r--src/saduseprofile/qsaduseprofilesisocontroller.cpp68
-rw-r--r--src/saduseprofile/qsaduseprofilesisocontroller.h70
-rw-r--r--src/saduseprofile/qsaduseprofiletfprocesscomponent.cpp108
-rw-r--r--src/saduseprofile/qsaduseprofiletfprocesscomponent.h76
-rw-r--r--src/saduseprofile/saduseprofile.pri18
-rw-r--r--src/saduseprofile/saduseprofile.pro2
-rwxr-xr-xvirtual-mof.txt1
-rwxr-xr-xvirtual-uml.txt1
24 files changed, 1559 insertions, 53 deletions
diff --git a/scripts/normative-xmi/SADuseProfile.xmi b/scripts/normative-xmi/SADuseProfile.xmi
index 366a10f7..526a7629 100644
--- a/scripts/normative-xmi/SADuseProfile.xmi
+++ b/scripts/normative-xmi/SADuseProfile.xmi
@@ -1,22 +1,68 @@
<?xml version="1.0" encoding="UTF-8"?>
<xmi:XMI xmlns:xmi="http://www.omg.org/spec/XMI/20110701" xmlns:uml="http://www.omg.org/spec/UML/20110701">
<uml:Profile name="SADuseProfile" xmi:id="SADuseProfile" URI="http://liveblue.wordpress.com/SADuseProfile">
- <elementImport xmi:type="uml:ElementImport" xmi:id="_elementImport.0">
+ <packageImport xmi:type="uml:PackageImport" xmi:id="packageImport0">
+ <importedPackage href=":/metamodels/PrimitiveTypes.xmi#_0"/>
+ </packageImport>
+ <elementImport xmi:type="uml:ElementImport" xmi:id="elementImport0">
<importedElement href="http://www.omg.org/spec/UML/20110701/UML.xmi#Component"/>
</elementImport>
- <packagedElement xmi:type="uml:Stereotype" name="ProcessComponent" xmi:id="ProcessComponent">
- <ownedComment xmi:type="uml:Comment" xmi:id="ProcessComponent-_ownedComment.0" annotatedElement="ProcessComponent">
- <body>This stereotype indicates the corresponding QUmlComponent acts as a process component.</body>
- </ownedComment>
- <ownedAttribute xmi:type="uml:Property" visibility="public" name="base_Component" xmi:id="ProcessComponent-base_Component" association="A_component_processComponent">
- <ownedComment xmi:type="uml:Comment" xmi:id="ProcessComponent-base_Component-_ownedComment.0" annotatedElement="ProcessComponent-base_Component">
- <body>The QUmlComponent which this QSADuseProfileProcessComponent is attached to.</body>
- </ownedComment>
- <type href="http://www.omg.org/spec/UML/20110701/UML.xmi#Component"/>
+ <!-- Process Components -->
+ <packagedElement xmi:type="uml:Stereotype" name="ProcessComponent" xmi:id="ProcessComponent" isAbstract="true">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="ProcessComponent-base_Component" visibility="public" name="base_Component" association="A_component_processComponent">
+ <type href="http://www.omg.org/spec/UML/20110701/UML.xmi#Component"/>
</ownedAttribute>
</packagedElement>
- <packagedElement xmi:type="uml:Extension" name="A_component_processComponent" xmi:id="A_component_processComponent" memberEnd="A_component_processComponent-ProcessComponent ProcessComponent-base_Component">
- <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="A_component_processComponent-ProcessComponent" name="extension_ProcessComponent" type="ProcessComponent" aggregation="composite" association="A_component_processComponent"/>
+ <packagedElement xmi:type="uml:Extension" xmi:id="A_component_processComponent" name="A_component_processComponent">
+ <memberEnd xmi:idref="A_component_processComponent-extension_ProcessComponent"/>
+ <memberEnd xmi:idref="ProcessComponent-base_Component"/>
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="A_component_processComponent-extension_ProcessComponent" name="extension_ProcessComponent" type="ProcessComponent" aggregation="composite" association="A_component_processComponent"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" name="TFProcessComponent" xmi:id="TFProcessComponent">
+ <generalization xmi:type="uml:Generalization" xmi:id="TFProcessComponent-generalization0" general="ProcessComponent"/>
+ <ownedAttribute xmi:type="uml:Property" name="tfNum" xmi:id="TFProcessComponent-tfNum">
+ <type href=":/metamodels/PrimitiveTypes.xmi#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="TFProcessComponent-tfNum-lowerValue" value="1"/>
+ <upperValue xmi:type="uml:LiteralInteger" xmi:id="TFProcessComponent-tfNum-upperValue" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:type="uml:Property" name="tfDen" xmi:id="TFProcessComponent-tfDen">
+ <type href=":/metamodels/PrimitiveTypes.xmi#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="TFProcessComponent-tfDen-lowerValue" value="1"/>
+ <upperValue xmi:type="uml:LiteralInteger" xmi:id="TFProcessComponent-tfDen-upperValue" value="1"/>
+ </ownedAttribute>
+ </packagedElement>
+ <!-- Controllers -->
+ <packagedElement xmi:type="uml:Stereotype" name="Controller" xmi:id="Controller" isAbstract="true">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="Controller-base_Component" visibility="public" name="base_Component" association="A_component_controller">
+ <type href="http://www.omg.org/spec/UML/20110701/UML.xmi#Component"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="A_component_controller" name="A_component_controller">
+ <memberEnd xmi:idref="A_component_controller-extension_Controller"/>
+ <memberEnd xmi:idref="Controller-base_Component"/>
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="A_component_controller-extension_Controller" name="extension_Controller" type="Controller" aggregation="composite" association="A_component_controller"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" name="SISOController" xmi:id="SISOController" isAbstract="true">
+ <generalization xmi:type="uml:Generalization" xmi:id="SISOController-generalization0" general="Controller"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" name="PIDController" xmi:id="PIDController">
+ <generalization xmi:type="uml:Generalization" xmi:id="PIDController-generalization0" general="SISOController"/>
+ <ownedAttribute xmi:type="uml:Property" name="kp" xmi:id="PIDController-kp">
+ <type href=":/metamodels/PrimitiveTypes.xmi#Real"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="PIDController-kp-lowerValue" value="1"/>
+ <upperValue xmi:type="uml:LiteralInteger" xmi:id="PIDController-kp-upperValue" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:type="uml:Property" name="ki" xmi:id="PIDController-ki">
+ <type href=":/metamodels/PrimitiveTypes.xmi#Real"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="PIDController-ki-lowerValue" value="1"/>
+ <upperValue xmi:type="uml:LiteralInteger" xmi:id="PIDController-ki-upperValue" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:type="uml:Property" name="kd" xmi:id="PIDController-kd">
+ <type href=":/metamodels/PrimitiveTypes.xmi#Real"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="PIDController-kd-lowerValue" value="1"/>
+ <upperValue xmi:type="uml:LiteralInteger" xmi:id="PIDController-kd-upperValue" value="1"/>
+ </ownedAttribute>
</packagedElement>
</uml:Profile>
</xmi:XMI>
+
diff --git a/src/plugins/metamodels/saduseprofile/SADuseProfile.xmi b/src/plugins/metamodels/saduseprofile/SADuseProfile.xmi
index f34ba394..526a7629 100644
--- a/src/plugins/metamodels/saduseprofile/SADuseProfile.xmi
+++ b/src/plugins/metamodels/saduseprofile/SADuseProfile.xmi
@@ -1,16 +1,68 @@
<?xml version="1.0" encoding="UTF-8"?>
<xmi:XMI xmlns:xmi="http://www.omg.org/spec/XMI/20110701" xmlns:uml="http://www.omg.org/spec/UML/20110701">
<uml:Profile name="SADuseProfile" xmi:id="SADuseProfile" URI="http://liveblue.wordpress.com/SADuseProfile">
- <elementImport xmi:type="uml:ElementImport" xmi:id="_elementImport.0">
+ <packageImport xmi:type="uml:PackageImport" xmi:id="packageImport0">
+ <importedPackage href=":/metamodels/PrimitiveTypes.xmi#_0"/>
+ </packageImport>
+ <elementImport xmi:type="uml:ElementImport" xmi:id="elementImport0">
<importedElement href="http://www.omg.org/spec/UML/20110701/UML.xmi#Component"/>
</elementImport>
- <packagedElement xmi:type="uml:Stereotype" name="ProcessComponent" xmi:id="ProcessComponent">
- <ownedAttribute xmi:type="uml:Property" visibility="public" name="base_Component" xmi:id="ProcessComponent-base_Component" association="A_component_processComponent">
- <type href="http://www.omg.org/spec/UML/20110701/UML.xmi#Component"/>
+ <!-- Process Components -->
+ <packagedElement xmi:type="uml:Stereotype" name="ProcessComponent" xmi:id="ProcessComponent" isAbstract="true">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="ProcessComponent-base_Component" visibility="public" name="base_Component" association="A_component_processComponent">
+ <type href="http://www.omg.org/spec/UML/20110701/UML.xmi#Component"/>
</ownedAttribute>
</packagedElement>
- <packagedElement xmi:type="uml:Extension" name="A_component_processComponent" xmi:id="A_component_processComponent" memberEnd="A_component_processComponent-ProcessComponent ProcessComponent-base_Component">
- <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="A_component_processComponent-ProcessComponent" name="extension_ProcessComponent" type="ProcessComponent" aggregation="composite" association="A_component_processComponent"/>
+ <packagedElement xmi:type="uml:Extension" xmi:id="A_component_processComponent" name="A_component_processComponent">
+ <memberEnd xmi:idref="A_component_processComponent-extension_ProcessComponent"/>
+ <memberEnd xmi:idref="ProcessComponent-base_Component"/>
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="A_component_processComponent-extension_ProcessComponent" name="extension_ProcessComponent" type="ProcessComponent" aggregation="composite" association="A_component_processComponent"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" name="TFProcessComponent" xmi:id="TFProcessComponent">
+ <generalization xmi:type="uml:Generalization" xmi:id="TFProcessComponent-generalization0" general="ProcessComponent"/>
+ <ownedAttribute xmi:type="uml:Property" name="tfNum" xmi:id="TFProcessComponent-tfNum">
+ <type href=":/metamodels/PrimitiveTypes.xmi#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="TFProcessComponent-tfNum-lowerValue" value="1"/>
+ <upperValue xmi:type="uml:LiteralInteger" xmi:id="TFProcessComponent-tfNum-upperValue" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:type="uml:Property" name="tfDen" xmi:id="TFProcessComponent-tfDen">
+ <type href=":/metamodels/PrimitiveTypes.xmi#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="TFProcessComponent-tfDen-lowerValue" value="1"/>
+ <upperValue xmi:type="uml:LiteralInteger" xmi:id="TFProcessComponent-tfDen-upperValue" value="1"/>
+ </ownedAttribute>
+ </packagedElement>
+ <!-- Controllers -->
+ <packagedElement xmi:type="uml:Stereotype" name="Controller" xmi:id="Controller" isAbstract="true">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="Controller-base_Component" visibility="public" name="base_Component" association="A_component_controller">
+ <type href="http://www.omg.org/spec/UML/20110701/UML.xmi#Component"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="A_component_controller" name="A_component_controller">
+ <memberEnd xmi:idref="A_component_controller-extension_Controller"/>
+ <memberEnd xmi:idref="Controller-base_Component"/>
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="A_component_controller-extension_Controller" name="extension_Controller" type="Controller" aggregation="composite" association="A_component_controller"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" name="SISOController" xmi:id="SISOController" isAbstract="true">
+ <generalization xmi:type="uml:Generalization" xmi:id="SISOController-generalization0" general="Controller"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" name="PIDController" xmi:id="PIDController">
+ <generalization xmi:type="uml:Generalization" xmi:id="PIDController-generalization0" general="SISOController"/>
+ <ownedAttribute xmi:type="uml:Property" name="kp" xmi:id="PIDController-kp">
+ <type href=":/metamodels/PrimitiveTypes.xmi#Real"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="PIDController-kp-lowerValue" value="1"/>
+ <upperValue xmi:type="uml:LiteralInteger" xmi:id="PIDController-kp-upperValue" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:type="uml:Property" name="ki" xmi:id="PIDController-ki">
+ <type href=":/metamodels/PrimitiveTypes.xmi#Real"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="PIDController-ki-lowerValue" value="1"/>
+ <upperValue xmi:type="uml:LiteralInteger" xmi:id="PIDController-ki-upperValue" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:type="uml:Property" name="kd" xmi:id="PIDController-kd">
+ <type href=":/metamodels/PrimitiveTypes.xmi#Real"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="PIDController-kd-lowerValue" value="1"/>
+ <upperValue xmi:type="uml:LiteralInteger" xmi:id="PIDController-kd-upperValue" value="1"/>
+ </ownedAttribute>
</packagedElement>
</uml:Profile>
</xmi:XMI>
+
diff --git a/src/plugins/metamodels/saduseprofile/qsaduseprofilemetamodelplugin.cpp b/src/plugins/metamodels/saduseprofile/qsaduseprofilemetamodelplugin.cpp
index d7b7c103..9017a0d3 100644
--- a/src/plugins/metamodels/saduseprofile/qsaduseprofilemetamodelplugin.cpp
+++ b/src/plugins/metamodels/saduseprofile/qsaduseprofilemetamodelplugin.cpp
@@ -51,7 +51,8 @@ QSADuseProfileMetaModelPlugin::QSADuseProfileMetaModelPlugin(QObject *parent)
QModelingElement *QSADuseProfileMetaModelPlugin::createModelingElement(QString type)
{
- if (type == "QSADuseProfileProcessComponent") return new QSADuseProfileProcessComponent;
+ if (type == "QSADuseProfileTFProcessComponent") return new QSADuseProfileTFProcessComponent;
+ if (type == "QSADuseProfilePIDController") return new QSADuseProfilePIDController;
Q_ASSERT_X(true,
"QSADuseProfileMetaModelPlugin::createModelingElement",
QStringLiteral("QSADuseProfileMetaModelPlugin does not know how to create instances of '%1' type !").arg(type).toLatin1());
diff --git a/src/saduseprofile/qobjects/qsaduseprofilepidcontrollerobject.cpp b/src/saduseprofile/qobjects/qsaduseprofilepidcontrollerobject.cpp
new file mode 100644
index 00000000..f5a5af82
--- /dev/null
+++ b/src/saduseprofile/qobjects/qsaduseprofilepidcontrollerobject.cpp
@@ -0,0 +1,176 @@
+/****************************************************************************
+**
+** Copyright (C) 2013 Sandro S. Andrade <sandroandrade@kde.org>
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the QtSADuseProfile module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Digia. For licensing terms and
+** conditions see http://qt.digia.com/licensing. For further information
+** use the contact form at http://qt.digia.com/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Digia gives you certain additional
+** rights. These rights are described in the Digia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+#include "qsaduseprofilepidcontrollerobject_p.h"
+#include "private/qmodelingobject_p.h"
+
+#include <QtSADuseProfile/QSADuseProfilePIDController>
+#include <QtUml/QUmlComponent>
+
+QT_BEGIN_NAMESPACE
+
+QSADuseProfilePIDControllerObject::QSADuseProfilePIDControllerObject(QSADuseProfilePIDController *modelingElement)
+{
+ setProperty("modelingElement", QVariant::fromValue(static_cast<QModelingElement *>(modelingElement)));
+ setGroupProperties();
+ setPropertyData();
+}
+
+// OWNED ATTRIBUTES [Controller]
+
+QObject *QSADuseProfilePIDControllerObject::base_Component() const
+{
+ if (!qmodelingelementproperty_cast<QSADuseProfilePIDController *>(this)->base_Component())
+ return 0;
+ else
+ return qmodelingelementproperty_cast<QSADuseProfilePIDController *>(this)->base_Component()->asQModelingObject();
+}
+
+// OWNED ATTRIBUTES [PIDController]
+
+double QSADuseProfilePIDControllerObject::kp() const
+{
+ return qmodelingelementproperty_cast<QSADuseProfilePIDController *>(this)->kp();
+}
+
+double QSADuseProfilePIDControllerObject::ki() const
+{
+ return qmodelingelementproperty_cast<QSADuseProfilePIDController *>(this)->ki();
+}
+
+double QSADuseProfilePIDControllerObject::kd() const
+{
+ return qmodelingelementproperty_cast<QSADuseProfilePIDController *>(this)->kd();
+}
+
+// SLOTS FOR OWNED ATTRIBUTES [Controller]
+
+void QSADuseProfilePIDControllerObject::setBase_Component(QObject *base_Component)
+{
+ qmodelingelementproperty_cast<QSADuseProfilePIDController *>(this)->setBase_Component(qmodelingelementproperty_cast<QUmlComponent *>(base_Component));
+ emit base_ComponentChanged(this->base_Component());
+}
+
+// SLOTS FOR OWNED ATTRIBUTES [PIDController]
+
+void QSADuseProfilePIDControllerObject::setKp(double kp)
+{
+ qmodelingelementproperty_cast<QSADuseProfilePIDController *>(this)->setKp(kp);
+ emit kpChanged(this->kp());
+}
+
+void QSADuseProfilePIDControllerObject::setKi(double ki)
+{
+ qmodelingelementproperty_cast<QSADuseProfilePIDController *>(this)->setKi(ki);
+ emit kiChanged(this->ki());
+}
+
+void QSADuseProfilePIDControllerObject::setKd(double kd)
+{
+ qmodelingelementproperty_cast<QSADuseProfilePIDController *>(this)->setKd(kd);
+ emit kdChanged(this->kd());
+}
+
+
+void QSADuseProfilePIDControllerObject::setGroupProperties()
+{
+ Q_D(QModelingObject);
+ const QMetaObject *metaObject = this->metaObject();
+
+ d->propertyGroups << QStringLiteral("QObject");
+ d->groupProperties.insert(QStringLiteral("QObject"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("objectName"))));
+
+ d->propertyGroups << QStringLiteral("QSADuseProfileController");
+ d->groupProperties.insert(QStringLiteral("QSADuseProfileController"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("base_Component"))));
+
+ d->propertyGroups << QStringLiteral("QSADuseProfileSISOController");
+
+ d->propertyGroups << QStringLiteral("QSADuseProfilePIDController");
+ d->groupProperties.insert(QStringLiteral("QSADuseProfilePIDController"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("kp"))));
+ d->groupProperties.insert(QStringLiteral("QSADuseProfilePIDController"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("ki"))));
+ d->groupProperties.insert(QStringLiteral("QSADuseProfilePIDController"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("kd"))));
+}
+
+void QSADuseProfilePIDControllerObject::setPropertyData()
+{
+ Q_DECLARE_METAPROPERTY_INFO(QSADuseProfileController, base_Component, AggregationRole, QStringLiteral("none"));
+ Q_DECLARE_METAPROPERTY_INFO(QSADuseProfileController, base_Component, PropertyClassRole, QStringLiteral("QSADuseProfileController"));
+ Q_DECLARE_METAPROPERTY_INFO(QSADuseProfileController, base_Component, PropertyTypeRole, QStringLiteral("QUmlComponent *"));
+ Q_DECLARE_METAPROPERTY_INFO(QSADuseProfileController, base_Component, IsDerivedRole, false);
+ Q_DECLARE_METAPROPERTY_INFO(QSADuseProfileController, base_Component, IsDerivedUnionRole, false);
+ Q_DECLARE_METAPROPERTY_INFO(QSADuseProfileController, base_Component, DocumentationRole, QStringLiteral(""));
+ Q_DECLARE_METAPROPERTY_INFO(QSADuseProfileController, base_Component, RedefinedPropertiesRole, QStringLiteral(""));
+ Q_DECLARE_METAPROPERTY_INFO(QSADuseProfileController, base_Component, SubsettedPropertiesRole, QStringLiteral(""));
+ Q_DECLARE_METAPROPERTY_INFO(QSADuseProfileController, base_Component, OppositeEndRole, QStringLiteral(""));
+
+ Q_DECLARE_METAPROPERTY_INFO(QSADuseProfilePIDController, kp, AggregationRole, QStringLiteral("none"));
+ Q_DECLARE_METAPROPERTY_INFO(QSADuseProfilePIDController, kp, PropertyClassRole, QStringLiteral("QSADuseProfilePIDController"));
+ Q_DECLARE_METAPROPERTY_INFO(QSADuseProfilePIDController, kp, PropertyTypeRole, QStringLiteral("double"));
+ Q_DECLARE_METAPROPERTY_INFO(QSADuseProfilePIDController, kp, IsDerivedRole, false);
+ Q_DECLARE_METAPROPERTY_INFO(QSADuseProfilePIDController, kp, IsDerivedUnionRole, false);
+ Q_DECLARE_METAPROPERTY_INFO(QSADuseProfilePIDController, kp, DocumentationRole, QStringLiteral(""));
+ Q_DECLARE_METAPROPERTY_INFO(QSADuseProfilePIDController, kp, RedefinedPropertiesRole, QStringLiteral(""));
+ Q_DECLARE_METAPROPERTY_INFO(QSADuseProfilePIDController, kp, SubsettedPropertiesRole, QStringLiteral(""));
+ Q_DECLARE_METAPROPERTY_INFO(QSADuseProfilePIDController, kp, OppositeEndRole, QStringLiteral(""));
+
+ Q_DECLARE_METAPROPERTY_INFO(QSADuseProfilePIDController, ki, AggregationRole, QStringLiteral("none"));
+ Q_DECLARE_METAPROPERTY_INFO(QSADuseProfilePIDController, ki, PropertyClassRole, QStringLiteral("QSADuseProfilePIDController"));
+ Q_DECLARE_METAPROPERTY_INFO(QSADuseProfilePIDController, ki, PropertyTypeRole, QStringLiteral("double"));
+ Q_DECLARE_METAPROPERTY_INFO(QSADuseProfilePIDController, ki, IsDerivedRole, false);
+ Q_DECLARE_METAPROPERTY_INFO(QSADuseProfilePIDController, ki, IsDerivedUnionRole, false);
+ Q_DECLARE_METAPROPERTY_INFO(QSADuseProfilePIDController, ki, DocumentationRole, QStringLiteral(""));
+ Q_DECLARE_METAPROPERTY_INFO(QSADuseProfilePIDController, ki, RedefinedPropertiesRole, QStringLiteral(""));
+ Q_DECLARE_METAPROPERTY_INFO(QSADuseProfilePIDController, ki, SubsettedPropertiesRole, QStringLiteral(""));
+ Q_DECLARE_METAPROPERTY_INFO(QSADuseProfilePIDController, ki, OppositeEndRole, QStringLiteral(""));
+
+ Q_DECLARE_METAPROPERTY_INFO(QSADuseProfilePIDController, kd, AggregationRole, QStringLiteral("none"));
+ Q_DECLARE_METAPROPERTY_INFO(QSADuseProfilePIDController, kd, PropertyClassRole, QStringLiteral("QSADuseProfilePIDController"));
+ Q_DECLARE_METAPROPERTY_INFO(QSADuseProfilePIDController, kd, PropertyTypeRole, QStringLiteral("double"));
+ Q_DECLARE_METAPROPERTY_INFO(QSADuseProfilePIDController, kd, IsDerivedRole, false);
+ Q_DECLARE_METAPROPERTY_INFO(QSADuseProfilePIDController, kd, IsDerivedUnionRole, false);
+ Q_DECLARE_METAPROPERTY_INFO(QSADuseProfilePIDController, kd, DocumentationRole, QStringLiteral(""));
+ Q_DECLARE_METAPROPERTY_INFO(QSADuseProfilePIDController, kd, RedefinedPropertiesRole, QStringLiteral(""));
+ Q_DECLARE_METAPROPERTY_INFO(QSADuseProfilePIDController, kd, SubsettedPropertiesRole, QStringLiteral(""));
+ Q_DECLARE_METAPROPERTY_INFO(QSADuseProfilePIDController, kd, OppositeEndRole, QStringLiteral(""));
+
+}
+
+QT_END_NAMESPACE
+
diff --git a/src/saduseprofile/qobjects/qsaduseprofilepidcontrollerobject_p.h b/src/saduseprofile/qobjects/qsaduseprofilepidcontrollerobject_p.h
new file mode 100644
index 00000000..2d9c68ab
--- /dev/null
+++ b/src/saduseprofile/qobjects/qsaduseprofilepidcontrollerobject_p.h
@@ -0,0 +1,107 @@
+/****************************************************************************
+**
+** Copyright (C) 2013 Sandro S. Andrade <sandroandrade@kde.org>
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the QtSADuseProfile module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Digia. For licensing terms and
+** conditions see http://qt.digia.com/licensing. For further information
+** use the contact form at http://qt.digia.com/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Digia gives you certain additional
+** rights. These rights are described in the Digia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+#ifndef QSADUSEPROFILEPIDCONTROLLEROBJECT_H
+#define QSADUSEPROFILEPIDCONTROLLEROBJECT_H
+
+#include <QtSADuseProfile/QtSADuseProfileGlobal>
+
+#include <QtModeling/QModelingObject>
+
+QT_BEGIN_NAMESPACE
+
+QT_MODULE(QtSADuseProfile)
+
+class QSADuseProfilePIDController;
+class QModelingObjectPrivate;
+class Q_SADUSEPROFILE_EXPORT QSADuseProfilePIDControllerObject : public QModelingObject
+{
+ Q_OBJECT
+ Q_DISABLE_COPY(QSADuseProfilePIDControllerObject)
+ Q_DECLARE_PRIVATE(QModelingObject)
+
+ // Properties [Controller]
+ Q_PROPERTY(QObject * base_Component READ base_Component WRITE setBase_Component NOTIFY base_ComponentChanged)
+
+ // Properties [PIDController]
+ Q_PROPERTY(double kp READ kp WRITE setKp NOTIFY kpChanged)
+ Q_PROPERTY(double ki READ ki WRITE setKi NOTIFY kiChanged)
+ Q_PROPERTY(double kd READ kd WRITE setKd NOTIFY kdChanged)
+
+public:
+ Q_INVOKABLE explicit QSADuseProfilePIDControllerObject(QSADuseProfilePIDController *modelingElement);
+
+ // Owned attributes [Controller]
+ Q_INVOKABLE QObject *base_Component() const;
+
+ // Owned attributes [PIDController]
+ Q_INVOKABLE double kp() const;
+ Q_INVOKABLE double ki() const;
+ Q_INVOKABLE double kd() const;
+
+public Q_SLOTS:
+
+ // Slots for owned attributes [Controller]
+ void setBase_Component(QObject *base_Component = 0);
+
+ // Slots for owned attributes [PIDController]
+ void setKp(double kp);
+ void setKi(double ki);
+ void setKd(double kd);
+
+Q_SIGNALS:
+
+ // Signals for owned attributes [Controller]
+ void base_ComponentChanged(QObject *base_Component);
+
+ // Signals for owned attributes [PIDController]
+ void kpChanged(double kp);
+ void kiChanged(double ki);
+ void kdChanged(double kd);
+
+protected:
+ virtual void setGroupProperties();
+ virtual void setPropertyData();
+};
+
+QT_END_NAMESPACE
+
+#endif // QSADUSEPROFILEPIDCONTROLLEROBJECT_H
+
diff --git a/src/saduseprofile/qobjects/qsaduseprofileprocesscomponentobject.cpp b/src/saduseprofile/qobjects/qsaduseprofileprocesscomponentobject.cpp
index c8d64eee..86771238 100644
--- a/src/saduseprofile/qobjects/qsaduseprofileprocesscomponentobject.cpp
+++ b/src/saduseprofile/qobjects/qsaduseprofileprocesscomponentobject.cpp
@@ -91,7 +91,7 @@ void QSADuseProfileProcessComponentObject::setPropertyData()
Q_DECLARE_METAPROPERTY_INFO(QSADuseProfileProcessComponent, base_Component, PropertyTypeRole, QStringLiteral("QUmlComponent *"));
Q_DECLARE_METAPROPERTY_INFO(QSADuseProfileProcessComponent, base_Component, IsDerivedRole, false);
Q_DECLARE_METAPROPERTY_INFO(QSADuseProfileProcessComponent, base_Component, IsDerivedUnionRole, false);
- Q_DECLARE_METAPROPERTY_INFO(QSADuseProfileProcessComponent, base_Component, DocumentationRole, QStringLiteral("The QUmlComponent which this QSADuseProfileProcessComponent is attached to."));
+ Q_DECLARE_METAPROPERTY_INFO(QSADuseProfileProcessComponent, base_Component, DocumentationRole, QStringLiteral(""));
Q_DECLARE_METAPROPERTY_INFO(QSADuseProfileProcessComponent, base_Component, RedefinedPropertiesRole, QStringLiteral(""));
Q_DECLARE_METAPROPERTY_INFO(QSADuseProfileProcessComponent, base_Component, SubsettedPropertiesRole, QStringLiteral(""));
Q_DECLARE_METAPROPERTY_INFO(QSADuseProfileProcessComponent, base_Component, OppositeEndRole, QStringLiteral(""));
diff --git a/src/saduseprofile/qobjects/qsaduseprofilesisocontrollerobject.cpp b/src/saduseprofile/qobjects/qsaduseprofilesisocontrollerobject.cpp
new file mode 100644
index 00000000..0bd0d27f
--- /dev/null
+++ b/src/saduseprofile/qobjects/qsaduseprofilesisocontrollerobject.cpp
@@ -0,0 +1,104 @@
+/****************************************************************************
+**
+** Copyright (C) 2013 Sandro S. Andrade <sandroandrade@kde.org>
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the QtSADuseProfile module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Digia. For licensing terms and
+** conditions see http://qt.digia.com/licensing. For further information
+** use the contact form at http://qt.digia.com/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Digia gives you certain additional
+** rights. These rights are described in the Digia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+#include "qsaduseprofilesisocontrollerobject_p.h"
+#include "private/qmodelingobject_p.h"
+
+#include <QtSADuseProfile/QSADuseProfileSISOController>
+#include <QtUml/QUmlComponent>
+
+QT_BEGIN_NAMESPACE
+
+QSADuseProfileSISOControllerObject::QSADuseProfileSISOControllerObject(QSADuseProfileSISOController *modelingElement)
+{
+ setProperty("modelingElement", QVariant::fromValue(static_cast<QModelingElement *>(modelingElement)));
+ setGroupProperties();
+ setPropertyData();
+}
+
+// OWNED ATTRIBUTES [Controller]
+
+QObject *QSADuseProfileSISOControllerObject::base_Component() const
+{
+ if (!qmodelingelementproperty_cast<QSADuseProfileSISOController *>(this)->base_Component())
+ return 0;
+ else
+ return qmodelingelementproperty_cast<QSADuseProfileSISOController *>(this)->base_Component()->asQModelingObject();
+}
+
+// SLOTS FOR OWNED ATTRIBUTES [Controller]
+
+void QSADuseProfileSISOControllerObject::setBase_Component(QObject *base_Component)
+{
+ qmodelingelementproperty_cast<QSADuseProfileSISOController *>(this)->setBase_Component(qmodelingelementproperty_cast<QUmlComponent *>(base_Component));
+ emit base_ComponentChanged(this->base_Component());
+}
+
+
+void QSADuseProfileSISOControllerObject::setGroupProperties()
+{
+ Q_D(QModelingObject);
+ const QMetaObject *metaObject = this->metaObject();
+
+ d->propertyGroups << QStringLiteral("QObject");
+ d->groupProperties.insert(QStringLiteral("QObject"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("objectName"))));
+
+ d->propertyGroups << QStringLiteral("QSADuseProfileController");
+ d->groupProperties.insert(QStringLiteral("QSADuseProfileController"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("base_Component"))));
+
+ d->propertyGroups << QStringLiteral("QSADuseProfileSISOController");
+}
+
+void QSADuseProfileSISOControllerObject::setPropertyData()
+{
+ Q_DECLARE_METAPROPERTY_INFO(QSADuseProfileController, base_Component, AggregationRole, QStringLiteral("none"));
+ Q_DECLARE_METAPROPERTY_INFO(QSADuseProfileController, base_Component, PropertyClassRole, QStringLiteral("QSADuseProfileController"));
+ Q_DECLARE_METAPROPERTY_INFO(QSADuseProfileController, base_Component, PropertyTypeRole, QStringLiteral("QUmlComponent *"));
+ Q_DECLARE_METAPROPERTY_INFO(QSADuseProfileController, base_Component, IsDerivedRole, false);
+ Q_DECLARE_METAPROPERTY_INFO(QSADuseProfileController, base_Component, IsDerivedUnionRole, false);
+ Q_DECLARE_METAPROPERTY_INFO(QSADuseProfileController, base_Component, DocumentationRole, QStringLiteral(""));
+ Q_DECLARE_METAPROPERTY_INFO(QSADuseProfileController, base_Component, RedefinedPropertiesRole, QStringLiteral(""));
+ Q_DECLARE_METAPROPERTY_INFO(QSADuseProfileController, base_Component, SubsettedPropertiesRole, QStringLiteral(""));
+ Q_DECLARE_METAPROPERTY_INFO(QSADuseProfileController, base_Component, OppositeEndRole, QStringLiteral(""));
+
+}
+
+QT_END_NAMESPACE
+
diff --git a/src/saduseprofile/qobjects/qsaduseprofilesisocontrollerobject_p.h b/src/saduseprofile/qobjects/qsaduseprofilesisocontrollerobject_p.h
new file mode 100644
index 00000000..6740963b
--- /dev/null
+++ b/src/saduseprofile/qobjects/qsaduseprofilesisocontrollerobject_p.h
@@ -0,0 +1,87 @@
+/****************************************************************************
+**
+** Copyright (C) 2013 Sandro S. Andrade <sandroandrade@kde.org>
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the QtSADuseProfile module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Digia. For licensing terms and
+** conditions see http://qt.digia.com/licensing. For further information
+** use the contact form at http://qt.digia.com/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Digia gives you certain additional
+** rights. These rights are described in the Digia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+#ifndef QSADUSEPROFILESISOCONTROLLEROBJECT_H
+#define QSADUSEPROFILESISOCONTROLLEROBJECT_H
+
+#include <QtSADuseProfile/QtSADuseProfileGlobal>
+
+#include <QtModeling/QModelingObject>
+
+QT_BEGIN_NAMESPACE
+
+QT_MODULE(QtSADuseProfile)
+
+class QSADuseProfileSISOController;
+class QModelingObjectPrivate;
+class Q_SADUSEPROFILE_EXPORT QSADuseProfileSISOControllerObject : public QModelingObject
+{
+ Q_OBJECT
+ Q_DISABLE_COPY(QSADuseProfileSISOControllerObject)
+ Q_DECLARE_PRIVATE(QModelingObject)
+
+ // Properties [Controller]
+ Q_PROPERTY(QObject * base_Component READ base_Component WRITE setBase_Component NOTIFY base_ComponentChanged)
+
+public:
+ Q_INVOKABLE explicit QSADuseProfileSISOControllerObject(QSADuseProfileSISOController *modelingElement);
+
+ // Owned attributes [Controller]
+ Q_INVOKABLE QObject *base_Component() const;
+
+public Q_SLOTS:
+
+ // Slots for owned attributes [Controller]
+ void setBase_Component(QObject *base_Component = 0);
+
+Q_SIGNALS:
+
+ // Signals for owned attributes [Controller]
+ void base_ComponentChanged(QObject *base_Component);
+
+protected:
+ virtual void setGroupProperties();
+ virtual void setPropertyData();
+};
+
+QT_END_NAMESPACE
+
+#endif // QSADUSEPROFILESISOCONTROLLEROBJECT_H
+
diff --git a/src/saduseprofile/qobjects/qsaduseprofiletfprocesscomponentobject.cpp b/src/saduseprofile/qobjects/qsaduseprofiletfprocesscomponentobject.cpp
new file mode 100644
index 00000000..2aff7ceb
--- /dev/null
+++ b/src/saduseprofile/qobjects/qsaduseprofiletfprocesscomponentobject.cpp
@@ -0,0 +1,152 @@
+/****************************************************************************
+**
+** Copyright (C) 2013 Sandro S. Andrade <sandroandrade@kde.org>
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the QtSADuseProfile module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Digia. For licensing terms and
+** conditions see http://qt.digia.com/licensing. For further information
+** use the contact form at http://qt.digia.com/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Digia gives you certain additional
+** rights. These rights are described in the Digia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+#include "qsaduseprofiletfprocesscomponentobject_p.h"
+#include "private/qmodelingobject_p.h"
+
+#include <QtSADuseProfile/QSADuseProfileTFProcessComponent>
+#include <QtUml/QUmlComponent>
+
+QT_BEGIN_NAMESPACE
+
+QSADuseProfileTFProcessComponentObject::QSADuseProfileTFProcessComponentObject(QSADuseProfileTFProcessComponent *modelingElement)
+{
+ setProperty("modelingElement", QVariant::fromValue(static_cast<QModelingElement *>(modelingElement)));
+ setGroupProperties();
+ setPropertyData();
+}
+
+// OWNED ATTRIBUTES [ProcessComponent]
+
+QObject *QSADuseProfileTFProcessComponentObject::base_Component() const
+{
+ if (!qmodelingelementproperty_cast<QSADuseProfileTFProcessComponent *>(this)->base_Component())
+ return 0;
+ else
+ return qmodelingelementproperty_cast<QSADuseProfileTFProcessComponent *>(this)->base_Component()->asQModelingObject();
+}
+
+// OWNED ATTRIBUTES [TFProcessComponent]
+
+QString QSADuseProfileTFProcessComponentObject::tfNum() const
+{
+ return qmodelingelementproperty_cast<QSADuseProfileTFProcessComponent *>(this)->tfNum();
+}
+
+QString QSADuseProfileTFProcessComponentObject::tfDen() const
+{
+ return qmodelingelementproperty_cast<QSADuseProfileTFProcessComponent *>(this)->tfDen();
+}
+
+// SLOTS FOR OWNED ATTRIBUTES [ProcessComponent]
+
+void QSADuseProfileTFProcessComponentObject::setBase_Component(QObject *base_Component)
+{
+ qmodelingelementproperty_cast<QSADuseProfileTFProcessComponent *>(this)->setBase_Component(qmodelingelementproperty_cast<QUmlComponent *>(base_Component));
+ emit base_ComponentChanged(this->base_Component());
+}
+
+// SLOTS FOR OWNED ATTRIBUTES [TFProcessComponent]
+
+void QSADuseProfileTFProcessComponentObject::setTfNum(QString tfNum)
+{
+ qmodelingelementproperty_cast<QSADuseProfileTFProcessComponent *>(this)->setTfNum(tfNum);
+ emit tfNumChanged(this->tfNum());
+}
+
+void QSADuseProfileTFProcessComponentObject::setTfDen(QString tfDen)
+{
+ qmodelingelementproperty_cast<QSADuseProfileTFProcessComponent *>(this)->setTfDen(tfDen);
+ emit tfDenChanged(this->tfDen());
+}
+
+
+void QSADuseProfileTFProcessComponentObject::setGroupProperties()
+{
+ Q_D(QModelingObject);
+ const QMetaObject *metaObject = this->metaObject();
+
+ d->propertyGroups << QStringLiteral("QObject");
+ d->groupProperties.insert(QStringLiteral("QObject"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("objectName"))));
+
+ d->propertyGroups << QStringLiteral("QSADuseProfileProcessComponent");
+ d->groupProperties.insert(QStringLiteral("QSADuseProfileProcessComponent"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("base_Component"))));
+
+ d->propertyGroups << QStringLiteral("QSADuseProfileTFProcessComponent");
+ d->groupProperties.insert(QStringLiteral("QSADuseProfileTFProcessComponent"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("tfNum"))));
+ d->groupProperties.insert(QStringLiteral("QSADuseProfileTFProcessComponent"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("tfDen"))));
+}
+
+void QSADuseProfileTFProcessComponentObject::setPropertyData()
+{
+ Q_DECLARE_METAPROPERTY_INFO(QSADuseProfileProcessComponent, base_Component, AggregationRole, QStringLiteral("none"));
+ Q_DECLARE_METAPROPERTY_INFO(QSADuseProfileProcessComponent, base_Component, PropertyClassRole, QStringLiteral("QSADuseProfileProcessComponent"));
+ Q_DECLARE_METAPROPERTY_INFO(QSADuseProfileProcessComponent, base_Component, PropertyTypeRole, QStringLiteral("QUmlComponent *"));
+ Q_DECLARE_METAPROPERTY_INFO(QSADuseProfileProcessComponent, base_Component, IsDerivedRole, false);
+ Q_DECLARE_METAPROPERTY_INFO(QSADuseProfileProcessComponent, base_Component, IsDerivedUnionRole, false);
+ Q_DECLARE_METAPROPERTY_INFO(QSADuseProfileProcessComponent, base_Component, DocumentationRole, QStringLiteral(""));
+ Q_DECLARE_METAPROPERTY_INFO(QSADuseProfileProcessComponent, base_Component, RedefinedPropertiesRole, QStringLiteral(""));
+ Q_DECLARE_METAPROPERTY_INFO(QSADuseProfileProcessComponent, base_Component, SubsettedPropertiesRole, QStringLiteral(""));
+ Q_DECLARE_METAPROPERTY_INFO(QSADuseProfileProcessComponent, base_Component, OppositeEndRole, QStringLiteral(""));
+
+ Q_DECLARE_METAPROPERTY_INFO(QSADuseProfileTFProcessComponent, tfNum, AggregationRole, QStringLiteral("none"));
+ Q_DECLARE_METAPROPERTY_INFO(QSADuseProfileTFProcessComponent, tfNum, PropertyClassRole, QStringLiteral("QSADuseProfileTFProcessComponent"));
+ Q_DECLARE_METAPROPERTY_INFO(QSADuseProfileTFProcessComponent, tfNum, PropertyTypeRole, QStringLiteral("QString"));
+ Q_DECLARE_METAPROPERTY_INFO(QSADuseProfileTFProcessComponent, tfNum, IsDerivedRole, false);
+ Q_DECLARE_METAPROPERTY_INFO(QSADuseProfileTFProcessComponent, tfNum, IsDerivedUnionRole, false);
+ Q_DECLARE_METAPROPERTY_INFO(QSADuseProfileTFProcessComponent, tfNum, DocumentationRole, QStringLiteral(""));
+ Q_DECLARE_METAPROPERTY_INFO(QSADuseProfileTFProcessComponent, tfNum, RedefinedPropertiesRole, QStringLiteral(""));
+ Q_DECLARE_METAPROPERTY_INFO(QSADuseProfileTFProcessComponent, tfNum, SubsettedPropertiesRole, QStringLiteral(""));
+ Q_DECLARE_METAPROPERTY_INFO(QSADuseProfileTFProcessComponent, tfNum, OppositeEndRole, QStringLiteral(""));
+
+ Q_DECLARE_METAPROPERTY_INFO(QSADuseProfileTFProcessComponent, tfDen, AggregationRole, QStringLiteral("none"));
+ Q_DECLARE_METAPROPERTY_INFO(QSADuseProfileTFProcessComponent, tfDen, PropertyClassRole, QStringLiteral("QSADuseProfileTFProcessComponent"));
+ Q_DECLARE_METAPROPERTY_INFO(QSADuseProfileTFProcessComponent, tfDen, PropertyTypeRole, QStringLiteral("QString"));
+ Q_DECLARE_METAPROPERTY_INFO(QSADuseProfileTFProcessComponent, tfDen, IsDerivedRole, false);
+ Q_DECLARE_METAPROPERTY_INFO(QSADuseProfileTFProcessComponent, tfDen, IsDerivedUnionRole, false);
+ Q_DECLARE_METAPROPERTY_INFO(QSADuseProfileTFProcessComponent, tfDen, DocumentationRole, QStringLiteral(""));
+ Q_DECLARE_METAPROPERTY_INFO(QSADuseProfileTFProcessComponent, tfDen, RedefinedPropertiesRole, QStringLiteral(""));
+ Q_DECLARE_METAPROPERTY_INFO(QSADuseProfileTFProcessComponent, tfDen, SubsettedPropertiesRole, QStringLiteral(""));
+ Q_DECLARE_METAPROPERTY_INFO(QSADuseProfileTFProcessComponent, tfDen, OppositeEndRole, QStringLiteral(""));
+
+}
+
+QT_END_NAMESPACE
+
diff --git a/src/saduseprofile/qobjects/qsaduseprofiletfprocesscomponentobject_p.h b/src/saduseprofile/qobjects/qsaduseprofiletfprocesscomponentobject_p.h
new file mode 100644
index 00000000..daae68dd
--- /dev/null
+++ b/src/saduseprofile/qobjects/qsaduseprofiletfprocesscomponentobject_p.h
@@ -0,0 +1,103 @@
+/****************************************************************************
+**
+** Copyright (C) 2013 Sandro S. Andrade <sandroandrade@kde.org>
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the QtSADuseProfile module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Digia. For licensing terms and
+** conditions see http://qt.digia.com/licensing. For further information
+** use the contact form at http://qt.digia.com/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Digia gives you certain additional
+** rights. These rights are described in the Digia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+#ifndef QSADUSEPROFILETFPROCESSCOMPONENTOBJECT_H
+#define QSADUSEPROFILETFPROCESSCOMPONENTOBJECT_H
+
+#include <QtSADuseProfile/QtSADuseProfileGlobal>
+
+#include <QtModeling/QModelingObject>
+
+QT_BEGIN_NAMESPACE
+
+QT_MODULE(QtSADuseProfile)
+
+class QSADuseProfileTFProcessComponent;
+class QModelingObjectPrivate;
+class Q_SADUSEPROFILE_EXPORT QSADuseProfileTFProcessComponentObject : public QModelingObject
+{
+ Q_OBJECT
+ Q_DISABLE_COPY(QSADuseProfileTFProcessComponentObject)
+ Q_DECLARE_PRIVATE(QModelingObject)
+
+ // Properties [ProcessComponent]
+ Q_PROPERTY(QObject * base_Component READ base_Component WRITE setBase_Component NOTIFY base_ComponentChanged)
+
+ // Properties [TFProcessComponent]
+ Q_PROPERTY(QString tfNum READ tfNum WRITE setTfNum NOTIFY tfNumChanged)
+ Q_PROPERTY(QString tfDen READ tfDen WRITE setTfDen NOTIFY tfDenChanged)
+
+public:
+ Q_INVOKABLE explicit QSADuseProfileTFProcessComponentObject(QSADuseProfileTFProcessComponent *modelingElement);
+
+ // Owned attributes [ProcessComponent]
+ Q_INVOKABLE QObject *base_Component() const;
+
+ // Owned attributes [TFProcessComponent]
+ Q_INVOKABLE QString tfNum() const;
+ Q_INVOKABLE QString tfDen() const;
+
+public Q_SLOTS:
+
+ // Slots for owned attributes [ProcessComponent]
+ void setBase_Component(QObject *base_Component = 0);
+
+ // Slots for owned attributes [TFProcessComponent]
+ void setTfNum(QString tfNum);
+ void setTfDen(QString tfDen);
+
+Q_SIGNALS:
+
+ // Signals for owned attributes [ProcessComponent]
+ void base_ComponentChanged(QObject *base_Component);
+
+ // Signals for owned attributes [TFProcessComponent]
+ void tfNumChanged(QString tfNum);
+ void tfDenChanged(QString tfDen);
+
+protected:
+ virtual void setGroupProperties();
+ virtual void setPropertyData();
+};
+
+QT_END_NAMESPACE
+
+#endif // QSADUSEPROFILETFPROCESSCOMPONENTOBJECT_H
+
diff --git a/src/saduseprofile/qsaduseprofilecontroller.cpp b/src/saduseprofile/qsaduseprofilecontroller.cpp
new file mode 100644
index 00000000..3382176b
--- /dev/null
+++ b/src/saduseprofile/qsaduseprofilecontroller.cpp
@@ -0,0 +1,89 @@
+/****************************************************************************
+**
+** Copyright (C) 2013 Sandro S. Andrade <sandroandrade@kde.org>
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the QtSADuseProfile module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Digia. For licensing terms and
+** conditions see http://qt.digia.com/licensing. For further information
+** use the contact form at http://qt.digia.com/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Digia gives you certain additional
+** rights. These rights are described in the Digia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+#include "qsaduseprofilecontroller.h"
+
+#include <QtUml/QUmlComponent>
+
+QT_BEGIN_NAMESPACE
+
+QSADuseProfileController::QSADuseProfileController() :
+ _base_Component(0)
+{
+}
+
+/*!
+ Destroys the QSADuseProfileController.
+ */
+QSADuseProfileController::~QSADuseProfileController()
+{
+ QModelingElement::deleteQModelingObject();
+}
+
+QModelingElement *QSADuseProfileController::clone() const
+{
+ QSADuseProfileController *c = new QSADuseProfileController;
+ c->asQModelingObject()->setObjectName(this->asQModelingObject()->objectName());
+ c->asQModelingObject()->setProperty("role", this->asQModelingObject()->property("role"));
+ return c;
+}
+
+// OWNED ATTRIBUTES
+
+QUmlComponent *QSADuseProfileController::base_Component() const
+{
+ // This is a read-write association end
+
+ return _base_Component;
+}
+
+void QSADuseProfileController::setBase_Component(QUmlComponent *base_Component)
+{
+ // This is a read-write association end
+
+ if (_base_Component != base_Component) {
+ _base_Component = base_Component;
+ if (base_Component && base_Component->asQModelingObject() && this->asQModelingObject())
+ QObject::connect(base_Component->asQModelingObject(), SIGNAL(destroyed()), this->asQModelingObject(), SLOT(setBase_Component()));
+ }
+}
+
+QT_END_NAMESPACE
+
diff --git a/src/saduseprofile/qsaduseprofilecontroller.h b/src/saduseprofile/qsaduseprofilecontroller.h
new file mode 100644
index 00000000..38682d65
--- /dev/null
+++ b/src/saduseprofile/qsaduseprofilecontroller.h
@@ -0,0 +1,76 @@
+/****************************************************************************
+**
+** Copyright (C) 2013 Sandro S. Andrade <sandroandrade@kde.org>
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the QtSADuseProfile module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Digia. For licensing terms and
+** conditions see http://qt.digia.com/licensing. For further information
+** use the contact form at http://qt.digia.com/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Digia gives you certain additional
+** rights. These rights are described in the Digia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+#ifndef QSADUSEPROFILECONTROLLER_H
+#define QSADUSEPROFILECONTROLLER_H
+
+#include <QtSADuseProfile/QtSADuseProfileGlobal>
+
+#include <QtModeling/QModelingElement>
+
+QT_BEGIN_NAMESPACE
+
+QT_MODULE(QtSADuseProfile)
+
+class QUmlComponent;
+
+class Q_SADUSEPROFILE_EXPORT QSADuseProfileController : public QModelingElement
+{
+public:
+ virtual ~QSADuseProfileController();
+
+ Q_DECL_HIDDEN virtual QModelingElement *clone() const;
+
+ // Owned attributes
+ QUmlComponent *base_Component() const;
+ void setBase_Component(QUmlComponent *base_Component);
+
+protected:
+ explicit QSADuseProfileController();
+
+ QUmlComponent *_base_Component;
+};
+
+QT_END_NAMESPACE
+
+Q_DECLARE_METATYPE(QT_PREPEND_NAMESPACE(QSADuseProfileController) *)
+
+#endif // QSADUSEPROFILECONTROLLER_H
+
diff --git a/src/saduseprofile/qsaduseprofilepidcontroller.cpp b/src/saduseprofile/qsaduseprofilepidcontroller.cpp
new file mode 100644
index 00000000..f53b9653
--- /dev/null
+++ b/src/saduseprofile/qsaduseprofilepidcontroller.cpp
@@ -0,0 +1,125 @@
+/****************************************************************************
+**
+** Copyright (C) 2013 Sandro S. Andrade <sandroandrade@kde.org>
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the QtSADuseProfile module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Digia. For licensing terms and
+** conditions see http://qt.digia.com/licensing. For further information
+** use the contact form at http://qt.digia.com/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Digia gives you certain additional
+** rights. These rights are described in the Digia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+#include "qsaduseprofilepidcontroller.h"
+
+#include "private/qsaduseprofilepidcontrollerobject_p.h"
+
+#include <QtUml/QUmlComponent>
+
+QT_BEGIN_NAMESPACE
+
+QSADuseProfilePIDController::QSADuseProfilePIDController(bool createQModelingObject)
+{
+ if (createQModelingObject)
+ _qModelingObject = qobject_cast<QModelingObject *>(new QSADuseProfilePIDControllerObject(this));
+}
+
+/*!
+ Destroys the QSADuseProfilePIDController.
+ */
+QSADuseProfilePIDController::~QSADuseProfilePIDController()
+{
+ QModelingElement::deleteQModelingObject();
+}
+
+QModelingElement *QSADuseProfilePIDController::clone() const
+{
+ QSADuseProfilePIDController *c = new QSADuseProfilePIDController;
+ c->asQModelingObject()->setObjectName(this->asQModelingObject()->objectName());
+ c->asQModelingObject()->setProperty("role", this->asQModelingObject()->property("role"));
+ c->setKp(kp());
+ c->setKi(ki());
+ c->setKd(kd());
+ return c;
+}
+
+// OWNED ATTRIBUTES
+
+double QSADuseProfilePIDController::kp() const
+{
+ // This is a read-write property
+
+ return _kp;
+}
+
+void QSADuseProfilePIDController::setKp(double kp)
+{
+ // This is a read-write property
+
+ if (_kp != kp) {
+ _kp = kp;
+ }
+}
+
+double QSADuseProfilePIDController::ki() const
+{
+ // This is a read-write property
+
+ return _ki;
+}
+
+void QSADuseProfilePIDController::setKi(double ki)
+{
+ // This is a read-write property
+
+ if (_ki != ki) {
+ _ki = ki;
+ }
+}
+
+double QSADuseProfilePIDController::kd() const
+{
+ // This is a read-write property
+
+ return _kd;
+}
+
+void QSADuseProfilePIDController::setKd(double kd)
+{
+ // This is a read-write property
+
+ if (_kd != kd) {
+ _kd = kd;
+ }
+}
+
+QT_END_NAMESPACE
+
diff --git a/src/saduseprofile/qsaduseprofilepidcontroller.h b/src/saduseprofile/qsaduseprofilepidcontroller.h
new file mode 100644
index 00000000..ba1e9080
--- /dev/null
+++ b/src/saduseprofile/qsaduseprofilepidcontroller.h
@@ -0,0 +1,79 @@
+/****************************************************************************
+**
+** Copyright (C) 2013 Sandro S. Andrade <sandroandrade@kde.org>
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the QtSADuseProfile module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Digia. For licensing terms and
+** conditions see http://qt.digia.com/licensing. For further information
+** use the contact form at http://qt.digia.com/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Digia gives you certain additional
+** rights. These rights are described in the Digia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+#ifndef QSADUSEPROFILEPIDCONTROLLER_H
+#define QSADUSEPROFILEPIDCONTROLLER_H
+
+#include <QtSADuseProfile/QtSADuseProfileGlobal>
+
+#include <QtSADuseProfile/QSADuseProfileSISOController>
+
+QT_BEGIN_NAMESPACE
+
+QT_MODULE(QtSADuseProfile)
+
+class Q_SADUSEPROFILE_EXPORT QSADuseProfilePIDController : public QSADuseProfileSISOController
+{
+public:
+ explicit QSADuseProfilePIDController(bool createQModelingObject = true);
+ virtual ~QSADuseProfilePIDController();
+
+ virtual QModelingElement *clone() const;
+
+ // Owned attributes
+ double kp() const;
+ void setKp(double kp);
+ double ki() const;
+ void setKi(double ki);
+ double kd() const;
+ void setKd(double kd);
+
+protected:
+ double _kp;
+ double _ki;
+ double _kd;
+};
+
+QT_END_NAMESPACE
+
+Q_DECLARE_METATYPE(QT_PREPEND_NAMESPACE(QSADuseProfilePIDController) *)
+
+#endif // QSADUSEPROFILEPIDCONTROLLER_H
+
diff --git a/src/saduseprofile/qsaduseprofileprocesscomponent.cpp b/src/saduseprofile/qsaduseprofileprocesscomponent.cpp
index 925faa15..670e4787 100644
--- a/src/saduseprofile/qsaduseprofileprocesscomponent.cpp
+++ b/src/saduseprofile/qsaduseprofileprocesscomponent.cpp
@@ -40,28 +40,13 @@
****************************************************************************/
#include "qsaduseprofileprocesscomponent.h"
-#include "private/qsaduseprofileprocesscomponentobject_p.h"
-
#include <QtUml/QUmlComponent>
QT_BEGIN_NAMESPACE
-/*!
- \class QSADuseProfileProcessComponent
-
- \inmodule QtSADuseProfile
-
- \brief This stereotype indicates the corresponding QUmlComponent acts as a process component.
- */
-
-/*!
- Creates a new QSADuseProfileProcessComponent. Also creates the corresponding QObject-based representation returned by asQModelingObject() if \a createQModelingObject is true.
-*/
-QSADuseProfileProcessComponent::QSADuseProfileProcessComponent(bool createQModelingObject) :
+QSADuseProfileProcessComponent::QSADuseProfileProcessComponent() :
_base_Component(0)
{
- if (createQModelingObject)
- _qModelingObject = qobject_cast<QModelingObject *>(new QSADuseProfileProcessComponentObject(this));
}
/*!
@@ -72,9 +57,6 @@ QSADuseProfileProcessComponent::~QSADuseProfileProcessComponent()
QModelingElement::deleteQModelingObject();
}
-/*!
- Returns a deep-copied clone of the QSADuseProfileProcessComponent.
-*/
QModelingElement *QSADuseProfileProcessComponent::clone() const
{
QSADuseProfileProcessComponent *c = new QSADuseProfileProcessComponent;
@@ -85,9 +67,6 @@ QModelingElement *QSADuseProfileProcessComponent::clone() const
// OWNED ATTRIBUTES
-/*!
- The QUmlComponent which this QSADuseProfileProcessComponent is attached to.
- */
QUmlComponent *QSADuseProfileProcessComponent::base_Component() const
{
// This is a read-write association end
@@ -95,9 +74,6 @@ QUmlComponent *QSADuseProfileProcessComponent::base_Component() const
return _base_Component;
}
-/*!
- Adjusts base_Component to \a base_Component.
- */
void QSADuseProfileProcessComponent::setBase_Component(QUmlComponent *base_Component)
{
// This is a read-write association end
diff --git a/src/saduseprofile/qsaduseprofileprocesscomponent.h b/src/saduseprofile/qsaduseprofileprocesscomponent.h
index 2512f3bf..2aee4fe6 100644
--- a/src/saduseprofile/qsaduseprofileprocesscomponent.h
+++ b/src/saduseprofile/qsaduseprofileprocesscomponent.h
@@ -54,16 +54,17 @@ class QUmlComponent;
class Q_SADUSEPROFILE_EXPORT QSADuseProfileProcessComponent : public QModelingElement
{
public:
- explicit QSADuseProfileProcessComponent(bool createQModelingObject = true);
virtual ~QSADuseProfileProcessComponent();
- virtual QModelingElement *clone() const;
+ Q_DECL_HIDDEN virtual QModelingElement *clone() const;
// Owned attributes
QUmlComponent *base_Component() const;
void setBase_Component(QUmlComponent *base_Component);
protected:
+ explicit QSADuseProfileProcessComponent();
+
QUmlComponent *_base_Component;
};
diff --git a/src/saduseprofile/qsaduseprofilesisocontroller.cpp b/src/saduseprofile/qsaduseprofilesisocontroller.cpp
new file mode 100644
index 00000000..1f3bdcce
--- /dev/null
+++ b/src/saduseprofile/qsaduseprofilesisocontroller.cpp
@@ -0,0 +1,68 @@
+/****************************************************************************
+**
+** Copyright (C) 2013 Sandro S. Andrade <sandroandrade@kde.org>
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the QtSADuseProfile module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Digia. For licensing terms and
+** conditions see http://qt.digia.com/licensing. For further information
+** use the contact form at http://qt.digia.com/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Digia gives you certain additional
+** rights. These rights are described in the Digia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+#include "qsaduseprofilesisocontroller.h"
+
+#include <QtUml/QUmlComponent>
+
+QT_BEGIN_NAMESPACE
+
+QSADuseProfileSISOController::QSADuseProfileSISOController()
+{
+}
+
+/*!
+ Destroys the QSADuseProfileSISOController.
+ */
+QSADuseProfileSISOController::~QSADuseProfileSISOController()
+{
+ QModelingElement::deleteQModelingObject();
+}
+
+QModelingElement *QSADuseProfileSISOController::clone() const
+{
+ QSADuseProfileSISOController *c = new QSADuseProfileSISOController;
+ c->asQModelingObject()->setObjectName(this->asQModelingObject()->objectName());
+ c->asQModelingObject()->setProperty("role", this->asQModelingObject()->property("role"));
+ return c;
+}
+
+QT_END_NAMESPACE
+
diff --git a/src/saduseprofile/qsaduseprofilesisocontroller.h b/src/saduseprofile/qsaduseprofilesisocontroller.h
new file mode 100644
index 00000000..acda33d4
--- /dev/null
+++ b/src/saduseprofile/qsaduseprofilesisocontroller.h
@@ -0,0 +1,70 @@
+/****************************************************************************
+**
+** Copyright (C) 2013 Sandro S. Andrade <sandroandrade@kde.org>
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the QtSADuseProfile module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Digia. For licensing terms and
+** conditions see http://qt.digia.com/licensing. For further information
+** use the contact form at http://qt.digia.com/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Digia gives you certain additional
+** rights. These rights are described in the Digia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+#ifndef QSADUSEPROFILESISOCONTROLLER_H
+#define QSADUSEPROFILESISOCONTROLLER_H
+
+#include <QtSADuseProfile/QtSADuseProfileGlobal>
+
+#include <QtSADuseProfile/QSADuseProfileController>
+
+QT_BEGIN_NAMESPACE
+
+QT_MODULE(QtSADuseProfile)
+
+class Q_SADUSEPROFILE_EXPORT QSADuseProfileSISOController : public QSADuseProfileController
+{
+public:
+ virtual ~QSADuseProfileSISOController();
+
+ Q_DECL_HIDDEN virtual QModelingElement *clone() const;
+
+
+protected:
+ explicit QSADuseProfileSISOController();
+
+};
+
+QT_END_NAMESPACE
+
+Q_DECLARE_METATYPE(QT_PREPEND_NAMESPACE(QSADuseProfileSISOController) *)
+
+#endif // QSADUSEPROFILESISOCONTROLLER_H
+
diff --git a/src/saduseprofile/qsaduseprofiletfprocesscomponent.cpp b/src/saduseprofile/qsaduseprofiletfprocesscomponent.cpp
new file mode 100644
index 00000000..993a7fe3
--- /dev/null
+++ b/src/saduseprofile/qsaduseprofiletfprocesscomponent.cpp
@@ -0,0 +1,108 @@
+/****************************************************************************
+**
+** Copyright (C) 2013 Sandro S. Andrade <sandroandrade@kde.org>
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the QtSADuseProfile module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Digia. For licensing terms and
+** conditions see http://qt.digia.com/licensing. For further information
+** use the contact form at http://qt.digia.com/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Digia gives you certain additional
+** rights. These rights are described in the Digia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+#include "qsaduseprofiletfprocesscomponent.h"
+
+#include "private/qsaduseprofiletfprocesscomponentobject_p.h"
+
+#include <QtUml/QUmlComponent>
+
+QT_BEGIN_NAMESPACE
+
+QSADuseProfileTFProcessComponent::QSADuseProfileTFProcessComponent(bool createQModelingObject)
+{
+ if (createQModelingObject)
+ _qModelingObject = qobject_cast<QModelingObject *>(new QSADuseProfileTFProcessComponentObject(this));
+}
+
+/*!
+ Destroys the QSADuseProfileTFProcessComponent.
+ */
+QSADuseProfileTFProcessComponent::~QSADuseProfileTFProcessComponent()
+{
+ QModelingElement::deleteQModelingObject();
+}
+
+QModelingElement *QSADuseProfileTFProcessComponent::clone() const
+{
+ QSADuseProfileTFProcessComponent *c = new QSADuseProfileTFProcessComponent;
+ c->asQModelingObject()->setObjectName(this->asQModelingObject()->objectName());
+ c->asQModelingObject()->setProperty("role", this->asQModelingObject()->property("role"));
+ c->setTfNum(tfNum());
+ c->setTfDen(tfDen());
+ return c;
+}
+
+// OWNED ATTRIBUTES
+
+QString QSADuseProfileTFProcessComponent::tfNum() const
+{
+ // This is a read-write property
+
+ return _tfNum;
+}
+
+void QSADuseProfileTFProcessComponent::setTfNum(QString tfNum)
+{
+ // This is a read-write property
+
+ if (_tfNum != tfNum) {
+ _tfNum = tfNum;
+ }
+}
+
+QString QSADuseProfileTFProcessComponent::tfDen() const
+{
+ // This is a read-write property
+
+ return _tfDen;
+}
+
+void QSADuseProfileTFProcessComponent::setTfDen(QString tfDen)
+{
+ // This is a read-write property
+
+ if (_tfDen != tfDen) {
+ _tfDen = tfDen;
+ }
+}
+
+QT_END_NAMESPACE
+
diff --git a/src/saduseprofile/qsaduseprofiletfprocesscomponent.h b/src/saduseprofile/qsaduseprofiletfprocesscomponent.h
new file mode 100644
index 00000000..bf640a55
--- /dev/null
+++ b/src/saduseprofile/qsaduseprofiletfprocesscomponent.h
@@ -0,0 +1,76 @@
+/****************************************************************************
+**
+** Copyright (C) 2013 Sandro S. Andrade <sandroandrade@kde.org>
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of the QtSADuseProfile module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Digia. For licensing terms and
+** conditions see http://qt.digia.com/licensing. For further information
+** use the contact form at http://qt.digia.com/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Digia gives you certain additional
+** rights. These rights are described in the Digia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+#ifndef QSADUSEPROFILETFPROCESSCOMPONENT_H
+#define QSADUSEPROFILETFPROCESSCOMPONENT_H
+
+#include <QtSADuseProfile/QtSADuseProfileGlobal>
+
+#include <QtSADuseProfile/QSADuseProfileProcessComponent>
+
+QT_BEGIN_NAMESPACE
+
+QT_MODULE(QtSADuseProfile)
+
+class Q_SADUSEPROFILE_EXPORT QSADuseProfileTFProcessComponent : public QSADuseProfileProcessComponent
+{
+public:
+ explicit QSADuseProfileTFProcessComponent(bool createQModelingObject = true);
+ virtual ~QSADuseProfileTFProcessComponent();
+
+ virtual QModelingElement *clone() const;
+
+ // Owned attributes
+ QString tfNum() const;
+ void setTfNum(QString tfNum);
+ QString tfDen() const;
+ void setTfDen(QString tfDen);
+
+protected:
+ QString _tfNum;
+ QString _tfDen;
+};
+
+QT_END_NAMESPACE
+
+Q_DECLARE_METATYPE(QT_PREPEND_NAMESPACE(QSADuseProfileTFProcessComponent) *)
+
+#endif // QSADUSEPROFILETFPROCESSCOMPONENT_H
+
diff --git a/src/saduseprofile/saduseprofile.pri b/src/saduseprofile/saduseprofile.pri
index 5aacd9a1..624c24b5 100644
--- a/src/saduseprofile/saduseprofile.pri
+++ b/src/saduseprofile/saduseprofile.pri
@@ -1,12 +1,22 @@
HEADERS += \
qtsaduseprofileglobal.h \
qtsaduseprofilenamespace.h \
- qsaduseprofileprocesscomponent.h
+ qsaduseprofileprocesscomponent.h \
+ qsaduseprofiletfprocesscomponent.h \
+ qsaduseprofilecontroller.h \
+ qsaduseprofilesisocontroller.h \
+ qsaduseprofilepidcontroller.h
PRIVATE_HEADERS += \
- qobjects/qsaduseprofileprocesscomponentobject_p.h
+ qobjects/qsaduseprofiletfprocesscomponentobject_p.h \
+ qobjects/qsaduseprofilepidcontrollerobject_p.h
SOURCES += \
qtsaduseprofilenamespace.cpp \
- qobjects/qsaduseprofileprocesscomponentobject.cpp \
- qsaduseprofileprocesscomponent.cpp
+ qsaduseprofileprocesscomponent.cpp \
+ qobjects/qsaduseprofiletfprocesscomponentobject.cpp \
+ qsaduseprofiletfprocesscomponent.cpp \
+ qsaduseprofilecontroller.cpp \
+ qsaduseprofilesisocontroller.cpp \
+ qobjects/qsaduseprofilepidcontrollerobject.cpp \
+ qsaduseprofilepidcontroller.cpp
diff --git a/src/saduseprofile/saduseprofile.pro b/src/saduseprofile/saduseprofile.pro
index 954d96ba..65d4b552 100644
--- a/src/saduseprofile/saduseprofile.pro
+++ b/src/saduseprofile/saduseprofile.pro
@@ -3,8 +3,6 @@ load(qt_build_config)
TARGET = QtSADuseProfile
QT = core-private modeling-private uml
-MODULE_PLUGIN_TYPES = metamodels/libqsaduseprofilemetamodel.so
-
QMAKE_DOCS = $$PWD/doc/qtsaduseprofile.qdocconf
load(qt_module)
diff --git a/virtual-mof.txt b/virtual-mof.txt
new file mode 100755
index 00000000..8b23677f
--- /dev/null
+++ b/virtual-mof.txt
@@ -0,0 +1 @@
+vim qmofassociation.h qmofmultiplicityelement.h qmofnamedelement.h qmofnamespace.h qmofpackageableelement.h qmofredefinableelement.h qmofrelationship.h qmofstructuralfeature.h qmoftypedelement.h
diff --git a/virtual-uml.txt b/virtual-uml.txt
new file mode 100755
index 00000000..9a47e7d3
--- /dev/null
+++ b/virtual-uml.txt
@@ -0,0 +1 @@
+vim qumlactivitygroup.h qumlassociation.h qumlbehavioredclassifier.h qumlconnectableelement.h qumldeployedartifact.h qumldeploymenttarget.h qumlinteractionfragment.h qumlmessageend.h qumlmultiplicityelement.h qumlnamedelement.h qumlnamespace.h qumlpackageableelement.h qumlparameterableelement.h qumlredefinableelement.h qumlrelationship.h qumlstructuralfeature.h qumlstructuredclassifier.h qumltemplateableelement.h qumltemplatesignature.h qumltypedelement.h qumlvertex.h