代码拉取完成,页面将自动刷新
同步操作将从 Acreate/gamePlanTool 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
#include "AlgorithmTopItemWidget.h"
#include <QVBoxLayout>
#include <qapplication.h>
#include <qstyle.h>
#include <QIcon>
#include "AlgorithmTopItemWidgetItem.h"
#include "XmlDataUnit.h"
widgetUI::AlgorithmTopItemWidget::AlgorithmTopItemWidget(QWidget* parent
, const Qt::WindowFlags& f) : AAlgorithmItem{ parent,f } {
itemLayout = new QVBoxLayout(this);
itemLayout->addSpacerItem(new QSpacerItem(20, 40, QSizePolicy::Expanding, QSizePolicy::Expanding));
}
widgetUI::AlgorithmTopItemWidget::~AlgorithmTopItemWidget( ) {}
const QString widgetUI::AlgorithmTopItemWidget::getItemName( ) {
static QString name = "全局公式";
return name;
}
const dXml::XmlDataDoc widgetUI::AlgorithmTopItemWidget::getXmlData( ) const {
dXml::XmlDataDoc doc;
auto&& iterator = itemMap.begin( );
auto&& end = itemMap.end( );
for(;iterator!=end;++iterator) {
// 遍历对象存储
AlgorithmTopItemWidgetItem* const item = iterator.value( );
QString nodeName = item->checkBox->text( );
QString text = item->expressLabel->text( );
dXml::XmlDataUnit* unit = new dXml::XmlDataUnit;
unit->setName(nodeName);
unit->setText(text);
doc.appendChildren(unit);
}
return doc;
}
QVBoxLayout* widgetUI::AlgorithmTopItemWidget::mainLayout( ) {
return itemLayout;
}
QWidget* widgetUI::AlgorithmTopItemWidget::mainWidget( ) {
return this;
}
const QIcon widgetUI::AlgorithmTopItemWidget::getIcon( ) {
static QIcon icon = QApplication::style( )->standardIcon(( QStyle::StandardPixmap )30);
return icon;
}
void widgetUI::AlgorithmTopItemWidget::addItem(const QString& name
, const QString& express) {
// 校验是否存在同样的公式
if( name.isEmpty( ) || express.isEmpty( ) || itemMap.contains(name) )
return;
AlgorithmTopItemWidgetItem* item = new AlgorithmTopItemWidgetItem(name, express, this);
connect(item, &AlgorithmTopItemWidgetItem::sigCheckChicked, this, &AlgorithmTopItemWidget::stateChanged);
connect(item, &AlgorithmTopItemWidgetItem::sigPushChicked, this, &AlgorithmTopItemWidget::stateBtnChanged);
dXml::XmlDataUnit* children = new dXml::XmlDataUnit;
children->setName(name);
children->setText(express);
itemLayout->insertWidget(0, item);
itemMap.insert(name, item);
}
void widgetUI::AlgorithmTopItemWidget::stateChanged(AlgorithmTopItemWidgetItem* item
, int state) {
emit pageStateChanged(item, state);
}
void widgetUI::AlgorithmTopItemWidget::stateBtnChanged(AlgorithmTopItemWidgetItem* item
, bool state) {
itemLayout->removeWidget(item);
itemMap.remove(item->checkBox->text( ));
delete item;
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。