51 lines
1.4 KiB
C++
51 lines
1.4 KiB
C++
#include <QVBoxLayout>
|
|
#include <QListWidgetItem>
|
|
#include <QIcon>
|
|
#include <QBrush>
|
|
|
|
#include "electricElementsPanel.h"
|
|
#include "electricElementsListwidget.h"
|
|
|
|
ElectricElementsPanel::ElectricElementsPanel(QWidget *parent)
|
|
: QWidget(parent)
|
|
{
|
|
m_pListWidget = new ElectricElementsListwidget();
|
|
QVBoxLayout *vBoxLayout = new QVBoxLayout(this);
|
|
vBoxLayout->setContentsMargins(0, 0, 0, 0);
|
|
vBoxLayout->addWidget(m_pListWidget);
|
|
m_pListWidget->setViewMode(QListView::IconMode);
|
|
m_pListWidget->setResizeMode(QListView::Adjust);
|
|
m_pListWidget->setMovement(QListView::Static);
|
|
|
|
connect(m_pListWidget,&QListWidget::itemClicked,this,&ElectricElementsPanel::onItemClicked);
|
|
}
|
|
|
|
ElectricElementsPanel::~ElectricElementsPanel()
|
|
{
|
|
if(m_pListWidget)
|
|
delete m_pListWidget;
|
|
}
|
|
|
|
void ElectricElementsPanel::initial()
|
|
{
|
|
for(auto iter = m_mapEleData.begin();iter != m_mapEleData.end();++iter)
|
|
{
|
|
QIcon icon(":/images/element/icons_triangle.png");
|
|
QListWidgetItem* pItem = new QListWidgetItem(icon,iter.key());
|
|
pItem->setSizeHint(QSize(50,50));
|
|
m_pListWidget->addItem(pItem);
|
|
}
|
|
}
|
|
|
|
void ElectricElementsPanel::setData(QMap<QString,modelStateInfo> map)
|
|
{
|
|
m_mapEleData = map;
|
|
initial();
|
|
}
|
|
|
|
void ElectricElementsPanel::onItemClicked(QListWidgetItem* item)
|
|
{
|
|
item->setBackground(QBrush(QColor(135,206,235,220)));
|
|
emit addGraphicsItem(m_mapEleData[item->text()]);
|
|
}
|