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

#include <treenode.hpp>

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

Public Member Functions

 ObjectNode (dref ObjectData, bool IsCopy, treenode *ParentNode)
 ~ObjectNode ()
virtual QVariant GetData (const int Column, int role=Qt::DisplayRole) const
tref GetObject () 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 ()
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

dref configdata

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 81 of file treenode.hpp.

Constructor & Destructor Documentation

◆ ObjectNode()

dbe::ObjectNode::ObjectNode ( dref ObjectData,
bool IsCopy,
treenode * ParentNode )

Definition at line 228 of file treenode.cpp.

229 : treenode(ParentNode)
230 , configdata(obj)
231{
232 Data.append(QVariant(QString::fromStdString(configdata.UID())));
233 if (not acopy) {
234 dunedaq::conffwk::class_t ClassInfo = dbe::config::api::info::onclass::definition(configdata.class_name(), false);
235 std::vector<dunedaq::conffwk::attribute_t> Attributes = ClassInfo.p_attributes;
236 std::vector<dunedaq::conffwk::relationship_t> Relationships = ClassInfo.p_relationships;
237
238 if ((Relationships.size() > 0)) {
239 SetHasStructure(true);
240 }
241
242 for (dunedaq::conffwk::attribute_t& Attribute : Attributes) {
243 new AttributeNode(Attribute, static_cast<treenode*>(this));
244 }
245
246 for (dunedaq::conffwk::relationship_t& Relationship : Relationships) {
247 new RelationshipNode(Relationship, static_cast<treenode*>(this));
248 }
249 }
250
251 SetWasFetched(true);
252}
AttributeNode(const dunedaq::conffwk::attribute_t &AttributeData, treenode *ParentNode)
Definition treenode.cpp:281
RelationshipNode(const dunedaq::conffwk::relationship_t &RelationshipData, treenode *ParentNode)
Definition treenode.cpp:331
static dunedaq::conffwk::class_t definition(std::string const &cn, bool direct_only)
void SetHasStructure(bool Structure)
Definition treenode.cpp:134
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
const std::vector< attribute_t > p_attributes
Definition Schema.hpp:161
const std::vector< relationship_t > p_relationships
Definition Schema.hpp:162

◆ ~ObjectNode()

dbe::ObjectNode::~ObjectNode ( )
default

Member Function Documentation

◆ GetData()

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

Reimplemented from dbe::treenode.

Definition at line 257 of file treenode.cpp.

258{
259 switch (role) {
260
261 case Qt::DisplayRole:
262 return Data.value(Column);
263
264 case Qt::DecorationRole:
265
266 if (Column == 0) {
267 return QIcon(":/Images/TextGeneric.png");
268 }
269 break;
270 }
271
272 return QVariant();
273}

◆ GetObject()

dbe::tref dbe::ObjectNode::GetObject ( ) const
virtual

Reimplemented from dbe::treenode.

Definition at line 276 of file treenode.cpp.

277{
278 return configdata.ref();
279}
inner::configobject::tref ref() const

Member Data Documentation

◆ configdata

dref dbe::ObjectNode::configdata
private

Definition at line 90 of file treenode.hpp.


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