change_code/src/pages/metadatupdate/metadatupdatepage.cpp

189 lines
6.5 KiB
C++
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#include "metadatupdatepage.h"
#include <QVBoxLayout>
#include <QHBoxLayout>
#include <QGridLayout>
#include <QLabel>
#include <QMessageBox>
MetadataUpdatePage::MetadataUpdatePage(QWidget *parent)
: QWidget(parent)
{
initUI();
}
MetadataUpdatePage::~MetadataUpdatePage()
{
}
void MetadataUpdatePage::initUI()
{
QHBoxLayout *mainLayout = new QHBoxLayout(this);
mainLayout->setContentsMargins(50, 50, 50, 50);
mainLayout->setSpacing(60);
// ==========================================
// UFT3更新范围
// ==========================================
QVBoxLayout *uft3SectionLayout = new QVBoxLayout;
uft3SectionLayout->setSpacing(15);
QGroupBox *uft3Group = new QGroupBox("UFT3更新范围");
QGridLayout *uft3Grid = new QGridLayout(uft3Group);
uft3Grid->setSpacing(15);
uft3Grid->setContentsMargins(15, 15, 15, 15);
m_uft3StdField = new ElaCheckBox("标准字段");
m_uft3StdField->setChecked(true);
uft3Grid->addWidget(m_uft3StdField, 0, 0);
m_uft3DataType = new ElaCheckBox("数据类型");
m_uft3DataType->setChecked(true);
uft3Grid->addWidget(m_uft3DataType, 0, 1);
m_uft3ErrorNo = new ElaCheckBox("标准错误号");
m_uft3ErrorNo->setChecked(true);
uft3Grid->addWidget(m_uft3ErrorNo, 1, 0);
m_uft3Interface = new ElaCheckBox("接口数据");
m_uft3Interface->setChecked(true);
uft3Grid->addWidget(m_uft3Interface, 1, 1);
uft3SectionLayout->addWidget(uft3Group);
QHBoxLayout *uft3BtnLayout = new QHBoxLayout;
uft3BtnLayout->setSpacing(15);
ElaPushButton *uft3SelectAllBtn = new ElaPushButton("全选");
connect(uft3SelectAllBtn, &QPushButton::clicked, this, &MetadataUpdatePage::onUFT3SelectAll);
ElaPushButton *uft3SelectNoneBtn = new ElaPushButton("全不选");
connect(uft3SelectNoneBtn, &QPushButton::clicked, this, &MetadataUpdatePage::onUFT3SelectNone);
ElaPushButton *uft3UpdateBtn = new ElaPushButton("更新UFT3");
connect(uft3UpdateBtn, &QPushButton::clicked, this, &MetadataUpdatePage::onUpdateUFT3);
uft3BtnLayout->addStretch();
uft3BtnLayout->addWidget(uft3SelectAllBtn);
uft3BtnLayout->addWidget(uft3SelectNoneBtn);
uft3BtnLayout->addWidget(uft3UpdateBtn);
uft3BtnLayout->addStretch();
uft3SectionLayout->addLayout(uft3BtnLayout);
mainLayout->addLayout(uft3SectionLayout);
// ==========================================
// UF20更新范围
// ==========================================
QVBoxLayout *uf20SectionLayout = new QVBoxLayout;
uf20SectionLayout->setSpacing(15);
QGroupBox *uf20Group = new QGroupBox("UF20更新范围");
QGridLayout *uf20Grid = new QGridLayout(uf20Group);
uf20Grid->setSpacing(15);
uf20Grid->setContentsMargins(15, 15, 15, 15);
m_uf20StdField = new ElaCheckBox("标准字段");
m_uf20StdField->setChecked(true);
uf20Grid->addWidget(m_uf20StdField, 0, 0);
m_uf20DataType = new ElaCheckBox("数据类型");
m_uf20DataType->setChecked(true);
uf20Grid->addWidget(m_uf20DataType, 0, 1);
m_uf20ErrorNo = new ElaCheckBox("标准错误号");
m_uf20ErrorNo->setChecked(true);
uf20Grid->addWidget(m_uf20ErrorNo, 1, 0);
m_uf20Table = new ElaCheckBox("表结构");
m_uf20Table->setChecked(true);
uf20Grid->addWidget(m_uf20Table, 1, 1);
m_uf20Interface = new ElaCheckBox("接口数据");
m_uf20Interface->setChecked(true);
uf20Grid->addWidget(m_uf20Interface, 2, 0);
uf20SectionLayout->addWidget(uf20Group);
QHBoxLayout *uf20BtnLayout = new QHBoxLayout;
uf20BtnLayout->setSpacing(15);
ElaPushButton *uf20SelectAllBtn = new ElaPushButton("全选");
connect(uf20SelectAllBtn, &QPushButton::clicked, this, &MetadataUpdatePage::onUF20SelectAll);
ElaPushButton *uf20SelectNoneBtn = new ElaPushButton("全不选");
connect(uf20SelectNoneBtn, &QPushButton::clicked, this, &MetadataUpdatePage::onUF20SelectNone);
ElaPushButton *uf20UpdateBtn = new ElaPushButton("更新UF20");
connect(uf20UpdateBtn, &QPushButton::clicked, this, &MetadataUpdatePage::onUpdateUF20);
uf20BtnLayout->addStretch();
uf20BtnLayout->addWidget(uf20SelectAllBtn);
uf20BtnLayout->addWidget(uf20SelectNoneBtn);
uf20BtnLayout->addWidget(uf20UpdateBtn);
uf20BtnLayout->addStretch();
uf20SectionLayout->addLayout(uf20BtnLayout);
mainLayout->addLayout(uf20SectionLayout);
}
void MetadataUpdatePage::onUF20SelectAll()
{
m_uf20StdField->setChecked(true);
m_uf20DataType->setChecked(true);
m_uf20ErrorNo->setChecked(true);
m_uf20Table->setChecked(true);
m_uf20Interface->setChecked(true);
}
void MetadataUpdatePage::onUF20SelectNone()
{
m_uf20StdField->setChecked(false);
m_uf20DataType->setChecked(false);
m_uf20ErrorNo->setChecked(false);
m_uf20Table->setChecked(false);
m_uf20Interface->setChecked(false);
}
void MetadataUpdatePage::onUpdateUF20()
{
QStringList selectedItems;
if (m_uf20StdField->isChecked()) selectedItems << "标准字段";
if (m_uf20DataType->isChecked()) selectedItems << "数据类型";
if (m_uf20ErrorNo->isChecked()) selectedItems << "标准错误号";
if (m_uf20Table->isChecked()) selectedItems << "表结构";
if (m_uf20Interface->isChecked()) selectedItems << "接口数据";
if (selectedItems.isEmpty()) {
QMessageBox::warning(this, "提示", "请选择至少一项更新内容");
return;
}
QMessageBox::information(this, "提示", QString("UF20更新功能开发中已选择: %1").arg(selectedItems.join(", ")));
}
void MetadataUpdatePage::onUFT3SelectAll()
{
m_uft3StdField->setChecked(true);
m_uft3DataType->setChecked(true);
m_uft3ErrorNo->setChecked(true);
m_uft3Interface->setChecked(true);
}
void MetadataUpdatePage::onUFT3SelectNone()
{
m_uft3StdField->setChecked(false);
m_uft3DataType->setChecked(false);
m_uft3ErrorNo->setChecked(false);
m_uft3Interface->setChecked(false);
}
void MetadataUpdatePage::onUpdateUFT3()
{
QStringList selectedItems;
if (m_uft3StdField->isChecked()) selectedItems << "标准字段";
if (m_uft3DataType->isChecked()) selectedItems << "数据类型";
if (m_uft3ErrorNo->isChecked()) selectedItems << "标准错误号";
if (m_uft3Interface->isChecked()) selectedItems << "接口数据";
if (selectedItems.isEmpty()) {
QMessageBox::warning(this, "提示", "请选择至少一项更新内容");
return;
}
QMessageBox::information(this, "提示", QString("UFT3更新功能开发中已选择: %1").arg(selectedItems.join(", ")));
}