#include "library_display.h" #include #include #include namespace display { Library::Library() { auto layout = new QVBoxLayout(); this->setLayout(layout); componentList = new QListWidget(); busList = new QListWidget(); layout->setMargin(4); layout->addWidget(new QLabel("Components:")); layout->addWidget(componentList, 1); layout->addSpacing(8); layout->addWidget(new QLabel("Buses:")); layout->addWidget(busList, 1); setLibrary(library); } void Library::setLibrary(std::optional library) { componentList->clear(); busList->clear(); if(!library) { return; } for(auto& component: library->getComponents()) { auto item = new QListWidgetItem{QString::fromStdString(component.getName())}; item->setToolTip(QString::fromStdString(component.getTooltip())); componentList->addItem(item); } for(auto& bus: library->getBuses()) { if(bus.getType() == domain::Bus::REGULAR) { auto item = new QListWidgetItem{QString::fromStdString(bus.getName())}; item->setToolTip(QString::fromStdString(bus.getTooltip())); busList->addItem(item); } } } } // namespace display