191 lines
7.9 KiB
C++
191 lines
7.9 KiB
C++
#include "knifegapparadialog.h"
|
||
#include "ui_knifegapparadialog.h"
|
||
|
||
KnifeGapParaDialog::KnifeGapParaDialog(QWidget *parent) :
|
||
QDialog(parent),
|
||
ui(new Ui::KnifeGapParaDialog),m_column(25),m_row(20)
|
||
{
|
||
ui->setupUi(this);
|
||
setWindowFlags (Qt::Window | Qt::FramelessWindowHint);
|
||
setWindowModality(Qt::ApplicationModal);
|
||
|
||
m_pModel = new QStandardItemModel(m_row, m_column, this);
|
||
memset(&m_knifeGapData, 0x00, sizeof(KnifeGapPara));
|
||
|
||
initWidget();
|
||
initControl();
|
||
|
||
}
|
||
|
||
KnifeGapParaDialog::~KnifeGapParaDialog()
|
||
{
|
||
delete ui;
|
||
}
|
||
|
||
void KnifeGapParaDialog::initWidget()
|
||
{
|
||
|
||
}
|
||
|
||
void KnifeGapParaDialog::initControl()
|
||
{
|
||
//根据不同分辨率设置控件的位置和尺寸
|
||
initResolution();
|
||
initControlStyle();//初始化窗体控件样式
|
||
}
|
||
|
||
void KnifeGapParaDialog::initResolution()
|
||
{
|
||
double factoryX = getFactoryX();
|
||
double factoryY = getFactoryY();
|
||
|
||
this->resize(GLB_SCR_WIGHT*factoryX,GLB_SCR_HEIGHT*factoryY);
|
||
this->move((GLB_SCR_WIGHT*factoryX-this->width())/2+g_mainWidgetPos.x(),(GLB_SCR_HEIGHT*factoryY-this->height())/2+g_mainWidgetPos.y());
|
||
ui->buttonTypeLogo->setGeometry(GLB_EDGE_WIGHT*factoryX,GLB_EDGE_HEIGHT*factoryY,GLB_LICON_SIZE*factoryX,GLB_LICON_SIZE*factoryY);
|
||
ui->labelMainTitle->setGeometry((GLB_EDGE_WIGHT+GLB_LICON_SIZE+GLB_EDGE_WIGHT)*factoryX,GLB_EDGE_HEIGHT*factoryY,
|
||
(GLB_SCR_WIGHT-(GLB_EDGE_WIGHT+GLB_LICON_SIZE+GLB_EDGE_WIGHT*2))*factoryX,GLB_TEXT_L_HEIGHT*factoryY);
|
||
ui->labelSubTitle->setGeometry((GLB_EDGE_WIGHT+GLB_LICON_SIZE+GLB_EDGE_WIGHT+GLB_TAB_WIGHT)*factoryX,(GLB_EDGE_HEIGHT+GLB_LICON_SIZE-GLB_TEXT_HEIGHT)*factoryY,
|
||
(GLB_SCR_WIGHT-(GLB_EDGE_WIGHT+GLB_LICON_SIZE+GLB_EDGE_WIGHT+GLB_TAB_WIGHT*2))*factoryX,GLB_TEXT_HEIGHT*factoryY);
|
||
|
||
ui->frameBack->setGeometry(0*factoryX,0*factoryY,GLB_SCR_WIGHT*factoryX,GLB_SCR_HEIGHT*factoryY);
|
||
ui->labelPageNum->setGeometry(GLB_EDGE_WIGHT*factoryX,(GLB_SCR_HEIGHT-GLB_TEXT_HEIGHT-GLB_EDGE_WIGHT)*factoryY,(GLB_SCR_WIGHT-GLB_EDGE_WIGHT*2)*factoryX,GLB_TEXT_HEIGHT*factoryY);
|
||
|
||
ui->framePageBtn->setGeometry(0*factoryX,(GLB_SCR_HEIGHT-GLB_LBUT_HEIGHT-GLB_EDGE_WIGHT)*factoryY,GLB_SCR_WIGHT*factoryX,GLB_LBUT_HEIGHT*factoryY);
|
||
ui->buttonPgUp->setGeometry((GLB_SCR_WIGHT-(GLB_EDGE_WIGHT+GLB_BAS_WIGHT*3+GLB_LBUT_WIGHT*4))*factoryX,0*factoryY,GLB_LBUT_WIGHT*factoryX,GLB_LBUT_HEIGHT*factoryY);
|
||
ui->buttonPgDn->setGeometry((GLB_SCR_WIGHT-(GLB_EDGE_WIGHT+GLB_BAS_WIGHT*2+GLB_LBUT_WIGHT*3))*factoryX,0*factoryY,GLB_LBUT_WIGHT*factoryX,GLB_LBUT_HEIGHT*factoryY);
|
||
ui->buttonOk->setGeometry((GLB_SCR_WIGHT-(GLB_EDGE_WIGHT+GLB_BAS_WIGHT*1+GLB_LBUT_WIGHT*2))*factoryX,0*factoryY,GLB_LBUT_WIGHT*factoryX,GLB_LBUT_HEIGHT*factoryY);
|
||
ui->buttonCancel->setGeometry((GLB_SCR_WIGHT-(GLB_EDGE_WIGHT+GLB_BAS_WIGHT*0+GLB_LBUT_WIGHT*1))*factoryX,0*factoryY,GLB_LBUT_WIGHT*factoryX,GLB_LBUT_HEIGHT*factoryY);
|
||
|
||
ui->frameSheet->setGeometry(10 *factoryX,100*factoryY,1000*factoryX,425*factoryY);
|
||
ui->tableView->setGeometry(0,0,ui->frameSheet->width(),ui->frameSheet->height());
|
||
|
||
//label样式
|
||
ui->labelMainTitle->setFont(fontSize_L());
|
||
ui->labelMainTitle->setStyleSheet(titleTextColour());
|
||
ui->labelSubTitle->setFont(fontSize_M());
|
||
ui->labelSubTitle->setStyleSheet(noteTextColour());
|
||
ui->labelPageNum->setFont(fontSize_M());
|
||
ui->labelPageNum->setStyleSheet(titleTextColour());
|
||
|
||
}
|
||
|
||
void KnifeGapParaDialog::initControlStyle()
|
||
{
|
||
SetStyle setControlStyle;
|
||
setControlStyle.setUiName(this->objectName());
|
||
|
||
ui->labelPageNum->setText(tr("PageNum: 0/0"));//页数: 0/0
|
||
ui->frameBack->setStyleSheet(transparentStyle());
|
||
QString str = setControlStyle.getStyleSheet(this->objectName());
|
||
ui->frameBack->setStyleSheet(str);
|
||
//四个按钮样式表一样
|
||
ui->buttonPgUp->setStyleSheet(confirmIconStyle());
|
||
ui->buttonPgUp->setTopImage(setControlStyle.getSharedTopStyleSheet(ui->buttonPgUp->objectName()));
|
||
|
||
ui->buttonPgDn->setStyleSheet(confirmIconStyle());
|
||
ui->buttonPgDn->setTopImage(setControlStyle.getSharedTopStyleSheet(ui->buttonPgDn->objectName()));
|
||
|
||
ui->buttonCancel->setStyleSheet(confirmIconStyle());
|
||
ui->buttonOk->setStyleSheet(confirmIconStyle());
|
||
if(g_emTheme == theme2)
|
||
{
|
||
ui->buttonOk->setTopImage(setControlStyle.getSharedTopStyleSheet("buttonOk_1"));
|
||
ui->buttonCancel->setTopImage(setControlStyle.getSharedTopStyleSheet("buttonCancel_1"));
|
||
}else
|
||
{
|
||
ui->buttonOk->setTopImage(setControlStyle.getSharedTopStyleSheet("buttonOk"));
|
||
ui->buttonCancel->setTopImage(setControlStyle.getSharedTopStyleSheet("buttonCancel"));
|
||
}
|
||
|
||
//不显示前三个按钮
|
||
ui->buttonPgUp->setVisible(false);
|
||
ui->buttonPgDn->setVisible(false);
|
||
ui->buttonOk->setVisible(false);
|
||
|
||
// 设置视图的属性
|
||
ui->tableView->setSelectionBehavior(QAbstractItemView::SelectRows);
|
||
ui->tableView->setSelectionMode(QAbstractItemView::SingleSelection);
|
||
ui->tableView->setEditTriggers(QAbstractItemView::NoEditTriggers); //触发器 点击无事件
|
||
ui->tableView->setAlternatingRowColors(true); //交替颜色
|
||
// ui->tableView->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);
|
||
// ui->tableView->verticalHeader()->setSectionResizeMode(QHeaderView::Stretch);
|
||
|
||
// 设置QTableView的边框、网格线颜色和选择行的颜色
|
||
ui->tableView->setStyleSheet("QTableView {"
|
||
"border: 1px solid #444444;" // 设置边框颜色和宽度
|
||
"gridline-color: #444444;" // 设置网格线颜色
|
||
"}"
|
||
"QTableView::item:selected {"
|
||
"background-color: #888888;" // 设置选择项的背景色
|
||
"color: #ffffff;" // 设置选择项的文字颜色
|
||
"}"
|
||
"QHeaderView::section {"
|
||
"background-color: #555555;" // 设置表头的背景色
|
||
"color: #ffffff;" // 设置表头的文字颜色
|
||
"padding: 4px;" // 设置表头内边距
|
||
"border: 1px solid #444444;" // 设置表头边框颜色和宽度
|
||
"}"
|
||
"QScrollBar:vertical {"
|
||
"width: 15px;" // 设置垂直滚动条宽度
|
||
"}");
|
||
|
||
// 填充模型
|
||
for(int row = 0; row < m_row; row++) {
|
||
for(int column = 0; column < m_column; column++) {
|
||
QModelIndex index = m_pModel->index(row, column);
|
||
m_pModel->itemFromIndex(index)->setTextAlignment(Qt::AlignCenter);//居中显示
|
||
m_pModel->setData(index, QVariant(m_knifeGapData.GapArray[row][column]));
|
||
}
|
||
}
|
||
|
||
ui->tableView->setModel(m_pModel);
|
||
|
||
}
|
||
|
||
void KnifeGapParaDialog::setTypeLogo(QString tStyle)
|
||
{
|
||
ui->buttonTypeLogo->setUnPreBtnLogo(tStyle);
|
||
}
|
||
|
||
void KnifeGapParaDialog::setMainTitle(QString str)
|
||
{
|
||
ui->labelMainTitle->setText(str);
|
||
}
|
||
|
||
void KnifeGapParaDialog::setSubTitle(QString str)
|
||
{
|
||
ui->labelSubTitle->setText(str);
|
||
}
|
||
|
||
void KnifeGapParaDialog::recvData(int type, int id)
|
||
{
|
||
//点了主板的按钮后,现在这个g_pMachine就是对应主板的
|
||
if (type != DCMD_SEND_MOTO_GAINPARA)
|
||
return;
|
||
if (id != 0)
|
||
return;
|
||
|
||
//得到当前主板的参数
|
||
KnifeGapPara para = g_pMachine->getGainPara();
|
||
memcpy(&m_knifeGapData, ¶, sizeof(KnifeGapPara));
|
||
m_row = m_knifeGapData.cellx;
|
||
m_column = m_knifeGapData.celly;
|
||
|
||
m_pModel->setRowCount(m_row);
|
||
m_pModel->setColumnCount(m_column);
|
||
|
||
for(int row = 0; row < m_row; row++)
|
||
{
|
||
for(int column = 0; column < m_column; column++)
|
||
{
|
||
QModelIndex index = m_pModel->index(row, column);
|
||
m_pModel->setData(index, QVariant(m_knifeGapData.GapArray[row][column]));
|
||
}
|
||
}
|
||
}
|
||
|
||
void KnifeGapParaDialog::on_buttonCancel_clicked()
|
||
{
|
||
done(0);
|
||
}
|