Line data Source code
1 : #include "dbe/SchemaCustomSuperClassModel.hpp"
2 :
3 : using namespace dunedaq::oks;
4 :
5 0 : dbse::CustomSuperClassModel::CustomSuperClassModel ( OksClass * ClassInfo,
6 0 : QStringList Headers, bool Derived )
7 : : CustomModelInterface ( Headers ),
8 0 : SchemaClass ( ClassInfo ),
9 0 : SchemaDerived ( Derived )
10 : {
11 0 : setupModel();
12 0 : }
13 :
14 0 : void dbse::CustomSuperClassModel::setupModel()
15 : {
16 0 : Data.clear();
17 0 : std::list<std::string> SuperClassList;
18 :
19 0 : if ( SchemaDerived )
20 : {
21 0 : const OksClass::FList* allClasses = SchemaClass->all_super_classes();
22 0 : if(allClasses != nullptr) {
23 0 : for(const OksClass* cl : *allClasses) {
24 0 : SuperClassList.push_back(cl->get_name());
25 : }
26 : }
27 : }
28 : else
29 : {
30 0 : const auto& directClasses = SchemaClass->direct_super_classes();
31 0 : if(directClasses != nullptr) {
32 0 : for(const std::string* cl : *directClasses) {
33 0 : SuperClassList.push_back(*cl);
34 : }
35 : }
36 : }
37 :
38 0 : for ( std::string Class : SuperClassList )
39 : {
40 0 : QStringList Row;
41 0 : Row.append ( QString::fromStdString ( Class ) );
42 0 : Data.append ( Row );
43 0 : }
44 0 : }
45 :
46 0 : dbse::CustomSuperClassModel::~CustomSuperClassModel() = default;
|