DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
dbe::RelationshipNode Class Reference

#include <treenode.hpp>

Inheritance diagram for dbe::RelationshipNode:
[legend]
Collaboration diagram for dbe::RelationshipNode:
[legend]

Public Member Functions

 RelationshipNode (const dunedaq::conffwk::relationship_t &RelationshipData, treenode *ParentNode)
 ~RelationshipNode ()
virtual QVariant GetData (const int Column, int role=Qt::DisplayRole) const
dunedaq::conffwk::relationship_t relation_t () const
Public Member Functions inherited from dbe::treenode
 treenode (treenode *ParentNode=nullptr)
 Including QT Headers.
 treenode (QString const &Datum, treenode *ParentNode=nullptr)
 treenode (QStringList const &DataList, treenode *ParentNode=nullptr)
virtual ~treenode ()
virtual tref GetObject () const
int GetRow () const
virtual void AddChild (treenode *Child)
virtual void RemoveChild (treenode *Child)
treenode * GetChild (const int Row) const
QList< treenode * > GetChildren () const
treenode * GetParent () const
int ChildCount () const
int ColumnCount () const
void SetHasStructure (bool Structure)
bool GetHasStructure () const
void SetWasFetched (bool Fetched)
bool GetWasFetched () const
void rename (QString const &)

Private Attributes

dunedaq::conffwk::relationship_t relation_t_definition

Additional Inherited Members

Protected Attributes inherited from dbe::treenode
treenode * Parent
QList< treenode * > Children
QList< QVariant > Data
bool HasStructure
bool WasFetched

Detailed Description

Definition at line 105 of file treenode.hpp.

Constructor & Destructor Documentation

◆ RelationshipNode()

dbe::RelationshipNode::RelationshipNode ( const dunedaq::conffwk::relationship_t & RelationshipData,
treenode * ParentNode )

Definition at line 331 of file treenode.cpp.

332 : treenode(ParentNode)
333 , relation_t_definition(relation)
334{
335 Data.append(QVariant(QString::fromStdString(relation.p_name)));
336
337 std::vector<tref> DataList;
338 tref ObjectParent = GetParent()->GetObject();
339
342 try {
344 DataList.push_back(Data);
345 } catch (daq::dbe::config_object_retrieval_result_is_null const& e) {
346 // nothing needs be done to handle the case that a relationship is not set
347 }
348 } else {
350 }
351
352 for (tref const& Object : DataList) {
353 new ObjectNode(Object, true, static_cast<treenode*>(this));
354 }
355
356 if (DataList.size() > 0) {
357 SetHasStructure(true);
358 }
359
360 SetWasFetched(true);
361}
ObjectNode(dref ObjectData, bool IsCopy, treenode *ParentNode)
Definition treenode.cpp:228
dunedaq::conffwk::relationship_t relation_t_definition
Definition treenode.hpp:114
treenode * GetParent() const
Definition treenode.cpp:116
void SetHasStructure(bool Structure)
Definition treenode.cpp:134
virtual tref GetObject() const
Definition treenode.cpp:76
treenode(treenode *ParentNode=nullptr)
Including QT Headers.
Definition treenode.cpp:29
void SetWasFetched(bool Fetched)
Definition treenode.cpp:146
QList< QVariant > Data
Definition treenode.hpp:56
tref relation< tref >(tref object, dunedaq::conffwk::relationship_t const &r)
T relation(tref item, dunedaq::conffwk::relationship_t const &relation)
inner::configobject::tref tref
Definition tref.hpp:36

◆ ~RelationshipNode()

dbe::RelationshipNode::~RelationshipNode ( )
default

Member Function Documentation

◆ GetData()

QVariant dbe::RelationshipNode::GetData ( const int Column,
int role = Qt::DisplayRole ) const
virtual

Reimplemented from dbe::treenode.

Definition at line 366 of file treenode.cpp.

367{
368 switch (role) {
369
370 case Qt::DisplayRole:
371 return Data.value(Column);
372
373 case Qt::DecorationRole:
374
375 if (Column == 0) {
376 return QIcon(":/Images/SLink.png");
377 }
378 }
379
380 return QVariant();
381}

◆ relation_t()

dunedaq::conffwk::relationship_t dbe::RelationshipNode::relation_t ( ) const

Definition at line 384 of file treenode.cpp.

385{
387}

Member Data Documentation

◆ relation_t_definition

dunedaq::conffwk::relationship_t dbe::RelationshipNode::relation_t_definition
private

Definition at line 114 of file treenode.hpp.


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