#pragma once #include #include #include #include #include #include #include #include #include "extract_basic.h" #include "TranslateBasic.h" namespace unit_configurations { class SingleBasedConfiguration : public QWidget { public: SingleBasedConfiguration(std::shared_ptr core, QWidget* p = nullptr); }; /// /// Áбí×Ö¶ÎÅäÖÃÃæ°å /// class ListBasedConfiguration : public QWidget { Q_OBJECT private: std::shared_ptr _bind_core; std::shared_ptr _bind_u; QModelIndex _bind_index; QComboBox* const _rule_select; QComboBox* const _size_layout_select; QStackedWidget* const _configs_stack; QSpinBox* const _const_number_input; QComboBox* const _prev_field_refer; public: ListBasedConfiguration(std::shared_ptr core, QWidget* p = nullptr); }; class UnionBasedConfiguration : public QWidget { public: UnionBasedConfiguration(std::shared_ptr core, QWidget* p = nullptr); }; } class ExtractRuleView : public QWidget { private: QTableView *const _member_units; QStandardItemModel *const _member_model; QStackedWidget* const _configs_stack; std::shared_ptr _rule_base; std::shared_ptr _current_fields_cache = nullptr; public: ExtractRuleView(std::shared_ptr base, std::shared_ptr inst_r, QWidget* p = nullptr); };