OneLevelXmlOpr/MainWidget.h

61 lines
1.5 KiB
C
Raw Normal View History

2024-05-15 08:34:54 +08:00
#ifndef MAINWIDGET_H
#define MAINWIDGET_H
#include <QWidget>
#include <QTableWidget>
2024-05-15 13:17:24 +08:00
#include <QMessageBox>
#include "src/xml_opr.h"
#include "src/config.h"
#include "src/attribute_edit.h"
2024-05-15 08:34:54 +08:00
QT_BEGIN_NAMESPACE
namespace Ui {
class MainWidget;
}
QT_END_NAMESPACE
class MainWidget : public QWidget
{
Q_OBJECT
public:
MainWidget(QWidget* parent = nullptr);
2024-05-15 08:34:54 +08:00
~MainWidget();
public:
void set_work_exe(char* path);
void generate_table_widget();
void push_content(const std::vector<Element_t*>& eles, std::size_t page = 1);
private:
void read();
void search();
void item_changed_handle(QTableWidgetItem* item);
void save();
void copy_select_line();
void del_select_line();
Element_t* get_current_select_key();
void reset();
void judge_btn_page();
void copy_key();
private:
Element_t* get_element_bykey(const QString& key);
2024-05-15 08:34:54 +08:00
private:
Ui::MainWidget* ui;
ConfigIni ini_{};
CXmlOpr xml_{};
std::string exe_path_{};
QTableWidget* tab_widget_{};
std::vector<Element_t*> vec_{};
std::vector<Element_t*> current_{};
std::vector<std::string> keys_{};
std::vector<int> width_{};
bool auto_add_{false};
std::size_t cur_page_{1};
std::size_t all_page_{1};
CAttributeEdit* attri_edit_{};
2024-05-15 08:34:54 +08:00
};
#endif // MAINWIDGET_H