#pragma once #include #include #include #include #include #include #include #include #include "SequenceView.h" /// /// ¿Õ°×ÅäÖÃÃæ°å /// class EmptyConfiguration : public QWidget { public: EmptyConfiguration(QWidget* p = nullptr); }; class CountWithinConfiguration : public QWidget { Q_OBJECT private: std::shared_ptr _bind_u; QModelIndex _bind_index; QSpinBox *const _count_input; public: CountWithinConfiguration(QWidget* p = nullptr); void currentRuleAccept(std::shared_ptr u, const QModelIndex& i); signals: void currentRuleChanged(const QModelIndex& idx); }; class EncodingConfiguration : public QWidget { Q_OBJECT private: std::shared_ptr _bind_u; QModelIndex _bind_index; QSpinBox* const _count_input; QComboBox* const _encoding_set; public: EncodingConfiguration(QWidget* p = nullptr); void currentRuleAccept(std::shared_ptr u, const QModelIndex& i); signals: void currentRuleChanged(const QModelIndex& idx); }; #include "extract_basic.h" class BitCombineConfiguration : public QWidget { Q_OBJECT private: std::shared_ptr _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 u, const QModelIndex& i); void reloadContent(std::shared_ptr 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); };