umbrello 25.07.80
Umbrello UML Modeller is a Unified Modelling Language (UML) diagram program based on KDE Technology
UMLCanvasObject Class Reference

Non-graphical information for a UMLCanvasObject. More...

#include <umlcanvasobject.h>

Inheritance diagram for UMLCanvasObject:
Collaboration diagram for UMLCanvasObject:

Signals

void sigAssociationEndAdded (UMLAssociation *assoc)
void sigAssociationEndRemoved (UMLAssociation *assoc)
Signals inherited from UMLObject
void modified ()

Public Member Functions

 UMLCanvasObject (const QString &name=QString(), Uml::ID::Type id=Uml::ID::None)
virtual ~UMLCanvasObject ()
bool operator== (const UMLCanvasObject &rhs) const
virtual void copyInto (UMLObject *lhs) const
bool addAssociationEnd (UMLAssociation *assoc)
bool hasAssociation (UMLAssociation *assoc) const
int removeAssociationEnd (UMLAssociation *assoc)
void removeAllAssociationEnds ()
int associations () const
UMLAssociationList getAssociations () const
UMLAssociationList getSpecificAssocs (Uml::AssociationType::Enum assocType) const
UMLClassifierList getSuperClasses (bool withRealizations=true) const
UMLClassifierList getSubClasses () const
virtual UMLAssociationList getRealizations () const
UMLAssociationList getAggregations () const
UMLAssociationList getCompositions () const
UMLAssociationList getRelationships () const
virtual UMLObjectfindChildObject (const QString &n, UMLObject::ObjectType t=UMLObject::ot_UMLObject) const
virtual UMLObjectfindChildObjectById (Uml::ID::Type id, bool considerAncestors=false) const
virtual QString uniqChildName (const UMLObject::ObjectType type, const QString &prefix=QString()) const
virtual void removeAllChildObjects ()
UMLObjectListsubordinates () const
virtual bool resolveRef ()
Public Member Functions inherited from UMLObject
 UMLObject (const UMLObject &other)
 UMLObject (UMLObject *parent, const QString &name, Uml::ID::Type id=Uml::ID::None)
 UMLObject (UMLObject *parent)
 UMLObject (const QString &name=QString(), Uml::ID::Type id=Uml::ID::None)
virtual ~UMLObject ()
bool operator== (const UMLObject &rhs) const
virtual UMLObjectclone () const
virtual void setBaseType (ObjectType ot)
ObjectType baseType () const
QLatin1String baseTypeStr () const
virtual void setID (Uml::ID::Type NewID)
virtual Uml::ID::Type id () const
QString doc () const
bool hasDoc () const
void setDoc (const QString &d)
void setVisibility (Uml::Visibility::Enum visibility)
void setVisibilityCmd (Uml::Visibility::Enum visibility)
Uml::Visibility::Enum visibility () const
void setStereotype (const QString &_name)
void setStereotypeCmd (const QString &_name)
QString stereotype (bool includeAdornments=false) const
void setUMLStereotype (UMLStereotype *stereo)
UMLStereotypeumlStereotype () const
QStringList & tags ()
QString package (const QString &separator=QString(), bool includeRoot=false) const
UMLPackageList packages (bool includeRoot=false) const
bool setUMLPackage (UMLPackage *pPkg)
UMLPackageumlPackage () const
void setUMLParent (UMLObject *parent)
UMLObjectumlParent () const
virtual void setName (const QString &strName)
virtual void setNameCmd (const QString &strName)
QString name () const
virtual QString fullyQualifiedName (const QString &separator=QString(), bool includeRoot=false) const
void setAbstract (bool bAbstract)
bool isAbstract () const
virtual bool showPropertiesDialog (QWidget *parent=nullptr)
virtual void saveToXMI (QXmlStreamWriter &writer)
virtual bool loadFromXMI (QDomElement &element)
bool loadStereotype (QDomElement &element)
void setStatic (bool bStatic)
bool isStatic () const
virtual bool acceptAssociationType (Uml::AssociationType::Enum) const
void setSecondaryId (const QString &id)
QString secondaryId () const
void setSecondaryFallback (const QString &id)
QString secondaryFallback () const
void save1 (QXmlStreamWriter &writer, const QString &type, const QString &tag=QString())
bool isUMLActor () const
bool isUMLArtifact () const
bool isUMLAssociation () const
bool isUMLAttribute () const
bool isUMLCategory () const
bool isUMLCheckConstraint () const
bool isUMLClassifier () const
bool isUMLComponent () const
bool isUMLDatatype () const
bool isUMLEntity () const
bool isUMLEntityAttribute () const
bool isUMLEntityConstraint () const
bool isUMLEnum () const
bool isUMLEnumLiteral () const
bool isUMLFolder () const
bool isUMLForeignKeyConstraint () const
bool isUMLInstance () const
bool isUMLInstanceAttribute () const
bool isUMLNode () const
bool isUMLObject () const
bool isUMLOperation () const
bool isUMLPackage () const
bool isUMLPort () const
bool isUMLRole () const
bool isUMLStereotype () const
bool isUMLTemplate () const
bool isUMLUniqueConstraint () const
bool isUMLUseCase () const
UMLActorasUMLActor ()
UMLArtifactasUMLArtifact ()
UMLAssociationasUMLAssociation ()
UMLAttributeasUMLAttribute ()
UMLCanvasObjectasUMLCanvasObject ()
UMLCategoryasUMLCategory ()
UMLCheckConstraintasUMLCheckConstraint ()
UMLClassifierasUMLClassifier ()
UMLClassifierListItemasUMLClassifierListItem ()
UMLClassifierSetasUMLClassifierSet ()
UMLComponentasUMLComponent ()
UMLDatatypeasUMLDatatype ()
UMLEntityasUMLEntity ()
UMLEntityAttributeasUMLEntityAttribute ()
UMLEntityConstraintasUMLEntityConstraint ()
UMLEnumasUMLEnum ()
UMLEnumLiteralasUMLEnumLiteral ()
UMLFolderasUMLFolder ()
UMLForeignKeyConstraintasUMLForeignKeyConstraint ()
UMLInstanceasUMLInstance ()
UMLInstanceAttributeasUMLInstanceAttribute ()
UMLNodeasUMLNode ()
UMLObjectasUMLObject ()
UMLOperationasUMLOperation ()
UMLPackageasUMLPackage ()
UMLPortasUMLPort ()
UMLRoleasUMLRole ()
UMLStereotypeasUMLStereotype ()
UMLTemplateasUMLTemplate ()
UMLUniqueConstraintasUMLUniqueConstraint ()
UMLUseCaseasUMLUseCase ()
const UMLActorasUMLActor () const
const UMLArtifactasUMLArtifact () const
const UMLAssociationasUMLAssociation () const
const UMLAttributeasUMLAttribute () const
const UMLCanvasObjectasUMLCanvasObject () const
const UMLCategoryasUMLCategory () const
const UMLCheckConstraintasUMLCheckConstraint () const
const UMLClassifierasUMLClassifier () const
const UMLClassifierListItemasUMLClassifierListItem () const
const UMLClassifierSetasUMLClassifierSet () const
const UMLComponentasUMLComponent () const
const UMLDatatypeasUMLDatatype () const
const UMLEntityasUMLEntity () const
const UMLEntityAttributeasUMLEntityAttribute () const
const UMLEntityConstraintasUMLEntityConstraint () const
const UMLEnumasUMLEnum () const
const UMLEnumLiteralasUMLEnumLiteral () const
const UMLFolderasUMLFolder () const
const UMLForeignKeyConstraintasUMLForeignKeyConstraint () const
const UMLInstanceasUMLInstance () const
const UMLInstanceAttributeasUMLInstanceAttribute () const
const UMLNodeasUMLNode () const
const UMLObjectasUMLObject () const
const UMLOperationasUMLOperation () const
const UMLPackageasUMLPackage () const
const UMLPortasUMLPort () const
const UMLRoleasUMLRole () const
const UMLStereotypeasUMLStereotype () const
const UMLTemplateasUMLTemplate () const
const UMLUniqueConstraintasUMLUniqueConstraint () const
const UMLUseCaseasUMLUseCase () const

Private Attributes

UMLObjectList m_List

Additional Inherited Members

Public Types inherited from UMLObject
enum  ObjectType {
  ot_Unknown = -1 , ot_UMLObject = 100 , ot_Actor , ot_UseCase ,
  ot_Package , ot_Interface , ot_Datatype , ot_Enum ,
  ot_Class , ot_Instance , ot_Association , ot_Attribute ,
  ot_Operation , ot_EnumLiteral , ot_Template , ot_Component ,
  ot_Artifact , ot_Node , ot_Stereotype , ot_Role ,
  ot_Entity , ot_EntityAttribute , ot_Folder , ot_EntityConstraint ,
  ot_UniqueConstraint , ot_ForeignKeyConstraint , ot_CheckConstraint , ot_Category ,
  ot_Port , ot_InstanceAttribute , ot_SubSystem
}
Public Slots inherited from UMLObject
void emitModified ()
Static Public Member Functions inherited from UMLObject
static QString toString (ObjectType ot)
static QString toI18nString (ObjectType t)
static Icon_Utils::IconType toIcon (ObjectType t)
Protected Member Functions inherited from UMLObject
void init ()
void maybeSignalObjectCreated ()
void save1end (QXmlStreamWriter &writer)
virtual bool load1 (QDomElement &element)
Protected Attributes inherited from UMLObject
Uml::ID::Type m_nId
 object's id
QString m_Doc
 object's documentation
QPointer< UMLStereotypem_pStereotype
 stereotype of the object if applicable
QString m_name
 objects name
ObjectType m_BaseType
 objects type
Uml::Visibility::Enum m_visibility
 objects visibility
bool m_bAbstract
 state of whether the object is abstract or not
bool m_bStatic
 flag for instance scope
bool m_bCreationWasSignalled
 auxiliary to maybeSignalObjectCreated()
QPointer< UMLObjectm_pSecondary
QString m_SecondaryId
QString m_SecondaryFallback
QStringList m_TaggedValues
UMLObjectPrivatem_d
 private data

Detailed Description

Non-graphical information for a UMLCanvasObject.

This class contains the non-graphical information required for UMLObjects which appear as moveable widgets on the scene.

This class inherits from UMLObject which contains most of the information. It is not instantiated itself, it's just used as a super class for actual model objects. It adds a member of type UMLObjectList containing subordinate objects. The subordinate objects could be associations, attributes, operations, or other items depending on the inheriting class.

Author
Jonathan Riddell
See also
UMLObject Bugs and comments to umbre.nosp@m.llo-.nosp@m.devel.nosp@m.@kde.nosp@m..org or https://bugs.kde.org

Constructor & Destructor Documentation

◆ UMLCanvasObject()

UMLCanvasObject::UMLCanvasObject ( const QString & name = QString(),
Uml::ID::Type id = Uml::ID::None )
explicit

Sets up a UMLCanvasObject.

Parameters
nameThe name of the Concept.
idThe unique id of the Concept.
Here is the call graph for this function:

◆ ~UMLCanvasObject()

UMLCanvasObject::~UMLCanvasObject ( )
virtual

Standard deconstructor.

Here is the call graph for this function:

Member Function Documentation

◆ addAssociationEnd()

bool UMLCanvasObject::addAssociationEnd ( UMLAssociation * assoc)

Adds an association end to subordinates.

Parameters
assocThe association to add.
Todo
change param type to UMLRole
Here is the call graph for this function:

◆ associations()

int UMLCanvasObject::associations ( ) const

Returns the number of associations for the CanvasObject. This is the sum of the aggregations and compositions.

Returns
The number of associations for the Concept.
Here is the call graph for this function:

◆ copyInto()

void UMLCanvasObject::copyInto ( UMLObject * lhs) const
virtual

Copy the internal presentation of this object into the new object.

Reimplemented from UMLObject.

Reimplemented in UMLCategory, UMLClassifier, UMLEntity, UMLEnum, and UMLPackage.

Here is the call graph for this function:

◆ findChildObject()

UMLObject * UMLCanvasObject::findChildObject ( const QString & n,
UMLObject::ObjectType t = UMLObject::ot_UMLObject ) const
virtual

Find a child object with the given name.

Parameters
nThe name of the object to find.
tThe type to find (optional.) If not given then any object type will match.
Returns
Pointer to the object found; NULL if none found.
Here is the call graph for this function:

◆ findChildObjectById()

UMLObject * UMLCanvasObject::findChildObjectById ( Uml::ID::Type id,
bool considerAncestors = false ) const
virtual

Find an association.

Parameters
idThe id of the object to find.
considerAncestorsboolean switch to consider ancestors while searching
Returns
Pointer to the object found (NULL if not found.)

Reimplemented in UMLClassifier.

Here is the call graph for this function:

◆ getAggregations()

UMLAssociationList UMLCanvasObject::getAggregations ( ) const

Shorthand for getSpecificAssocs(Uml::at_Aggregation)

Returns
The list of aggregations for the Concept.
Here is the call graph for this function:

◆ getAssociations()

UMLAssociationList UMLCanvasObject::getAssociations ( ) const

Return the list of associations for the CanvasObject.

Returns
The list of associations for the CanvasObject.
Here is the call graph for this function:

◆ getCompositions()

UMLAssociationList UMLCanvasObject::getCompositions ( ) const

Shorthand for getSpecificAssocs(Uml::at_Composition) const

Returns
The list of compositions for the Concept.
Here is the call graph for this function:

◆ getRealizations()

UMLAssociationList UMLCanvasObject::getRealizations ( ) const
virtual

Shorthand for getSpecificAssocs(Uml::at_Realization)

Returns
The list of realizations for the Concept.
Here is the call graph for this function:

◆ getRelationships()

UMLAssociationList UMLCanvasObject::getRelationships ( ) const

Shorthand for getSpecificAssocs(Uml::at_Relationship)

Returns
The list of relationships for the entity.
Here is the call graph for this function:

◆ getSpecificAssocs()

UMLAssociationList UMLCanvasObject::getSpecificAssocs ( Uml::AssociationType::Enum assocType) const

Return the subset of subordinates that matches the given type.

Parameters
assocTypeThe AssociationType::Enum to match.
Returns
The list of associations that match assocType.
Here is the call graph for this function:

◆ getSubClasses()

UMLClassifierList UMLCanvasObject::getSubClasses ( ) const

Return a list of the classes that inherit from this classifier. TODO: This overlaps with UMLClassifier::findSubClassConcepts(), see if we can merge the two.

Returns
The list of classes inheriting from the classifier.
Here is the call graph for this function:

◆ getSuperClasses()

UMLClassifierList UMLCanvasObject::getSuperClasses ( bool withRealizations = true) const

Return a list of the superclasses of this classifier. TODO: This overlaps with UMLClassifier::findSuperClassConcepts(), see if we can merge the two.

Parameters
withRealizationsinclude realizations in the returned list (default=yes)
Returns
The list of superclasses for the classifier.
Here is the call graph for this function:

◆ hasAssociation()

bool UMLCanvasObject::hasAssociation ( UMLAssociation * assoc) const

Determine if this canvasobject has the given association.

Parameters
assocThe association to check.
Here is the call graph for this function:

◆ operator==()

bool UMLCanvasObject::operator== ( const UMLCanvasObject & rhs) const

Overloaded '==' operator

Here is the call graph for this function:

◆ removeAllAssociationEnds()

void UMLCanvasObject::removeAllAssociationEnds ( )

Remove all association ends from the CanvasObject.

Here is the call graph for this function:

◆ removeAllChildObjects()

void UMLCanvasObject::removeAllChildObjects ( )
virtual

Remove all child objects. Just clear list, objects must be deleted where they were created (or we have bad crashes).

Here is the call graph for this function:

◆ removeAssociationEnd()

int UMLCanvasObject::removeAssociationEnd ( UMLAssociation * assoc)

Remove an association end from the CanvasObject.

Parameters
assocThe association to remove.
Todo
change param type to UMLRole
Here is the call graph for this function:

◆ resolveRef()

bool UMLCanvasObject::resolveRef ( )
virtual

Reimplementation of UMLObject method.

Reimplemented from UMLObject.

Reimplemented in UMLClassifier, UMLEntity, UMLInstance, and UMLPackage.

Here is the call graph for this function:

◆ sigAssociationEndAdded

void UMLCanvasObject::sigAssociationEndAdded ( UMLAssociation * assoc)
signal

◆ sigAssociationEndRemoved

void UMLCanvasObject::sigAssociationEndRemoved ( UMLAssociation * assoc)
signal

◆ subordinates()

UMLObjectList & UMLCanvasObject::subordinates ( ) const
inline

◆ uniqChildName()

QString UMLCanvasObject::uniqChildName ( const UMLObject::ObjectType type,
const QString & prefix = QString() ) const
virtual

Returns a name for the new association, operation, template or attribute appended with a number if the default name is taken e.g. new_association, new_association_1 etc.

Parameters
typeThe object type for which to make a name.
prefixOptional prefix to use for the name. If not given then uniqChildName() will choose the prefix internally based on the object type.
Returns
Unique name string for the ObjectType given.
Here is the call graph for this function:

Member Data Documentation

◆ m_List

UMLObjectList UMLCanvasObject::m_List
mutableprivate

List of all the associations in this object. Inheriting classes add more types of objects that are possible in this list; for example, UMLClassifier adds operations, attributes, and templates.

Todo
Only a pointer to the appropriate association end object (UMLRole) should be saved here, not the entire UMLAssociation.

The documentation for this class was generated from the following files: