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

#include <SchemaCustomSuperClassModel.hpp>

Inheritance diagram for dbse::CustomSuperClassModel:
[legend]
Collaboration diagram for dbse::CustomSuperClassModel:
[legend]

Public Member Functions

 CustomSuperClassModel (dunedaq::oks::OksClass *ClassInfo, QStringList Headers, bool Derived=false)
 ~CustomSuperClassModel ()
void setupModel ()
Public Member Functions inherited from dbse::CustomModelInterface
 CustomModelInterface (QStringList Headers, QObject *parent=nullptr)
 Including Schema Editor.
 ~CustomModelInterface ()
int rowCount (const QModelIndex &parent) const
int columnCount (const QModelIndex &parent) const
Qt::ItemFlags flags (const QModelIndex &index) const
QVariant headerData (int section, Qt::Orientation orientation, int role) const
QVariant data (const QModelIndex &index, int role) const
QStringList getRowFromIndex (QModelIndex &index)

Private Attributes

dunedaq::oks::OksClass * SchemaClass
bool SchemaDerived

Additional Inherited Members

Protected Attributes inherited from dbse::CustomModelInterface
QStringList HeaderList
QList< QStringList > Data

Detailed Description

Definition at line 17 of file SchemaCustomSuperClassModel.hpp.

Constructor & Destructor Documentation

◆ CustomSuperClassModel()

dbse::CustomSuperClassModel::CustomSuperClassModel ( dunedaq::oks::OksClass * ClassInfo,
QStringList Headers,
bool Derived = false )

Definition at line 11 of file SchemaCustomSuperClassModel.cpp.

12 : CustomModelInterface(Headers)
13 , SchemaClass(ClassInfo)
14 , SchemaDerived(Derived)
15{
16 setupModel();
17}
CustomModelInterface(QStringList Headers, QObject *parent=nullptr)
Including Schema Editor.

◆ ~CustomSuperClassModel()

dbse::CustomSuperClassModel::~CustomSuperClassModel ( )
default

Member Function Documentation

◆ setupModel()

void dbse::CustomSuperClassModel::setupModel ( )
virtual

Implements dbse::CustomModelInterface.

Definition at line 20 of file SchemaCustomSuperClassModel.cpp.

21{
22 Data.clear();
23
24 std::set<std::string> direct_classes;
25 const auto& directClasses = SchemaClass->direct_super_classes();
26 if (directClasses != nullptr) {
27 for (const std::string* cl : *directClasses) {
28 direct_classes.insert(*cl);
29 }
30 }
31
32 std::list<std::string> SuperClassList;
33 if (SchemaDerived) {
34 const OksClass::FList* allClasses = SchemaClass->all_super_classes();
35 if (allClasses != nullptr) {
36 for (const OksClass* cl : *allClasses) {
37 SuperClassList.push_back(cl->get_name());
38 }
39 }
40 } else {
41 for (auto cls : direct_classes) {
42 SuperClassList.push_back(cls);
43 }
44 }
45
46 for (std::string cls : SuperClassList) {
47 QStringList row;
48 row.append(QString::fromStdString(cls));
49 if (direct_classes.contains(cls)) {
50 row.append("D");
51 } else {
52 row.append("I");
53 }
54 Data.append(row);
55 }
56}
std::list< OksClass *, boost::fast_pool_allocator< OksClass * > > FList
Definition class.hpp:254
const FList * all_super_classes() const noexcept
Definition class.hpp:413
const std::list< std::string * > * direct_super_classes() const noexcept
Definition class.hpp:417

Member Data Documentation

◆ SchemaClass

dunedaq::oks::OksClass* dbse::CustomSuperClassModel::SchemaClass
private

Definition at line 25 of file SchemaCustomSuperClassModel.hpp.

◆ SchemaDerived

bool dbse::CustomSuperClassModel::SchemaDerived
private

Definition at line 26 of file SchemaCustomSuperClassModel.hpp.


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