instAdmin/Cpp/GisDes/SaRibbon/SARibbonBar/SARibbonCustomizeDialog.cpp

185 lines
4.8 KiB
C++
Raw Normal View History

2024-10-29 22:24:50 +08:00
#include "SARibbonCustomizeDialog.h"
#include <QApplication>
#include <QPushButton>
#include <QVBoxLayout>
#include <QSpacerItem>
/**
* @brief The SARibbonCustomizeDialogUi class
*/
class SARibbonCustomizeDialogUi {
public:
SARibbonCustomizeWidget *customWidget;
QVBoxLayout *verticalLayoutMain;
QHBoxLayout *horizontalLayoutButtonGroup;
QPushButton *pushButtonCancel;
QPushButton *pushButtonOk;
QSpacerItem *spacerItemleft;
void setupUi(SARibbonMainWindow *ribbonWindow, QWidget *customizeDialog)
{
if (customizeDialog->objectName().isEmpty()) {
customizeDialog->setObjectName(QStringLiteral("SARibbonCustomizeDialog"));
}
customizeDialog->resize(800, 600);
verticalLayoutMain = new QVBoxLayout(customizeDialog);
verticalLayoutMain->setObjectName(QStringLiteral("verticalLayoutMain"));
customWidget = new SARibbonCustomizeWidget(ribbonWindow, customizeDialog);
customWidget->setObjectName(QStringLiteral("customWidget"));
verticalLayoutMain->addWidget(customWidget);
horizontalLayoutButtonGroup = new QHBoxLayout();
horizontalLayoutButtonGroup->setObjectName(QStringLiteral("horizontalLayoutButtonGroup"));
spacerItemleft = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
horizontalLayoutButtonGroup->addItem(spacerItemleft);
pushButtonCancel = new QPushButton(customizeDialog);
pushButtonCancel->setObjectName(QStringLiteral("pushButtonCancel"));
horizontalLayoutButtonGroup->addWidget(pushButtonCancel);
pushButtonOk = new QPushButton(customizeDialog);
pushButtonOk->setObjectName(QStringLiteral("pushButtonCancel"));
horizontalLayoutButtonGroup->addWidget(pushButtonOk);
verticalLayoutMain->addItem(horizontalLayoutButtonGroup);
retranslateUi(customizeDialog);
}
void retranslateUi(QWidget *customizeDialog)
{
customizeDialog->setWindowTitle(QApplication::translate("SARibbonCustomizeDialog", "Customize Dialog", Q_NULLPTR));
pushButtonCancel->setText(QApplication::translate("SARibbonCustomizeDialog", "Cancel", Q_NULLPTR));
pushButtonOk->setText(QApplication::translate("SARibbonCustomizeDialog", "OK", Q_NULLPTR));
}
};
////////////////////////////////////////////////////////////////////
SARibbonCustomizeDialog::SARibbonCustomizeDialog(SARibbonMainWindow *ribbonWindow, QWidget *p, Qt::WindowFlags f)
: QDialog(p, f)
, ui(new SARibbonCustomizeDialogUi)
{
ui->setupUi(ribbonWindow, this);
initConnection();
}
/**
* @brief action管理器
*
* @ref SARibbonCustomizeWidget::setupActionsManager
* @param mgr
*/
void SARibbonCustomizeDialog::setupActionsManager(SARibbonActionsManager *mgr)
{
ui->customWidget->setupActionsManager(mgr);
}
/**
* @brief //判断用户是否有要存储的内容对应save动作
* @return
*/
bool SARibbonCustomizeDialog::isApplied() const
{
return ui->customWidget->isApplied();
}
/**
* @brief apply动作
* @return
*/
bool SARibbonCustomizeDialog::isCached() const
{
return ui->customWidget->isCached();
}
void SARibbonCustomizeDialog::initConnection()
{
connect(ui->pushButtonOk, &QPushButton::clicked, this, &QDialog::accept);
connect(ui->pushButtonCancel, &QPushButton::clicked, this, &QDialog::reject);
}
/**
* @brief SARibbonCustomizeWidget::applys
*
* @ref SARibbonCustomizeWidget::applys
* @return
*/
bool SARibbonCustomizeDialog::applys()
{
return ui->customWidget->applys();
}
/**
* @brief
*
* @ref SARibbonCustomizeWidget::clear
*/
void SARibbonCustomizeDialog::clear()
{
ui->customWidget->clear();
}
/**
* @brief xml
*
* @ref SARibbonCustomizeWidget::toXml
* @param xml
* @return
*/
bool SARibbonCustomizeDialog::toXml(QXmlStreamWriter *xml) const
{
return (ui->customWidget->toXml(xml));
}
/**
* @brief SARibbonCustomizeWidget::toXml
* @ref SARibbonCustomizeWidget::toXml
* @param xmlpath
* @return
*/
bool SARibbonCustomizeDialog::toXml(const QString& xmlpath) const
{
return (ui->customWidget->toXml(xmlpath));
}
/**
* @brief SARibbonCustomizeWidget::fromXml
* @param xml
*/
void SARibbonCustomizeDialog::fromXml(QXmlStreamReader *xml)
{
ui->customWidget->fromXml(xml);
}
/**
* @brief SARibbonCustomizeWidget::fromXml
* @param xmlpath
*/
void SARibbonCustomizeDialog::fromXml(const QString& xmlpath)
{
ui->customWidget->fromXml(xmlpath);
}
/**
* @brief SARibbonCustomizeWidget窗口指针
*
* SARibbonCustomizeWidget窗口可以操作更多的内容
*
* @return SARibbonCustomizeWidget指针@ref SARibbonCustomizeWidget
*/
SARibbonCustomizeWidget *SARibbonCustomizeDialog::customizeWidget() const
{
return (ui->customWidget);
}