umbrello: UMLCanvasObject Class Reference

umbrello 25.04.0 Umbrello UML Modeller is a Unified Modelling Language (UML) diagram program based on KDE Technology

Signals | Public Member Functions | Private Attributes | List of all members
UMLCanvasObject Class Reference

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

`#include <umlcanvasobject.h>`

Inheritance 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 UMLObject * | findChildObject (const QString &n, UMLObject::ObjectType t=UMLObject::ot_UMLObject) const
virtual UMLObject * | findChildObjectById (Uml::ID::Type id, bool considerAncestors=false) const
virtual QString | uniqChildName (const UMLObject::ObjectType type, const QString &prefix=QString()) const
virtual void | removeAllChildObjects ()
UMLObjectList & | subordinates () 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 UMLObject * | clone () 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)
UMLStereotype * | umlStereotype () const
QStringList & | tags ()
QString | package (const QString &separator=QString(), bool includeRoot=false) const
UMLPackageList | packages (bool includeRoot=false) const
bool | setUMLPackage (UMLPackage *pPkg)
UMLPackage * | umlPackage () const
void | setUMLParent (UMLObject *parent)
UMLObject * | umlParent () 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
UMLActor * | asUMLActor ()
UMLArtifact * | asUMLArtifact ()
UMLAssociation * | asUMLAssociation ()
UMLAttribute * | asUMLAttribute ()
UMLCanvasObject * | asUMLCanvasObject ()
UMLCategory * | asUMLCategory ()
UMLCheckConstraint * | asUMLCheckConstraint ()
UMLClassifier * | asUMLClassifier ()
UMLClassifierListItem * | asUMLClassifierListItem ()
UMLClassifierSet * | asUMLClassifierSet ()
UMLComponent * | asUMLComponent ()
UMLDatatype * | asUMLDatatype ()
UMLEntity * | asUMLEntity ()
UMLEntityAttribute * | asUMLEntityAttribute ()
UMLEntityConstraint * | asUMLEntityConstraint ()
UMLEnum * | asUMLEnum ()
UMLEnumLiteral * | asUMLEnumLiteral ()
UMLFolder * | asUMLFolder ()
UMLForeignKeyConstraint * | asUMLForeignKeyConstraint ()
UMLInstance * | asUMLInstance ()
UMLInstanceAttribute * | asUMLInstanceAttribute ()
UMLNode * | asUMLNode ()
UMLObject * | asUMLObject ()
UMLOperation * | asUMLOperation ()
UMLPackage * | asUMLPackage ()
UMLPort * | asUMLPort ()
UMLRole * | asUMLRole ()
UMLStereotype * | asUMLStereotype ()
UMLTemplate * | asUMLTemplate ()
UMLUniqueConstraint * | asUMLUniqueConstraint ()
UMLUseCase * | asUMLUseCase ()
const UMLActor * | asUMLActor () const
const UMLArtifact * | asUMLArtifact () const
const UMLAssociation * | asUMLAssociation () const
const UMLAttribute * | asUMLAttribute () const
const UMLCanvasObject * | asUMLCanvasObject () const
const UMLCategory * | asUMLCategory () const
const UMLCheckConstraint * | asUMLCheckConstraint () const
const UMLClassifier * | asUMLClassifier () const
const UMLClassifierListItem * | asUMLClassifierListItem () const
const UMLClassifierSet * | asUMLClassifierSet () const
const UMLComponent * | asUMLComponent () const
const UMLDatatype * | asUMLDatatype () const
const UMLEntity * | asUMLEntity () const
const UMLEntityAttribute * | asUMLEntityAttribute () const
const UMLEntityConstraint * | asUMLEntityConstraint () const
const UMLEnum * | asUMLEnum () const
const UMLEnumLiteral * | asUMLEnumLiteral () const
const UMLFolder * | asUMLFolder () const
const UMLForeignKeyConstraint * | asUMLForeignKeyConstraint () const
const UMLInstance * | asUMLInstance () const
const UMLInstanceAttribute * | asUMLInstanceAttribute () const
const UMLNode * | asUMLNode () const
const UMLObject * | asUMLObject () const
const UMLOperation * | asUMLOperation () const
const UMLPackage * | asUMLPackage () const
const UMLPort * | asUMLPort () const
const UMLRole * | asUMLRole () const
const UMLStereotype * | asUMLStereotype () const
const UMLTemplate * | asUMLTemplate () const
const UMLUniqueConstraint * | asUMLUniqueConstraint () const
const UMLUseCase * | asUMLUseCase () 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< UMLStereotype > | m_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< UMLObject > | m_pSecondary
QString | m_SecondaryId
QString | m_SecondaryFallback
QStringList | m_TaggedValues
UMLObjectPrivate * | m_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

  name | The name of the Concept.
  id | The unique id of the Concept.

## ◆ ~UMLCanvasObject()

UMLCanvasObject::~UMLCanvasObject | ( |  | ) |
| virtual

Standard deconstructor.

## Member Function Documentation

## ◆ addAssociationEnd()

bool UMLCanvasObject::addAssociationEnd | ( | UMLAssociation * | assoc | ) |

Adds an association end to subordinates.

Parameters

  assoc | The association to add.

Todo
  change param type to UMLRole

## ◆ 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.

## ◆ 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.

## ◆ findChildObject()

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

Find a child object with the given name.

Parameters

  n | The name of the object to find.
  t | The type to find (optional.) If not given then any object type will match.

Returns
  Pointer to the object found; NULL if none found.

## ◆ findChildObjectById()

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

Find an association.

Parameters

  id | The id of the object to find.
  considerAncestors | boolean switch to consider ancestors while searching

Returns
  Pointer to the object found (NULL if not found.)

Reimplemented in UMLClassifier.

## ◆ getAggregations()

UMLAssociationList UMLCanvasObject::getAggregations | ( |  | ) | const

Shorthand for getSpecificAssocs(Uml::at_Aggregation)

Returns
  The list of aggregations for the Concept.

## ◆ getAssociations()

UMLAssociationList UMLCanvasObject::getAssociations | ( |  | ) | const

Return the list of associations for the CanvasObject.

Returns
  The list of associations for the CanvasObject.

## ◆ getCompositions()

UMLAssociationList UMLCanvasObject::getCompositions | ( |  | ) | const

Shorthand for getSpecificAssocs(Uml::at_Composition) const

Returns
  The list of compositions for the Concept.

## ◆ getRealizations()

UMLAssociationList UMLCanvasObject::getRealizations | ( |  | ) | const
| virtual

Shorthand for getSpecificAssocs(Uml::at_Realization)

Returns
  The list of realizations for the Concept.

## ◆ getRelationships()

UMLAssociationList UMLCanvasObject::getRelationships | ( |  | ) | const

Shorthand for getSpecificAssocs(Uml::at_Relationship)

Returns
  The list of relationships for the entity.

## ◆ getSpecificAssocs()

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

Return the subset of subordinates that matches the given type.

Parameters

  assocType | The AssociationType::Enum to match.

Returns
  The list of associations that match assocType.

## ◆ 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.

## ◆ 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

  withRealizations | include realizations in the returned list (default=yes)

Returns
  The list of superclasses for the classifier.

## ◆ hasAssociation()

bool UMLCanvasObject::hasAssociation | ( | UMLAssociation * | assoc | ) | const

Determine if this canvasobject has the given association.

Parameters

  assoc | The association to check.

## ◆ operator==()

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

Overloaded '==' operator

## ◆ removeAllAssociationEnds()

void UMLCanvasObject::removeAllAssociationEnds | ( |  | ) |

Remove all association ends from the CanvasObject.

## ◆ 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).

## ◆ removeAssociationEnd()

int UMLCanvasObject::removeAssociationEnd | ( | UMLAssociation * | assoc | ) |

Remove an association end from the CanvasObject.

Parameters

  assoc | The association to remove.

Todo
  change param type to UMLRole

## ◆ resolveRef()

bool UMLCanvasObject::resolveRef | ( |  | ) |
| virtual

Reimplementation of UMLObject method.

Reimplemented from UMLObject.

Reimplemented in UMLClassifier, UMLEntity, UMLInstance, and UMLPackage.

## ◆ 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

  type | The object type for which to make a name.
  prefix | Optional 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.

## 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:

- umbrello/umlmodel/umlcanvasobject.h
- umbrello/umlmodel/umlcanvasobject.cpp