diff options
Diffstat (limited to 'src/libs/modelinglib/qmt/style/relationvisuals.cpp')
-rw-r--r-- | src/libs/modelinglib/qmt/style/relationvisuals.cpp | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/src/libs/modelinglib/qmt/style/relationvisuals.cpp b/src/libs/modelinglib/qmt/style/relationvisuals.cpp new file mode 100644 index 00000000000..d297047ae1d --- /dev/null +++ b/src/libs/modelinglib/qmt/style/relationvisuals.cpp @@ -0,0 +1,58 @@ +// Copyright (C) 2024 Jochen Becher +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 + +#include "relationvisuals.h" + +namespace qmt { + +RelationVisuals::RelationVisuals() {} + +RelationVisuals::RelationVisuals(DObject::VisualPrimaryRole visualObjectPrimaryRole, + DRelation::VisualPrimaryRole visualPrimaryRole, + DRelation::VisualSecondaryRole visualSecondaryRole, + bool emphasized) + : m_visualObjectPrimaryRole(visualObjectPrimaryRole) + , m_visualPrimaryRole(visualPrimaryRole) + , m_visualSecondaryRole(visualSecondaryRole) + , m_isEmphasized(emphasized) +{} + +RelationVisuals::~RelationVisuals() {} + +void RelationVisuals::setVisualPrimaryRole(DRelation::VisualPrimaryRole VisualPrimaryRole) +{ + m_visualPrimaryRole = VisualPrimaryRole; +} + +void RelationVisuals::setVisualObjectPrimaryRole(DObject::VisualPrimaryRole visualPrimaryRole) +{ + m_visualObjectPrimaryRole = visualPrimaryRole; +} + +void RelationVisuals::setVisualSecondaryRole(DRelation::VisualSecondaryRole visualSecondaryRole) +{ + m_visualSecondaryRole = visualSecondaryRole; +} + +void RelationVisuals::setEmphasized(bool emphasized) +{ + m_isEmphasized = emphasized; +} + +bool operator==(const RelationVisuals &lhs, const RelationVisuals &rhs) +{ + return lhs.visualObjectPrimaryRole() == rhs.visualObjectPrimaryRole() + && lhs.visualPrimaryRole() == rhs.visualPrimaryRole() + && lhs.visualSecondaryRole() == rhs.visualSecondaryRole() + && lhs.isEmphasized() == rhs.isEmphasized(); +} + +size_t qHash(const RelationVisuals &relationVisuals) +{ + return ::qHash(static_cast<int>(relationVisuals.visualObjectPrimaryRole())) + ^ ::qHash(static_cast<int>(relationVisuals.visualPrimaryRole())) + ^ ::qHash(static_cast<int>(relationVisuals.visualSecondaryRole())) + ^ ::qHash(relationVisuals.isEmphasized()); +} + +} // namespace qmt |