RelationshipGraph.h header

#include <ew/app/RelationshipGraph.h>

Namespace ew::app

RelationshipEdge struct

struct ew::app::RelationshipEdge

A directed relationship: entity from links to entity to via a Reference field labelled label (for example "Spouse" or "Mentor").

Members

ew::core::ContentId ew::app::RelationshipEdge::from

The source entity (holder of the Reference field).

ew::core::ContentId ew::app::RelationshipEdge::to

The target entity the reference points to.

QString ew::app::RelationshipEdge::label

The Reference field's label (for example "Spouse" or "Mentor").

RelationshipGraph struct

struct ew::app::RelationshipGraph

The entities of a project and the reference-field links between them, for the relationship graph view.

Members

std::vector<RelationshipNode> ew::app::RelationshipGraph::nodes

One node per entity in the graph.

std::vector<RelationshipEdge> ew::app::RelationshipGraph::edges

The directed reference links between the nodes.

RelationshipNode struct

struct ew::app::RelationshipNode

A node in the relationship graph: an entity, its display name, and its category (id + display name). The category drives colour-by-category and the category filter; it is resolved from the entity's owning-repo taxonomy, so it is correct across mounted libraries. category is empty (and categoryId null) for an uncategorized entity.

Members

ew::core::ContentId ew::app::RelationshipNode::id

The entity's id.

QString ew::app::RelationshipNode::name

The entity's display name.

ew::core::CategoryId ew::app::RelationshipNode::categoryId

The owning category's id; null for an uncategorized entity.

QString ew::app::RelationshipNode::category

The owning category's display name; empty for an uncategorized entity.

Functions

RelationshipGraph ew::app::relationshipGraph(const ew::core::Project &project)

Builds the relationship graph for project: one node per entity, and one edge for each Reference-typed field value that points to another entity, labelled with the field's label. References to non-entities (or to missing objects) are skipped.

RelationshipGraph ew::app::relationshipGraph(const ew::core::Project &project, const MountedLibraries &libraries)

Builds the relationship graph spanning project and every mounted library: one node per entity across the whole working graph, and one edge per Reference field resolved across the span – so a reference from the project to a shared-library entity (or between libraries) links as a cross-repo edge. Each entity's Reference fields come from its owning repo's schema.