2025-07-19 02:58:46 +00:00
|
|
|
|
#include "StructuralRuleView.h"
|
|
|
|
|
#include <QGridLayout>
|
|
|
|
|
#include <QLabel>
|
|
|
|
|
#include <QComboBox>
|
|
|
|
|
#include <QPushButton>
|
|
|
|
|
#include <QSplitter>
|
|
|
|
|
#include <QGroupBox>
|
|
|
|
|
#include <QTabWidget>
|
|
|
|
|
#include "TranslateBasic.h"
|
|
|
|
|
|
|
|
|
|
StructuralRuleView::StructuralRuleView(QWidget* p /*= nullptr*/)
|
|
|
|
|
:QWidget(p),
|
|
|
|
|
_sequence_view(new SequenceRulesView(this)),
|
|
|
|
|
_configs_stack(new QStackedWidget(this))
|
|
|
|
|
{
|
|
|
|
|
auto layout = new QVBoxLayout(this);
|
|
|
|
|
auto split = new QSplitter(Qt::Horizontal, this);
|
|
|
|
|
layout->addWidget(split);
|
|
|
|
|
|
|
|
|
|
split->addWidget(_sequence_view);
|
|
|
|
|
split->addWidget(_configs_stack);
|
|
|
|
|
|
|
|
|
|
_configs_stack->addWidget(new EmptyConfiguration(this));
|
|
|
|
|
|
|
|
|
|
|
2025-07-30 16:39:26 +00:00
|
|
|
|
//connect(int_config, &IntegerConfiguration::ruleHasBeenChanged,
|
|
|
|
|
// _sequence_view, &SequenceRulesView::currentRuleRefresh);
|
2025-07-19 02:58:46 +00:00
|
|
|
|
|
|
|
|
|
connect(_sequence_view, &SequenceRulesView::currentRuleChanged,
|
|
|
|
|
[=](std::shared_ptr<ExtractUnit> u, const QModelIndex& i) {
|
2025-07-30 16:39:26 +00:00
|
|
|
|
/*if (u->name() == extract::BytesAsInteger().name()) {
|
2025-07-19 02:58:46 +00:00
|
|
|
|
_configs_stack->setCurrentIndex(1);
|
|
|
|
|
int_config->setCurrent(i, u);
|
|
|
|
|
}
|
2025-07-30 16:39:26 +00:00
|
|
|
|
else */{
|
2025-07-19 02:58:46 +00:00
|
|
|
|
_configs_stack->setCurrentIndex(0);
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
EmptyConfiguration::EmptyConfiguration(QWidget* p/*=nullptr*/)
|
|
|
|
|
{
|
|
|
|
|
auto layout = new QVBoxLayout(this);
|
|
|
|
|
auto label = new QLabel(u8"<EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", this);
|
|
|
|
|
label->setAlignment(Qt::AlignCenter);
|
|
|
|
|
layout->addWidget(label);
|
2025-07-30 16:39:26 +00:00
|
|
|
|
}
|