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)
treenodeGetChild (const int Row) const
QList< treenode * > GetChildren () const
treenodeGetParent () 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
treenodeParent
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 340 of file treenode.cpp.

342 :
343 treenode ( ParentNode ),
344 relation_t_definition ( relation )
345{
346 Data.append ( QVariant ( QString::fromStdString ( relation.p_name ) ) );
347
348 std::vector<tref> DataList;
349 tref ObjectParent = GetParent()->GetObject();
350
351 if ( ( relation_t_definition.p_cardinality == dunedaq::conffwk::only_one )
353 .p_cardinality
355 {
356 try
357 {
358 tref Data =
360 ObjectParent,
361 relation );
362 DataList.push_back ( Data );
363 }
364 catch ( daq::dbe::config_object_retrieval_result_is_null const & e )
365 {
366 //nothing needs be done to handle the case that a relationship is not set
367 }
368 }
369 else
370 {
371 DataList =
373 ObjectParent,
374 relation );
375 }
376
377 for ( tref const & Object : DataList )
378 {
379 new ObjectNode ( Object, true, static_cast<treenode *> ( this ) );
380 }
381
382 if ( DataList.size() > 0 )
383 {
384 SetHasStructure ( true );
385 }
386
387 SetWasFetched ( true );
388}
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:131
virtual tref GetObject() const
Definition treenode.cpp:81
treenode(treenode *ParentNode=nullptr)
Including QT Headers.
Definition treenode.cpp:29
void SetWasFetched(bool Fetched)
Definition treenode.cpp:141
QList< QVariant > Data
Definition treenode.hpp:57
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:35

◆ ~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 392 of file treenode.cpp.

393{
394 switch ( role )
395 {
396
397 case Qt::DisplayRole:
398 return Data.value ( Column );
399
400 case Qt::DecorationRole:
401
402 if ( Column == 0 )
403 {
404 return QIcon ( ":/Images/SLink.png" );
405 }
406 }
407
408 return QVariant();
409}

◆ relation_t()

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

Definition at line 411 of file treenode.cpp.

412{
414}

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: