QBinaryTranslate/TranslateUI/StructuralRuleView.h

49 lines
998 B
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);
};
namespace extract { class BytesAsInteger; }
class IntegerConfiguration : public QWidget {
Q_OBJECT
private:
std::shared_ptr<extract::BytesAsInteger> _current_extractor = nullptr;
QModelIndex _target_modelindex;
QCheckBox* const _unsigned_mark;
signals:
void ruleHasBeenChanged(const QModelIndex& idx);
public:
IntegerConfiguration(QWidget* p = nullptr);
void setCurrent(const QModelIndex& idx, std::shared_ptr<ExtractUnit> u);
};
class StructuralRuleView : public QWidget
{
private:
SequenceRulesView* const _sequence_view;
QStackedWidget* const _configs_stack;
public:
StructuralRuleView(QWidget* p = nullptr);
};