Omnidome
Fulldome Mapping Software Toolkit
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Private Member Functions | Private Attributes
omni::ui::PluginList Class Reference

List view to show all loaded plugins. More...

#include <PluginList.h>

Inheritance diagram for omni::ui::PluginList:
Inheritance graph
[legend]
Collaboration diagram for omni::ui::PluginList:
Collaboration graph
[legend]

Public Member Functions

 PluginList (QWidget *=nullptr)
 
 ~PluginList ()
 

Private Member Functions

void prepareModel ()
 
void addItem (PluginInfo const &)
 

Private Attributes

std::unique_ptr
< QStandardItemModel > 
model_
 

Detailed Description

List view to show all loaded plugins.

Constructor & Destructor Documentation

omni::ui::PluginList::PluginList ( QWidget *  _parent = nullptr)
25  :
26  QTreeView(_parent) {
27  prepareModel();
28 
29  for (auto& _pluginInfo : PluginLoader::loadedPlugins()) {
30  addItem(_pluginInfo);
31  }
32 
33  for (int i = 0; i < model_->columnCount(); ++i) {
34  resizeColumnToContents(i);
35  }
36  }
void prepareModel()
Definition: PluginList.cpp:40
void addItem(PluginInfo const &)
Definition: PluginList.cpp:55
static std::vector< PluginInfo > const & loadedPlugins()
Return list of information about loaded plugins.
Definition: PluginLoader.cpp:79
std::unique_ptr< QStandardItemModel > model_
Definition: PluginList.h:41
omni::ui::PluginList::~PluginList ( )
38 {}

Member Function Documentation

void omni::ui::PluginList::addItem ( PluginInfo const &  _info)
private
55  {
56  QList<QStandardItem *> _row;
57  auto _makeItem = [](QString const& _t) -> QStandardItem * {
58  QStandardItem *_item = new QStandardItem(_t);
59 
60  _item->setEditable(false);
61  return _item;
62  };
63 
64  _row << _makeItem(_info.name());
65  _row << _makeItem(_info.type());
66  _row << _makeItem(_info.className());
67  _row << _makeItem(_info.author());
68  _row << _makeItem(_info.url());
69  _row << _makeItem(_info.versionString());
70  _row << _makeItem(_info.description());
71  _row << _makeItem(_info.file());
72 
73  model_->invisibleRootItem()->appendRow(_row);
74  }
std::unique_ptr< QStandardItemModel > model_
Definition: PluginList.h:41
void omni::ui::PluginList::prepareModel ( )
private
40  {
41  model_.reset(new QStandardItemModel());
42  model_->clear();
43  model_->setColumnCount(8);
44  model_->setHeaderData(0, Qt::Horizontal, "Plugin Name");
45  model_->setHeaderData(1, Qt::Horizontal, "Type");
46  model_->setHeaderData(2, Qt::Horizontal, "Class name");
47  model_->setHeaderData(3, Qt::Horizontal, "Author");
48  model_->setHeaderData(4, Qt::Horizontal, "URL");
49  model_->setHeaderData(5, Qt::Horizontal, "Version");
50  model_->setHeaderData(6, Qt::Horizontal, "Description");
51  model_->setHeaderData(7, Qt::Horizontal, "File");
52  setModel(model_.get());
53  }
std::unique_ptr< QStandardItemModel > model_
Definition: PluginList.h:41

Field Documentation

std::unique_ptr<QStandardItemModel> omni::ui::PluginList::model_
private

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