PowerMaster/source/panelSelectionDialog.cpp

88 lines
2.9 KiB
C++

#include "panelSelectionDialog.h"
#include "ui_panelSelectionDialog.h"
#define panelTye 1
PanelSelectionDialog::PanelSelectionDialog(QWidget *parent)
: QDialog(parent)
, ui(new Ui::panelSelectionDialog)
{
ui->setupUi(this);
setWindowFlags(Qt::FramelessWindowHint | Qt::Dialog);
setAttribute(Qt::WA_TranslucentBackground);
initList();
connect(ui->btnConfirm, SIGNAL(clicked()), this, SLOT(onBtnClicked_confirm()));
connect(ui->btnCancle, SIGNAL(clicked()), this, SLOT(onBtnClicked_cancle()));
}
PanelSelectionDialog::~PanelSelectionDialog()
{
delete ui;
}
void PanelSelectionDialog::initList()
{
ui->listWidget->clear();
QListWidgetItem* item = new QListWidgetItem(QString::fromWCharArray(L"曲线图"));
item->setData(Qt::UserRole + panelTye, lineChart);
ui->listWidget->addItem(item);
item = new QListWidgetItem(QString::fromWCharArray(L"直方图"));
item->setData(Qt::UserRole + panelTye, barChart);
ui->listWidget->addItem(item);
item = new QListWidgetItem(QString::fromWCharArray(L"点状图"));
item->setData(Qt::UserRole + panelTye, dotChart);
item->setFlags(item->flags() & ~Qt::ItemIsEnabled);
ui->listWidget->addItem(item);
item = new QListWidgetItem(QString::fromWCharArray(L"饼状图"));
item->setData(Qt::UserRole + panelTye, pieChart);
item->setFlags(item->flags() & ~Qt::ItemIsEnabled);
ui->listWidget->addItem(item);
item = new QListWidgetItem(QString::fromWCharArray(L"热力图"));
item->setData(Qt::UserRole + panelTye, heatMap);
item->setFlags(item->flags() & ~Qt::ItemIsEnabled);
ui->listWidget->addItem(item);
item = new QListWidgetItem(QString::fromWCharArray(L"仪表盘"));
item->setData(Qt::UserRole + panelTye, dial);
item->setFlags(item->flags() & ~Qt::ItemIsEnabled);
ui->listWidget->addItem(item);
item = new QListWidgetItem(QString::fromWCharArray(L"数据表"));
item->setData(Qt::UserRole + panelTye, table);
item->setFlags(item->flags() & ~Qt::ItemIsEnabled);
ui->listWidget->addItem(item);
item = new QListWidgetItem(QString::fromWCharArray(L"地图"));
item->setData(Qt::UserRole + panelTye, map);
item->setFlags(item->flags() & ~Qt::ItemIsEnabled);
ui->listWidget->addItem(item);
ui->listWidget->setCurrentRow(0);
}
// void PanelSelectionDialog::showEvent(QShowEvent* event)
// {
// Q_UNUSED(event);
// ui->listWidget->clearSelection();
// QDialog::showEvent(event);
// }
void PanelSelectionDialog::onBtnClicked_confirm()
{
QListWidgetItem* item = ui->listWidget->currentItem();
if(item)
{
DataPanelType type = (DataPanelType)item->data(Qt::UserRole + panelTye).toInt();
ui->listWidget->setCurrentRow(0);
hide();
emit panelType(type);
}
}
void PanelSelectionDialog::onBtnClicked_cancle()
{
hide();
emit sgl_hide();
//ui->listWidget->clearSelection();
}