87 lines
1.9 KiB
C++
87 lines
1.9 KiB
C++
#pragma once
|
|
#include <QWidget>
|
|
#include <QTableView>
|
|
#include <QStandardItemModel>
|
|
#include <QTreeView>
|
|
#include <QLineEdit>
|
|
#include <QStackedWidget>
|
|
#include <QSpinBox>
|
|
#include <QCheckBox>
|
|
#include "SequenceView.h"
|
|
|
|
/// <summary>
|
|
/// ¿Õ°×ÅäÖÃÃæ°å
|
|
/// </summary>
|
|
class EmptyConfiguration : public QWidget {
|
|
public:
|
|
EmptyConfiguration(QWidget* p = nullptr);
|
|
};
|
|
|
|
class CountWithinConfiguration : public QWidget {
|
|
Q_OBJECT
|
|
private:
|
|
std::shared_ptr<ExtractUnit> _bind_u;
|
|
QModelIndex _bind_index;
|
|
QSpinBox *const _count_input;
|
|
|
|
public:
|
|
CountWithinConfiguration(QWidget* p = nullptr);
|
|
|
|
void currentRuleAccept(std::shared_ptr<ExtractUnit> u, const QModelIndex& i);
|
|
|
|
signals:
|
|
void currentRuleChanged(const QModelIndex& idx);
|
|
};
|
|
|
|
class EncodingConfiguration : public QWidget {
|
|
Q_OBJECT
|
|
private:
|
|
std::shared_ptr<ExtractUnit> _bind_u;
|
|
QModelIndex _bind_index;
|
|
QSpinBox* const _count_input;
|
|
QComboBox* const _encoding_set;
|
|
|
|
public:
|
|
EncodingConfiguration(QWidget* p = nullptr);
|
|
|
|
void currentRuleAccept(std::shared_ptr<ExtractUnit> u, const QModelIndex& i);
|
|
|
|
signals:
|
|
void currentRuleChanged(const QModelIndex& idx);
|
|
};
|
|
|
|
#include "extract_basic.h"
|
|
class BitCombineConfiguration : public QWidget {
|
|
Q_OBJECT
|
|
private:
|
|
std::shared_ptr<extract::BytesAsBitCombine> _bind_u;
|
|
QModelIndex _bind_index;
|
|
|
|
QSpinBox* const _count_input;
|
|
QTableView *const _bit_items;
|
|
QStandardItemModel *const _bit_model;
|
|
QSpinBox *const _index_appoint;
|
|
QLineEdit *const _bit_means;
|
|
|
|
public:
|
|
BitCombineConfiguration(QWidget* p = nullptr);
|
|
|
|
void currentRuleAccept(std::shared_ptr<ExtractUnit> u, const QModelIndex& i);
|
|
void reloadContent(std::shared_ptr<extract::BytesAsBitCombine> u);
|
|
|
|
signals:
|
|
void currentRuleChanged(const QModelIndex& idx);
|
|
};
|
|
|
|
class StructuralRuleView : public QWidget
|
|
{
|
|
private:
|
|
SequenceRulesView* const _sequence_view;
|
|
QStackedWidget* const _configs_stack;
|
|
|
|
public:
|
|
StructuralRuleView(QWidget* p = nullptr);
|
|
|
|
};
|
|
|