summaryrefslogtreecommitdiffstats
path: root/src/uml/qumltransition.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/uml/qumltransition.cpp')
-rw-r--r--src/uml/qumltransition.cpp550
1 files changed, 176 insertions, 374 deletions
diff --git a/src/uml/qumltransition.cpp b/src/uml/qumltransition.cpp
index 05f0ebb6..babf197c 100644
--- a/src/uml/qumltransition.cpp
+++ b/src/uml/qumltransition.cpp
@@ -40,512 +40,314 @@
****************************************************************************/
#include "qumltransition.h"
+#include "private/qumltransitionobject_p.h"
+
#include <QtUml/QUmlBehavior>
#include <QtUml/QUmlClassifier>
-#include <QtUml/QUmlComment>
#include <QtUml/QUmlConstraint>
-#include <QtUml/QUmlDependency>
-#include <QtUml/QUmlElement>
-#include <QtUml/QUmlElementImport>
-#include <QtUml/QUmlNamedElement>
-#include <QtUml/QUmlNamespace>
-#include <QtUml/QUmlPackage>
-#include <QtUml/QUmlPackageableElement>
-#include <QtUml/QUmlPackageImport>
-#include <QtUml/QUmlRedefinableElement>
#include <QtUml/QUmlRegion>
#include <QtUml/QUmlStateMachine>
-#include <QtUml/QUmlStringExpression>
#include <QtUml/QUmlTrigger>
#include <QtUml/QUmlVertex>
-QT_BEGIN_NAMESPACE
-
/*!
- \class UmlTransition
+ \class QUmlTransition
\inmodule QtUml
\brief A transition is a directed relationship between a source vertex and a target vertex. It may be part of a compound transition, which takes the state machine from one state configuration to another, representing the complete response of the state machine to an occurrence of an event of a particular type.
*/
-
-QUmlTransition::QUmlTransition(QObject *parent) :
- QObject(parent)
+QUmlTransition::QUmlTransition(bool createQObject) :
+ _container(0),
+ _effect(0),
+ _guard(0),
+ _kind(QtUml::TransitionKindExternal),
+ _redefinedTransition(0),
+ _source(0),
+ _target(0)
{
+ if (createQObject)
+ _qObject = new QUmlTransitionObject(this);
}
-// OWNED ATTRIBUTES [Element]
-
-/*!
- The Comments owned by this element.
- */
-const QSet<QUmlComment *> QUmlTransition::ownedComment() const
+QUmlTransition::~QUmlTransition()
{
- return *(reinterpret_cast<const QSet<QUmlComment *> *>(&_ownedComment));
+ if (!deletingFromQObject) {
+ _qObject->setProperty("deletingFromModelingObject", true);
+ delete _qObject;
+ }
}
-/*!
- The Elements owned by this element.
- */
-const QSet<QUmlElement *> QUmlTransition::ownedElement() const
-{
- return *(reinterpret_cast<const QSet<QUmlElement *> *>(&_ownedElement));
-}
+// OWNED ATTRIBUTES
/*!
- The Element that owns this element.
+ Designates the region that owns this transition.
*/
-QUmlElement *QUmlTransition::owner() const
+QUmlRegion *
+QUmlTransition::container() const
{
- return reinterpret_cast<QUmlElement *>(_owner);
-}
-
-// OWNED ATTRIBUTES [NamedElement]
+ // This is a read-write association end
-/*!
- Indicates the dependencies that reference the client.
- */
-const QSet<QUmlDependency *> QUmlTransition::clientDependency() const
-{
- return *(reinterpret_cast<const QSet<QUmlDependency *> *>(&_clientDependency));
+ return _container;
}
-/*!
- The name of the NamedElement.
- */
-QString QUmlTransition::name() const
+void QUmlTransition::setContainer(QUmlRegion *container)
{
- return _name;
-}
+ // This is a read-write association end
-/*!
- The string expression used to define the name of this named element.
- */
-QUmlStringExpression *QUmlTransition::nameExpression() const
-{
- return reinterpret_cast<QUmlStringExpression *>(_nameExpression);
-}
+ if (_container != container) {
+ // Adjust subsetted properties
-/*!
- Specifies the namespace that owns the NamedElement.
- */
-QUmlNamespace *QUmlTransition::namespace_() const
-{
- return reinterpret_cast<QUmlNamespace *>(_namespace_);
-}
+ _container = container;
+ if (container->asQObject() && this->asQObject())
+ QObject::connect(container->asQObject(), SIGNAL(destroyed()), this->asQObject(), SLOT(setContainer()));
-/*!
- 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.
- */
-QString QUmlTransition::qualifiedName() const
-{
- return UmlNamedElement::qualifiedName();
+ // Adjust subsetted properties
+ setNamespace(container);
+ }
}
/*!
- Determines where the NamedElement appears within different Namespaces within the overall model, and its accessibility.
+ Specifies an optional behavior to be performed when the transition fires.
*/
-QtUml::VisibilityKind QUmlTransition::visibility() const
+QUmlBehavior *
+QUmlTransition::effect() const
{
- return _visibility;
-}
-
-// OWNED ATTRIBUTES [RedefinableElement]
+ // This is a read-write association end
-/*!
- Indicates whether it is possible to further redefine a RedefinableElement. If the value is true, then it is not possible to further redefine the RedefinableElement. Note that this property is preserved through package merge operations; that is, the capability to redefine a RedefinableElement (i.e., isLeaf=false) must be preserved in the resulting RedefinableElement of a package merge operation where a RedefinableElement with isLeaf=false is merged with a matching RedefinableElement with isLeaf=true: the resulting RedefinableElement will have isLeaf=false. Default value is false.
- */
-bool QUmlTransition::isLeaf() const
-{
- return _isLeaf;
+ return _effect;
}
-/*!
- The redefinable element that is being redefined by this element.
- */
-const QSet<QUmlRedefinableElement *> QUmlTransition::redefinedElement() const
+void QUmlTransition::setEffect(QUmlBehavior *effect)
{
- return *(reinterpret_cast<const QSet<QUmlRedefinableElement *> *>(&_redefinedElement));
-}
-// OWNED ATTRIBUTES [Namespace]
+ // This is a read-write association end
-/*!
- References the ElementImports owned by the Namespace.
- */
-const QSet<QUmlElementImport *> QUmlTransition::elementImport() const
-{
- return *(reinterpret_cast<const QSet<QUmlElementImport *> *>(&_elementImport));
-}
+ if (_effect != effect) {
+ // Adjust subsetted properties
+ removeOwnedElement(_effect);
-/*!
- References the PackageableElements that are members of this Namespace as a result of either PackageImports or ElementImports.
- */
-const QSet<QUmlPackageableElement *> QUmlTransition::importedMember() const
-{
- QSet<QUmlPackageableElement *> r;
- foreach (UmlPackageableElement *element, UmlNamespace::importedMember())
- r.insert(reinterpret_cast<QUmlPackageableElement *>(element));
- return r;
-}
+ _effect = effect;
+ if (effect->asQObject() && this->asQObject())
+ QObject::connect(effect->asQObject(), SIGNAL(destroyed()), this->asQObject(), SLOT(setEffect()));
+ effect->asQObject()->setParent(this->asQObject());
-/*!
- A collection of NamedElements identifiable within the Namespace, either by being owned or by being introduced by importing or inheritance.
- */
-const QSet<QUmlNamedElement *> QUmlTransition::member() const
-{
- return *(reinterpret_cast<const QSet<QUmlNamedElement *> *>(&_member));
+ // Adjust subsetted properties
+ if (effect) {
+ addOwnedElement(effect);
+ }
+ }
}
/*!
- A collection of NamedElements owned by the Namespace.
+ A guard is a constraint that provides a fine-grained control over the firing of the transition. The guard is evaluated when an event occurrence is dispatched by the state machine. If the guard is true at that time, the transition may be enabled, otherwise, it is disabled. Guards should be pure expressions without side effects. Guard expressions with side effects are ill formed.
*/
-const QSet<QUmlNamedElement *> QUmlTransition::ownedMember() const
+QUmlConstraint *
+QUmlTransition::guard() const
{
- return *(reinterpret_cast<const QSet<QUmlNamedElement *> *>(&_ownedMember));
-}
+ // This is a read-write association end
-/*!
- Specifies a set of Constraints owned by this Namespace.
- */
-const QSet<QUmlConstraint *> QUmlTransition::ownedRule() const
-{
- return *(reinterpret_cast<const QSet<QUmlConstraint *> *>(&_ownedRule));
+ return _guard;
}
-/*!
- References the PackageImports owned by the Namespace.
- */
-const QSet<QUmlPackageImport *> QUmlTransition::packageImport() const
+void QUmlTransition::setGuard(QUmlConstraint *guard)
{
- return *(reinterpret_cast<const QSet<QUmlPackageImport *> *>(&_packageImport));
-}
-
-// OWNED ATTRIBUTES [Transition]
+ // This is a read-write association end
-/*!
- Designates the region that owns this transition.
- */
-QUmlRegion *QUmlTransition::container() const
-{
- return reinterpret_cast<QUmlRegion *>(_container);
-}
+ if (_guard != guard) {
+ // Adjust subsetted properties
+ removeOwnedRule(_guard);
-/*!
- Specifies an optional behavior to be performed when the transition fires.
- */
-QUmlBehavior *QUmlTransition::effect() const
-{
- return reinterpret_cast<QUmlBehavior *>(_effect);
-}
+ _guard = guard;
+ if (guard->asQObject() && this->asQObject())
+ QObject::connect(guard->asQObject(), SIGNAL(destroyed()), this->asQObject(), SLOT(setGuard()));
+ guard->asQObject()->setParent(this->asQObject());
-/*!
- A guard is a constraint that provides a fine-grained control over the firing of the transition. The guard is evaluated when an event occurrence is dispatched by the state machine. If the guard is true at that time, the transition may be enabled, otherwise, it is disabled. Guards should be pure expressions without side effects. Guard expressions with side effects are ill formed.
- */
-QUmlConstraint *QUmlTransition::guard() const
-{
- return reinterpret_cast<QUmlConstraint *>(_guard);
+ // Adjust subsetted properties
+ if (guard) {
+ addOwnedRule(guard);
+ }
+ }
}
/*!
Indicates the precise type of the transition.
*/
-QtUml::TransitionKind QUmlTransition::kind() const
+QtUml::TransitionKind
+QUmlTransition::kind() const
{
- return _kind;
-}
+ // This is a read-write property
-/*!
- The transition that is redefined by this transition.
- */
-QUmlTransition *QUmlTransition::redefinedTransition() const
-{
- return reinterpret_cast<QUmlTransition *>(_redefinedTransition);
+ return _kind;
}
-/*!
- References the classifier in which context this element may be redefined.
- */
-QUmlClassifier *QUmlTransition::redefinitionContext() const
+void QUmlTransition::setKind(QtUml::TransitionKind kind)
{
- return reinterpret_cast<QUmlClassifier *>(UmlTransition::redefinitionContext());
-}
+ // This is a read-write property
-/*!
- Designates the originating vertex (state or pseudostate) of the transition.
- */
-QUmlVertex *QUmlTransition::source() const
-{
- return reinterpret_cast<QUmlVertex *>(_source);
+ if (_kind != kind) {
+ _kind = kind;
+ }
}
/*!
- Designates the target vertex that is reached when the transition is taken.
+ The transition that is redefined by this transition.
*/
-QUmlVertex *QUmlTransition::target() const
+QUmlTransition *
+QUmlTransition::redefinedTransition() const
{
- return reinterpret_cast<QUmlVertex *>(_target);
-}
+ // This is a read-write association end
-/*!
- Specifies the triggers that may fire the transition.
- */
-const QSet<QUmlTrigger *> QUmlTransition::trigger() const
-{
- return *(reinterpret_cast<const QSet<QUmlTrigger *> *>(&_trigger));
+ return _redefinedTransition;
}
-// OPERATIONS [Element]
-
-/*!
- The query allOwnedElements() gives all of the direct and indirect owned elements of an element.
- */
-QSet<QUmlElement *> QUmlTransition::allOwnedElements() const
+void QUmlTransition::setRedefinedTransition(QUmlTransition *redefinedTransition)
{
- QSet<QUmlElement *> r;
- foreach (UmlElement *element, UmlElement::allOwnedElements())
- r.insert(reinterpret_cast<QUmlElement *>(element));
- return r;
-}
+ // This is a read-write association end
-/*!
- The query mustBeOwned() indicates whether elements of this type must have an owner. Subclasses of Element that do not require an owner must override this operation.
- */
-bool QUmlTransition::mustBeOwned() const
-{
- return UmlElement::mustBeOwned();
-}
+ if (_redefinedTransition != redefinedTransition) {
+ // Adjust subsetted properties
+ removeRedefinedElement(_redefinedTransition);
-// OPERATIONS [NamedElement]
+ _redefinedTransition = redefinedTransition;
+ if (redefinedTransition->asQObject() && this->asQObject())
+ QObject::connect(redefinedTransition->asQObject(), SIGNAL(destroyed()), this->asQObject(), SLOT(setRedefinedTransition()));
-/*!
- The query allNamespaces() gives the sequence of namespaces in which the NamedElement is nested, working outwards.
- */
-QList<QUmlNamespace *> QUmlTransition::allNamespaces() const
-{
- QList<QUmlNamespace *> r;
- foreach (UmlNamespace *element, UmlNamedElement::allNamespaces())
- r.append(reinterpret_cast<QUmlNamespace *>(element));
- return r;
+ // Adjust subsetted properties
+ if (redefinedTransition) {
+ addRedefinedElement(redefinedTransition);
+ }
+ }
}
/*!
- The query allOwningPackages() returns all the directly or indirectly owning packages.
+ References the classifier in which context this element may be redefined.
*/
-QSet<QUmlPackage *> QUmlTransition::allOwningPackages() const
+QUmlClassifier *
+QUmlTransition::redefinitionContext() const
{
- QSet<QUmlPackage *> r;
- foreach (UmlPackage *element, UmlNamedElement::allOwningPackages())
- r.insert(reinterpret_cast<QUmlPackage *>(element));
- return r;
-}
+ // This is a read-only derived association end
-/*!
- The query isDistinguishableFrom() determines whether two NamedElements may logically co-exist within a Namespace. By default, two named elements are distinguishable if (a) they have unrelated types or (b) they have related types but different names.
- */
-bool QUmlTransition::isDistinguishableFrom(QUmlNamedElement *n, QUmlNamespace *ns) const
-{
- return UmlNamedElement::isDistinguishableFrom(n, ns);
-}
+ qWarning("UmlTransition::redefinitionContext(): to be implemented (this is a derived association end)");
-/*!
- The query separator() gives the string that is used to separate names when constructing a qualified name.
- */
-QString QUmlTransition::separator() const
-{
- return UmlNamedElement::separator();
+ return 0;
}
-// OPERATIONS [RedefinableElement]
-
-/*!
- The query isRedefinitionContextValid() specifies whether the redefinition contexts of this RedefinableElement are properly related to the redefinition contexts of the specified RedefinableElement to allow this element to redefine the other. By default at least one of the redefinition contexts of this element must be a specialization of at least one of the redefinition contexts of the specified element.
- */
-bool QUmlTransition::isRedefinitionContextValid(QUmlRedefinableElement *redefined) const
+void QUmlTransition::setRedefinitionContext(QUmlClassifier *redefinitionContext)
{
- return UmlRedefinableElement::isRedefinitionContextValid(redefined);
-}
+ // This is a read-only derived association end
-// OPERATIONS [Namespace]
+ qWarning("UmlTransition::redefinitionContext(): to be implemented (this is a derived association end)");
+ Q_UNUSED(redefinitionContext);
-/*!
- The query excludeCollisions() excludes from a set of PackageableElements any that would not be distinguishable from each other in this namespace.
- */
-QSet<QUmlPackageableElement *> QUmlTransition::excludeCollisions(QSet<QUmlPackageableElement *> imps) const
-{
- QSet<QUmlPackageableElement *> r;
- foreach (UmlPackageableElement *element, UmlNamespace::excludeCollisions(*(reinterpret_cast<QSet<UmlPackageableElement *> *>(&imps))))
- r.insert(reinterpret_cast<QUmlPackageableElement *>(element));
- return r;
+ if (false /* <derivedexclusion-criteria> */) {
+ // <derived-code>
+ }
}
/*!
- The query getNamesOfMember() gives a set of all of the names that a member would have in a Namespace. In general a member can have multiple names in a Namespace if it is imported more than once with different aliases. The query takes account of importing. It gives back the set of names that an element would have in an importing namespace, either because it is owned, or if not owned then imported individually, or if not individually then from a package.The query getNamesOfMember() takes importing into account. It gives back the set of names that an element would have in an importing namespace, either because it is owned, or if not owned then imported individually, or if not individually then from a package.
+ Designates the originating vertex (state or pseudostate) of the transition.
*/
-QSet<QString> QUmlTransition::getNamesOfMember(QUmlNamedElement *element) const
+QUmlVertex *
+QUmlTransition::source() const
{
- return UmlNamespace::getNamesOfMember(element);
-}
+ // This is a read-write association end
-/*!
- The query importMembers() defines which of a set of PackageableElements are actually imported into the namespace. This excludes hidden ones, i.e., those which have names that conflict with names of owned members, and also excludes elements which would have the same name when imported.
- */
-QSet<QUmlPackageableElement *> QUmlTransition::importMembers(QSet<QUmlPackageableElement *> imps) const
-{
- QSet<QUmlPackageableElement *> r;
- foreach (UmlPackageableElement *element, UmlNamespace::importMembers(*(reinterpret_cast<QSet<UmlPackageableElement *> *>(&imps))))
- r.insert(reinterpret_cast<QUmlPackageableElement *>(element));
- return r;
+ return _source;
}
-/*!
- The Boolean query membersAreDistinguishable() determines whether all of the namespace's members are distinguishable within it.
- */
-bool QUmlTransition::membersAreDistinguishable() const
+void QUmlTransition::setSource(QUmlVertex *source)
{
- return UmlNamespace::membersAreDistinguishable();
-}
+ // This is a read-write association end
-// OPERATIONS [Transition]
-
-/*!
- The query containingStateMachine() returns the state machine that contains the transition either directly or transitively.
- */
-QUmlStateMachine *QUmlTransition::containingStateMachine() const
-{
- return reinterpret_cast<QUmlStateMachine *>(UmlTransition::containingStateMachine());
+ if (_source != source) {
+ _source = source;
+ if (source->asQObject() && this->asQObject())
+ QObject::connect(source->asQObject(), SIGNAL(destroyed()), this->asQObject(), SLOT(setSource()));
+ }
}
/*!
- The query isConsistentWith() specifies that a redefining transition is consistent with a redefined transition provided that the redefining transition has the following relation to the redefined transition: A redefining transition redefines all properties of the corresponding redefined transition, except the source state and the trigger.
+ Designates the target vertex that is reached when the transition is taken.
*/
-bool QUmlTransition::isConsistentWith(QUmlRedefinableElement *redefinee) const
+QUmlVertex *
+QUmlTransition::target() const
{
- return UmlTransition::isConsistentWith(redefinee);
-}
-
-// SLOTS FOR OWNED ATTRIBUTES [Element]
+ // This is a read-write association end
-void QUmlTransition::addOwnedComment(UmlComment *ownedComment)
-{
- UmlElement::addOwnedComment(ownedComment);
-}
-
-void QUmlTransition::removeOwnedComment(UmlComment *ownedComment)
-{
- UmlElement::removeOwnedComment(ownedComment);
-}
-
-// SLOTS FOR OWNED ATTRIBUTES [NamedElement]
-
-void QUmlTransition::addClientDependency(UmlDependency *clientDependency)
-{
- UmlNamedElement::addClientDependency(clientDependency);
-}
-
-void QUmlTransition::removeClientDependency(UmlDependency *clientDependency)
-{
- UmlNamedElement::removeClientDependency(clientDependency);
+ return _target;
}
-void QUmlTransition::setName(QString name)
-{
- UmlNamedElement::setName(name);
-}
-
-void QUmlTransition::setNameExpression(QUmlStringExpression *nameExpression)
-{
- UmlNamedElement::setNameExpression(nameExpression);
-}
-
-void QUmlTransition::setVisibility(QtUml::VisibilityKind visibility)
-{
- UmlNamedElement::setVisibility(visibility);
-}
-
-// SLOTS FOR OWNED ATTRIBUTES [RedefinableElement]
-
-void QUmlTransition::setLeaf(bool isLeaf)
-{
- UmlRedefinableElement::setLeaf(isLeaf);
-}
-// SLOTS FOR OWNED ATTRIBUTES [Namespace]
-
-void QUmlTransition::addElementImport(UmlElementImport *elementImport)
+void QUmlTransition::setTarget(QUmlVertex *target)
{
- UmlNamespace::addElementImport(elementImport);
-}
+ // This is a read-write association end
-void QUmlTransition::removeElementImport(UmlElementImport *elementImport)
-{
- UmlNamespace::removeElementImport(elementImport);
+ if (_target != target) {
+ _target = target;
+ if (target->asQObject() && this->asQObject())
+ QObject::connect(target->asQObject(), SIGNAL(destroyed()), this->asQObject(), SLOT(setTarget()));
+ }
}
-void QUmlTransition::addOwnedRule(UmlConstraint *ownedRule)
-{
- UmlNamespace::addOwnedRule(ownedRule);
-}
-
-void QUmlTransition::removeOwnedRule(UmlConstraint *ownedRule)
+/*!
+ Specifies the triggers that may fire the transition.
+ */
+const QSet<QUmlTrigger *>
+QUmlTransition::trigger() const
{
- UmlNamespace::removeOwnedRule(ownedRule);
-}
+ // This is a read-write association end
-void QUmlTransition::addPackageImport(UmlPackageImport *packageImport)
-{
- UmlNamespace::addPackageImport(packageImport);
+ return _trigger;
}
-void QUmlTransition::removePackageImport(UmlPackageImport *packageImport)
+void QUmlTransition::addTrigger(QUmlTrigger *trigger)
{
- UmlNamespace::removePackageImport(packageImport);
-}
+ // This is a read-write association end
-// SLOTS FOR OWNED ATTRIBUTES [Transition]
+ if (!_trigger.contains(trigger)) {
+ _trigger.insert(trigger);
+ if (trigger->asQObject() && this->asQObject())
+ QObject::connect(trigger->asQObject(), SIGNAL(destroyed(QObject*)), this->asQObject(), SLOT(removeTrigger(QObject *)));
+ trigger->asQObject()->setParent(this->asQObject());
-void QUmlTransition::setContainer(QUmlRegion *container)
-{
- UmlTransition::setContainer(container);
+ // Adjust subsetted properties
+ addOwnedElement(trigger);
+ }
}
-void QUmlTransition::setEffect(QUmlBehavior *effect)
+void QUmlTransition::removeTrigger(QUmlTrigger *trigger)
{
- UmlTransition::setEffect(effect);
-}
+ // This is a read-write association end
-void QUmlTransition::setGuard(QUmlConstraint *guard)
-{
- UmlTransition::setGuard(guard);
-}
+ if (_trigger.contains(trigger)) {
+ _trigger.remove(trigger);
+ if (trigger->asQObject())
+ trigger->asQObject()->setParent(0);
-void QUmlTransition::setKind(QtUml::TransitionKind kind)
-{
- UmlTransition::setKind(kind);
+ // Adjust subsetted properties
+ removeOwnedElement(trigger);
+ }
}
-void QUmlTransition::setRedefinedTransition(QUmlTransition *redefinedTransition)
-{
- UmlTransition::setRedefinedTransition(redefinedTransition);
-}
+// OPERATIONS
-void QUmlTransition::setSource(QUmlVertex *source)
+/*!
+ The query containingStateMachine() returns the state machine that contains the transition either directly or transitively.
+ */
+QUmlStateMachine *QUmlTransition::containingStateMachine() const
{
- UmlTransition::setSource(source);
-}
+ qWarning("UmlTransition::containingStateMachine(): to be implemented (operation)");
-void QUmlTransition::setTarget(QUmlVertex *target)
-{
- UmlTransition::setTarget(target);
+ return 0;
}
-void QUmlTransition::addTrigger(UmlTrigger *trigger)
+/*!
+ The query isConsistentWith() specifies that a redefining transition is consistent with a redefined transition provided that the redefining transition has the following relation to the redefined transition: A redefining transition redefines all properties of the corresponding redefined transition, except the source state and the trigger.
+ */
+bool QUmlTransition::isConsistentWith(QUmlRedefinableElement *redefinee) const
{
- UmlTransition::addTrigger(trigger);
-}
+ qWarning("UmlTransition::isConsistentWith(): to be implemented (operation)");
-void QUmlTransition::removeTrigger(UmlTrigger *trigger)
-{
- UmlTransition::removeTrigger(trigger);
+ Q_UNUSED(redefinee);
+ return bool ();
}
-QT_END_NAMESPACE
-