diff options
author | Sandro S. Andrade <sandroandrade@kde.org> | 2013-08-26 01:50:38 -0300 |
---|---|---|
committer | Sandro S. Andrade <sandroandrade@kde.org> | 2013-08-26 06:49:24 +0200 |
commit | e19731ec2dc5dd478180e54bc47e1ecb163bb208 (patch) | |
tree | 808e3f4491a3460a73b72348721c9fd6a2b82fb7 /examples/uml/nested-packages | |
parent | b15e532fc664d4c5d91095bb22093a68e3bdfd39 (diff) |
Add support for opposite properties handling
Change-Id: Ic0706bac72eeed36cabb07b54b778190f34736b7
Reviewed-by: Sandro S. Andrade <sandroandrade@kde.org>
Diffstat (limited to 'examples/uml/nested-packages')
-rw-r--r-- | examples/uml/nested-packages/main.cpp | 514 | ||||
-rw-r--r-- | examples/uml/nested-packages/nested-packages.pro | 2 |
2 files changed, 402 insertions, 114 deletions
diff --git a/examples/uml/nested-packages/main.cpp b/examples/uml/nested-packages/main.cpp index 21bcc883..06cb3ed1 100644 --- a/examples/uml/nested-packages/main.cpp +++ b/examples/uml/nested-packages/main.cpp @@ -38,122 +38,410 @@ ** $QT_END_LICENSE$ ** ****************************************************************************/ -#include <QtWrappedObjects> - -#include <QtUml/QUmlModel> -#include <QtUml/QUmlPackage> -#include <QtUml/QUmlPrimitiveType> -#include <QtUml/QUmlEnumeration> -#include <QtUml/QUmlEnumerationLiteral> -#include <QtUml/QUmlClass> -#include <QtUml/QUmlComponent> -#include <QtUml/QUmlComponentRealization> - +#include <QtUml/QtUml> #include <QtCore/QDebug> -void checkProperties(QWrappedObject *wrappedObject) -{ - const QMetaWrappedObject *metaWrappedObject = wrappedObject->metaWrappedObject(); - int propertyCount = metaWrappedObject->propertyCount(); - for (int i = 0; i < propertyCount; ++i) { - qDebug() << "Property" << metaWrappedObject->property(i).metaProperty.name(); - } -} - int main () { - QWrappedObjectPointer<QUmlModel> model = new QUmlModel; - model->setName("MyModel"); - - QWrappedObjectPointer<QUmlPackage> package = new QUmlPackage; - package->setName("Package1"); - - QWrappedObjectPointer<QUmlPrimitiveType> primitiveType = new QUmlPrimitiveType; - primitiveType->setName("String"); - - QWrappedObjectPointer<QUmlEnumeration> enumeration = new QUmlEnumeration; - enumeration->setName("DirectionKind"); - QWrappedObjectPointer<QUmlEnumerationLiteral> directionIn = new QUmlEnumerationLiteral; - directionIn->setName("DirectionIn"); - enumeration->addOwnedLiteral(directionIn); - - QWrappedObjectPointer<QUmlClass> class_ = new QUmlClass; - class_->setName("Student"); - class_->setAbstract(false); - - package->addOwnedType(enumeration); - package->addOwnedType(class_); - - //model->addNestedPackage(package); - model->addPackagedElement(package); - model->addOwnedType(primitiveType); - model->dumpObjectTree(); + qDebug() << "Abstraction"; + QUmlAbstraction Abstraction; + qDebug() << "AcceptCallAction"; + QUmlAcceptCallAction AcceptCallAction; + qDebug() << "AcceptEventAction"; + QUmlAcceptEventAction AcceptEventAction; + qDebug() << "ActionExecutionSpecification"; + QUmlActionExecutionSpecification ActionExecutionSpecification; + qDebug() << "ActionInputPin"; + QUmlActionInputPin ActionInputPin; + qDebug() << "Activity"; + QUmlActivity Activity; + qDebug() << "ActivityFinalNode"; + QUmlActivityFinalNode ActivityFinalNode; + qDebug() << "ActivityParameterNode"; + QUmlActivityParameterNode ActivityParameterNode; + qDebug() << "ActivityPartition"; + QUmlActivityPartition ActivityPartition; + qDebug() << "Actor"; + QUmlActor Actor; + qDebug() << "AddStructuralFeatureValueAction"; + QUmlAddStructuralFeatureValueAction AddStructuralFeatureValueAction; + qDebug() << "AddVariableValueAction"; + QUmlAddVariableValueAction AddVariableValueAction; + qDebug() << "AnyReceiveEvent"; + QUmlAnyReceiveEvent AnyReceiveEvent; + qDebug() << "Artifact"; + QUmlArtifact Artifact; + qDebug() << "Association"; + QUmlAssociation Association; + qDebug() << "AssociationClass"; + QUmlAssociationClass AssociationClass; + qDebug() << "BehaviorExecutionSpecification"; + QUmlBehaviorExecutionSpecification BehaviorExecutionSpecification; + qDebug() << "BroadcastSignalAction"; + QUmlBroadcastSignalAction BroadcastSignalAction; + qDebug() << "CallBehaviorAction"; + QUmlCallBehaviorAction CallBehaviorAction; + qDebug() << "CallEvent"; + QUmlCallEvent CallEvent; + qDebug() << "CallOperationAction"; + QUmlCallOperationAction CallOperationAction; + qDebug() << "CentralBufferNode"; + QUmlCentralBufferNode CentralBufferNode; + qDebug() << "ChangeEvent"; + QUmlChangeEvent ChangeEvent; + qDebug() << "Class"; + QUmlClass Class; + qDebug() << "ClassifierTemplateParameter"; + QUmlClassifierTemplateParameter ClassifierTemplateParameter; + qDebug() << "Clause"; + QUmlClause Clause; + qDebug() << "ClearAssociationAction"; + QUmlClearAssociationAction ClearAssociationAction; + qDebug() << "ClearStructuralFeatureAction"; + QUmlClearStructuralFeatureAction ClearStructuralFeatureAction; + qDebug() << "ClearVariableAction"; + QUmlClearVariableAction ClearVariableAction; + qDebug() << "Collaboration"; + QUmlCollaboration Collaboration; + qDebug() << "CollaborationUse"; + QUmlCollaborationUse CollaborationUse; + qDebug() << "CombinedFragment"; + QUmlCombinedFragment CombinedFragment; + qDebug() << "Comment"; + QUmlComment Comment; + qDebug() << "CommunicationPath"; + QUmlCommunicationPath CommunicationPath; + qDebug() << "Component"; + QUmlComponent Component; + qDebug() << "ComponentRealization"; + QUmlComponentRealization ComponentRealization; + qDebug() << "ConditionalNode"; + QUmlConditionalNode ConditionalNode; + qDebug() << "ConnectableElementTemplateParameter"; + QUmlConnectableElementTemplateParameter ConnectableElementTemplateParameter; + qDebug() << "ConnectionPointReference"; + QUmlConnectionPointReference ConnectionPointReference; + qDebug() << "Connector"; + QUmlConnector Connector; + qDebug() << "ConnectorEnd"; + QUmlConnectorEnd ConnectorEnd; + qDebug() << "ConsiderIgnoreFragment"; + QUmlConsiderIgnoreFragment ConsiderIgnoreFragment; + qDebug() << "Constraint"; + QUmlConstraint Constraint; + qDebug() << "Continuation"; + QUmlContinuation Continuation; + qDebug() << "ControlFlow"; + QUmlControlFlow ControlFlow; + qDebug() << "CreateLinkAction"; + QUmlCreateLinkAction CreateLinkAction; + qDebug() << "CreateLinkObjectAction"; + QUmlCreateLinkObjectAction CreateLinkObjectAction; + qDebug() << "CreateObjectAction"; + QUmlCreateObjectAction CreateObjectAction; + qDebug() << "DataStoreNode"; + QUmlDataStoreNode DataStoreNode; + qDebug() << "DataType"; + QUmlDataType DataType; + qDebug() << "DecisionNode"; + QUmlDecisionNode DecisionNode; + qDebug() << "Dependency"; + QUmlDependency Dependency; + qDebug() << "Deployment"; + QUmlDeployment Deployment; + qDebug() << "DeploymentSpecification"; + QUmlDeploymentSpecification DeploymentSpecification; + qDebug() << "DestroyLinkAction"; + QUmlDestroyLinkAction DestroyLinkAction; + qDebug() << "DestroyObjectAction"; + QUmlDestroyObjectAction DestroyObjectAction; + qDebug() << "DestructionOccurrenceSpecification"; + QUmlDestructionOccurrenceSpecification DestructionOccurrenceSpecification; + qDebug() << "Device"; + QUmlDevice Device; + qDebug() << "Duration"; + QUmlDuration Duration; + qDebug() << "DurationConstraint"; + QUmlDurationConstraint DurationConstraint; + qDebug() << "DurationInterval"; + QUmlDurationInterval DurationInterval; + qDebug() << "DurationObservation"; + QUmlDurationObservation DurationObservation; + qDebug() << "ElementImport"; + QUmlElementImport ElementImport; + qDebug() << "Enumeration"; + QUmlEnumeration Enumeration; + qDebug() << "EnumerationLiteral"; + QUmlEnumerationLiteral EnumerationLiteral; + qDebug() << "ExceptionHandler"; + QUmlExceptionHandler ExceptionHandler; + qDebug() << "ExecutionEnvironment"; + QUmlExecutionEnvironment ExecutionEnvironment; + qDebug() << "ExecutionOccurrenceSpecification"; + QUmlExecutionOccurrenceSpecification ExecutionOccurrenceSpecification; + qDebug() << "ExpansionNode"; + QUmlExpansionNode ExpansionNode; + qDebug() << "ExpansionRegion"; + QUmlExpansionRegion ExpansionRegion; + qDebug() << "Expression"; + QUmlExpression Expression; + qDebug() << "Extend"; + QUmlExtend Extend; + qDebug() << "Extension"; + QUmlExtension Extension; + qDebug() << "ExtensionEnd"; + QUmlExtensionEnd ExtensionEnd; + qDebug() << "ExtensionPoint"; + QUmlExtensionPoint ExtensionPoint; + qDebug() << "FinalState"; + QUmlFinalState FinalState; + qDebug() << "FlowFinalNode"; + QUmlFlowFinalNode FlowFinalNode; + qDebug() << "ForkNode"; + QUmlForkNode ForkNode; + qDebug() << "FunctionBehavior"; + QUmlFunctionBehavior FunctionBehavior; + qDebug() << "Gate"; + QUmlGate Gate; + qDebug() << "GeneralOrdering"; + QUmlGeneralOrdering GeneralOrdering; + qDebug() << "Generalization"; + QUmlGeneralization Generalization; + qDebug() << "GeneralizationSet"; + QUmlGeneralizationSet GeneralizationSet; + qDebug() << "Image"; + QUmlImage Image; + qDebug() << "Include"; + QUmlInclude Include; + qDebug() << "InformationFlow"; + QUmlInformationFlow InformationFlow; + qDebug() << "InformationItem"; + QUmlInformationItem InformationItem; + qDebug() << "InitialNode"; + QUmlInitialNode InitialNode; + qDebug() << "InputPin"; + QUmlInputPin InputPin; + qDebug() << "InstanceSpecification"; + QUmlInstanceSpecification InstanceSpecification; + qDebug() << "InstanceValue"; + QUmlInstanceValue InstanceValue; + qDebug() << "Interaction"; + QUmlInteraction Interaction; + qDebug() << "InteractionConstraint"; + QUmlInteractionConstraint InteractionConstraint; + qDebug() << "InteractionOperand"; + QUmlInteractionOperand InteractionOperand; + qDebug() << "InteractionUse"; + QUmlInteractionUse InteractionUse; + qDebug() << "Interface"; + QUmlInterface Interface; + qDebug() << "InterfaceRealization"; + QUmlInterfaceRealization InterfaceRealization; + qDebug() << "InterruptibleActivityRegion"; + QUmlInterruptibleActivityRegion InterruptibleActivityRegion; + qDebug() << "Interval"; + QUmlInterval Interval; + qDebug() << "IntervalConstraint"; + QUmlIntervalConstraint IntervalConstraint; + qDebug() << "JoinNode"; + QUmlJoinNode JoinNode; + qDebug() << "Lifeline"; + QUmlLifeline Lifeline; + qDebug() << "LinkEndCreationData"; + QUmlLinkEndCreationData LinkEndCreationData; + qDebug() << "LinkEndData"; + QUmlLinkEndData LinkEndData; + qDebug() << "LinkEndDestructionData"; + QUmlLinkEndDestructionData LinkEndDestructionData; + qDebug() << "LiteralBoolean"; + QUmlLiteralBoolean LiteralBoolean; + qDebug() << "LiteralInteger"; + QUmlLiteralInteger LiteralInteger; + qDebug() << "LiteralNull"; + QUmlLiteralNull LiteralNull; + qDebug() << "LiteralReal"; + QUmlLiteralReal LiteralReal; + qDebug() << "LiteralString"; + QUmlLiteralString LiteralString; + qDebug() << "LiteralUnlimitedNatural"; + QUmlLiteralUnlimitedNatural LiteralUnlimitedNatural; + qDebug() << "LoopNode"; + QUmlLoopNode LoopNode; + qDebug() << "Manifestation"; + QUmlManifestation Manifestation; + qDebug() << "MergeNode"; + QUmlMergeNode MergeNode; + qDebug() << "Message"; + QUmlMessage Message; + qDebug() << "MessageOccurrenceSpecification"; + QUmlMessageOccurrenceSpecification MessageOccurrenceSpecification; + qDebug() << "Model"; + QUmlModel Model; + qDebug() << "Node"; + QUmlNode Node; + qDebug() << "ObjectFlow"; + QUmlObjectFlow ObjectFlow; + qDebug() << "OccurrenceSpecification"; + QUmlOccurrenceSpecification OccurrenceSpecification; + qDebug() << "OpaqueAction"; + QUmlOpaqueAction OpaqueAction; + qDebug() << "OpaqueBehavior"; + QUmlOpaqueBehavior OpaqueBehavior; + qDebug() << "OpaqueExpression"; + QUmlOpaqueExpression OpaqueExpression; + qDebug() << "Operation"; + QUmlOperation Operation; + qDebug() << "OperationTemplateParameter"; + QUmlOperationTemplateParameter OperationTemplateParameter; + qDebug() << "OutputPin"; + QUmlOutputPin OutputPin; + qDebug() << "Package"; + QUmlPackage Package; + qDebug() << "PackageImport"; + QUmlPackageImport PackageImport; + qDebug() << "PackageMerge"; + QUmlPackageMerge PackageMerge; + qDebug() << "Parameter"; + QUmlParameter Parameter; + qDebug() << "ParameterSet"; + QUmlParameterSet ParameterSet; + qDebug() << "PartDecomposition"; + QUmlPartDecomposition PartDecomposition; + qDebug() << "Port"; + QUmlPort Port; + qDebug() << "PrimitiveType"; + QUmlPrimitiveType PrimitiveType; + qDebug() << "Profile"; + QUmlProfile Profile; + qDebug() << "ProfileApplication"; + QUmlProfileApplication ProfileApplication; + qDebug() << "Property"; + QUmlProperty Property; + qDebug() << "ProtocolConformance"; + QUmlProtocolConformance ProtocolConformance; + qDebug() << "ProtocolStateMachine"; + QUmlProtocolStateMachine ProtocolStateMachine; + qDebug() << "ProtocolTransition"; + QUmlProtocolTransition ProtocolTransition; + qDebug() << "Pseudostate"; + QUmlPseudostate Pseudostate; + qDebug() << "QualifierValue"; + QUmlQualifierValue QualifierValue; + qDebug() << "RaiseExceptionAction"; + QUmlRaiseExceptionAction RaiseExceptionAction; + qDebug() << "ReadExtentAction"; + QUmlReadExtentAction ReadExtentAction; + qDebug() << "ReadIsClassifiedObjectAction"; + QUmlReadIsClassifiedObjectAction ReadIsClassifiedObjectAction; + qDebug() << "ReadLinkAction"; + QUmlReadLinkAction ReadLinkAction; + qDebug() << "ReadLinkObjectEndAction"; + QUmlReadLinkObjectEndAction ReadLinkObjectEndAction; + qDebug() << "ReadLinkObjectEndQualifierAction"; + QUmlReadLinkObjectEndQualifierAction ReadLinkObjectEndQualifierAction; + qDebug() << "ReadSelfAction"; + QUmlReadSelfAction ReadSelfAction; + qDebug() << "ReadStructuralFeatureAction"; + QUmlReadStructuralFeatureAction ReadStructuralFeatureAction; + qDebug() << "ReadVariableAction"; + QUmlReadVariableAction ReadVariableAction; + qDebug() << "Realization"; + QUmlRealization Realization; + qDebug() << "Reception"; + QUmlReception Reception; + qDebug() << "ReclassifyObjectAction"; + QUmlReclassifyObjectAction ReclassifyObjectAction; + qDebug() << "RedefinableTemplateSignature"; + QUmlRedefinableTemplateSignature RedefinableTemplateSignature; + qDebug() << "ReduceAction"; + QUmlReduceAction ReduceAction; + qDebug() << "Region"; + QUmlRegion Region; + qDebug() << "RemoveStructuralFeatureValueAction"; + QUmlRemoveStructuralFeatureValueAction RemoveStructuralFeatureValueAction; + qDebug() << "RemoveVariableValueAction"; + QUmlRemoveVariableValueAction RemoveVariableValueAction; + qDebug() << "ReplyAction"; + QUmlReplyAction ReplyAction; + qDebug() << "SendObjectAction"; + QUmlSendObjectAction SendObjectAction; + qDebug() << "SendSignalAction"; + QUmlSendSignalAction SendSignalAction; + qDebug() << "SequenceNode"; + QUmlSequenceNode SequenceNode; + qDebug() << "Signal"; + QUmlSignal Signal; + qDebug() << "SignalEvent"; + QUmlSignalEvent SignalEvent; + qDebug() << "Slot"; + QUmlSlot Slot; + qDebug() << "StartClassifierBehaviorAction"; + QUmlStartClassifierBehaviorAction StartClassifierBehaviorAction; + qDebug() << "StartObjectBehaviorAction"; + QUmlStartObjectBehaviorAction StartObjectBehaviorAction; + qDebug() << "State"; + QUmlState State; + qDebug() << "StateInvariant"; + QUmlStateInvariant StateInvariant; + qDebug() << "StateMachine"; + QUmlStateMachine StateMachine; + qDebug() << "Stereotype"; + QUmlStereotype Stereotype; + qDebug() << "StringExpression"; + QUmlStringExpression StringExpression; + qDebug() << "StructuredActivityNode"; + QUmlStructuredActivityNode StructuredActivityNode; + qDebug() << "Substitution"; + QUmlSubstitution Substitution; + qDebug() << "TemplateBinding"; + QUmlTemplateBinding TemplateBinding; + qDebug() << "TemplateParameter"; + QUmlTemplateParameter TemplateParameter; + qDebug() << "TemplateParameterSubstitution"; + QUmlTemplateParameterSubstitution TemplateParameterSubstitution; + qDebug() << "TemplateSignature"; + QUmlTemplateSignature TemplateSignature; + qDebug() << "TestIdentityAction"; + QUmlTestIdentityAction TestIdentityAction; + qDebug() << "TimeConstraint"; + QUmlTimeConstraint TimeConstraint; + qDebug() << "TimeEvent"; + QUmlTimeEvent TimeEvent; + qDebug() << "TimeExpression"; + QUmlTimeExpression TimeExpression; + qDebug() << "TimeInterval"; + QUmlTimeInterval TimeInterval; + qDebug() << "TimeObservation"; + QUmlTimeObservation TimeObservation; + qDebug() << "Transition"; + QUmlTransition Transition; + qDebug() << "Trigger"; + QUmlTrigger Trigger; + qDebug() << "UnmarshallAction"; + QUmlUnmarshallAction UnmarshallAction; + qDebug() << "Usage"; + QUmlUsage Usage; + qDebug() << "UseCase"; + QUmlUseCase UseCase; + qDebug() << "ValuePin"; + QUmlValuePin ValuePin; + qDebug() << "ValueSpecificationAction"; + QUmlValueSpecificationAction ValueSpecificationAction; + qDebug() << "Variable"; + QUmlVariable Variable; - qDebug() << "model->ownedElements().size():" << model->ownedElements().size(); - qDebug() << "model->members().size():" << model->members().size(); - qDebug() << "model->ownedMembers().size():" << model->ownedMembers().size(); - qDebug() << "model->ownedRules().size():" << model->ownedRules().size(); - qDebug() << "model->packagedElements().size():" << model->packagedElements().size(); - qDebug(); - qDebug() << "package->qualifiedName():" << package->qualifiedName(); - qDebug() << "package->nestingPackage() ?" << ((package->nestingPackage() == 0) ? "Nao":"Sim"); - - qDebug() << "class_->qualifiedName():" << class_->qualifiedName(); - qDebug() << "enumeration->qualifiedName():" << enumeration->qualifiedName(); - qDebug() << "primitiveType->qualifiedName():" << primitiveType->qualifiedName(); - qDebug() << "directionIn->qualifiedName():" << directionIn->qualifiedName(); - - model->removeNestedPackage(package); -// model->removePackagedElement(package); -// model->addNestedPackage(package); -// model->addPackagedElement(package); - qDebug() << "REMOVED"; - - qDebug() << "model->ownedElements().size():" << model->ownedElements().size(); - qDebug() << "model->members().size():" << model->members().size(); - qDebug() << "model->ownedMembers().size():" << model->ownedMembers().size(); - qDebug() << "model->ownedRules().size():" << model->ownedRules().size(); - qDebug() << "model->packagedElements().size():" << model->packagedElements().size(); - qDebug(); - qDebug() << "package->qualifiedName():" << package->qualifiedName(); - qDebug() << "package->nestingPackage() ?" << ((package->nestingPackage() == 0) ? "Nao":"Sim"); - - qDebug() << "class_->qualifiedName():" << class_->qualifiedName(); - qDebug() << "enumeration->qualifiedName():" << enumeration->qualifiedName(); - qDebug() << "primitiveType->qualifiedName():" << primitiveType->qualifiedName(); - qDebug() << "directionIn->qualifiedName():" << directionIn->qualifiedName(); - - qDebug() << "model->nestedPackages().size():" << model->nestedPackages().size(); - - qDebug() << "model->ownedStereotypes().size():" << model->ownedStereotypes().size(); - - qDebug() << "model->ownedTypes().size():" << model->ownedTypes().size(); - - checkProperties(model); - - QWrappedObjectPointer<QUmlComponent> c1 = new QUmlComponent; - QWrappedObjectPointer<QUmlComponent> c2 = new QUmlComponent; - QWrappedObjectPointer<QUmlComponentRealization> cr = new QUmlComponentRealization; - cr->setAbstraction(c1); - qDebug(); - qDebug() << "cr->suppliers().size():" << cr->suppliers().size(); - qDebug() << "c1->realizations().size():" << c1->realizations().size(); - qDebug() << "c2->realizations().size():" << c2->realizations().size(); - cr->setAbstraction(c2); - qDebug(); - qDebug() << "cr->suppliers().size():" << cr->suppliers().size(); - qDebug() << "c1->realizations().size():" << c1->realizations().size(); - qDebug() << "c2->realizations().size():" << c2->realizations().size(); - cr->setAbstraction(0); - qDebug(); - qDebug() << "cr->suppliers().size():" << cr->suppliers().size(); - qDebug() << "c1->realizations().size():" << c1->realizations().size(); - qDebug() << "c2->realizations().size():" << c2->realizations().size(); - cr->setAbstraction(c1); - package->addOwnedType(c1); - package->addOwnedType(c2); - - delete model.data(); - delete package.data(); + Package.setName("Package"); + Package.addPackagedElement(&Class); + qDebug() << "PackagedElement added !"; + qDebug() << Package.packagedElement().size(); + qDebug() << Package.ownedMember().size(); + qDebug() << Package.member().size(); + qDebug() << Class.namespace_()->name(); + Package.removePackagedElement(&Class); + qDebug() << "PackagedElement removed !"; + qDebug() << Package.packagedElement().size(); + qDebug() << Package.ownedMember().size(); + qDebug() << Package.member().size(); + if (Class.namespace_()) + qDebug() << Class.namespace_()->name(); } - diff --git a/examples/uml/nested-packages/nested-packages.pro b/examples/uml/nested-packages/nested-packages.pro index 74afd727..ffea3dcb 100644 --- a/examples/uml/nested-packages/nested-packages.pro +++ b/examples/uml/nested-packages/nested-packages.pro @@ -3,7 +3,7 @@ TARGET = nested-packages DEPENDPATH += . INCLUDEPATH += . -QT += uml +QT += uml core-private QT -= gui # Input |