DiagramDesigner/source/electricElementsPanel.cpp

53 lines
1.5 KiB
C++
Raw Normal View History

2024-12-03 20:07:25 +08:00
#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);
}
}
2025-03-28 18:08:21 +08:00
void ElectricElementsPanel::setData(QMap<QString,modelStateInfo> map)
2024-12-03 20:07:25 +08:00
{
2025-04-30 16:29:17 +08:00
if(m_pListWidget->count() != 0)
m_pListWidget->clear();
2024-12-03 20:07:25 +08:00
m_mapEleData = map;
initial();
}
void ElectricElementsPanel::onItemClicked(QListWidgetItem* item)
{
item->setBackground(QBrush(QColor(135,206,235,220)));
2025-03-28 18:08:21 +08:00
emit addGraphicsItem(m_mapEleData[item->text()]);
2024-12-03 20:07:25 +08:00
}