74 lines
2.2 KiB
C++
74 lines
2.2 KiB
C++
#include "ExtractRuleView.h"
|
|
#include "TranslateBasic.h"
|
|
#include "extract_basic.h"
|
|
#include "WrapConfigs.h"
|
|
#include <QGridLayout>
|
|
#include <QLabel>
|
|
#include <QComboBox>
|
|
#include <QPushButton>
|
|
#include <QSplitter>
|
|
#include <QGroupBox>
|
|
#include <QTabWidget>
|
|
#include <QTextCodec>
|
|
#include <QHeaderView>
|
|
|
|
using namespace unit_configurations;
|
|
using namespace size_provider;
|
|
|
|
ExtractRuleView::ExtractRuleView(std::shared_ptr<TranslateBasic> base,
|
|
std::shared_ptr<extract::AsRuleSet> inst_r, QWidget* p /*= nullptr*/)
|
|
: QWidget(p), _rule_base(inst_r),
|
|
_member_units(new QTableView(this)),
|
|
_member_model(new QStandardItemModel(this)),
|
|
_configs_stack(new QStackedWidget(this))
|
|
{
|
|
this->_current_fields_cache = std::make_shared<FieldManagerLayer>("", nullptr);
|
|
|
|
auto layout = new QVBoxLayout(this);
|
|
auto split = new QSplitter(Qt::Horizontal, this);
|
|
layout->addWidget(split);
|
|
|
|
split->addWidget(_member_units);
|
|
split->addWidget(_configs_stack);
|
|
|
|
_configs_stack->addWidget(new configurations::EmptyConfiguration(this));
|
|
auto single_configs = new SingleBasedConfiguration(base, this);
|
|
auto list_configs = new ListBasedConfiguration(base, this);
|
|
auto union_configs = new UnionBasedConfiguration(base, this);
|
|
}
|
|
|
|
ListBasedConfiguration::ListBasedConfiguration(
|
|
std::shared_ptr<TranslateBasic> core, QWidget* p /*= nullptr*/)
|
|
:QWidget(p), _bind_core(core), _bind_u(nullptr),
|
|
|
|
_rule_select(new QComboBox(this)),
|
|
_size_layout_select(new QComboBox(this)),
|
|
|
|
_configs_stack(new QStackedWidget(this)),
|
|
_const_number_input(new QSpinBox(this)),
|
|
_prev_field_refer(new QComboBox(this))
|
|
{
|
|
auto layout = new QGridLayout(this);
|
|
layout->addWidget(new QLabel(tr("RuleAppoint:")), 0, 0);
|
|
layout->addWidget(_rule_select, 0, 1, 1, 2);
|
|
layout->addWidget(new QLabel(tr("SizeAppoint:")), 1, 0);
|
|
layout->addWidget(_size_layout_select, 1, 1, 1, 2);
|
|
|
|
layout->addWidget(_configs_stack, 2, 0, 2, 3);
|
|
_configs_stack->addWidget(_const_number_input);
|
|
_configs_stack->addWidget(_prev_field_refer);
|
|
|
|
layout->setRowStretch(4, 1);
|
|
layout->setColumnStretch(1, 1);
|
|
}
|
|
|
|
SingleBasedConfiguration::SingleBasedConfiguration(std::shared_ptr<TranslateBasic> core, QWidget* p /*= nullptr*/)
|
|
{
|
|
|
|
}
|
|
|
|
UnionBasedConfiguration::UnionBasedConfiguration(std::shared_ptr<TranslateBasic> core, QWidget* p /*= nullptr*/)
|
|
{
|
|
|
|
}
|