big-change:添加两种类型结构读写支持
This commit is contained in:
87
MainWidget.h
87
MainWidget.h
@@ -1,28 +1,36 @@
|
||||
#ifndef MAINWIDGET_H
|
||||
#define MAINWIDGET_H
|
||||
|
||||
#include <QWidget>
|
||||
#include <QTableWidget>
|
||||
#include <QMenu>
|
||||
#include <QAction>
|
||||
#include <QMessageBox>
|
||||
#include <unordered_map>
|
||||
#include "src/xml_opr.h"
|
||||
#include "src/config.h"
|
||||
#include "conf_setting.h"
|
||||
#include "src/attribute_edit.h"
|
||||
#include "src/config.h"
|
||||
#include "src/xml_opr.h"
|
||||
#include "src/history.h"
|
||||
#include "src/uhistory.h"
|
||||
#include <QAction>
|
||||
#include <QMenu>
|
||||
#include <QMessageBox>
|
||||
#include <QTableWidget>
|
||||
#include <QWidget>
|
||||
#include <unordered_map>
|
||||
|
||||
struct SElement_t {
|
||||
SElement_t(Element_t* e, std::string& s);
|
||||
Element_t* ele;
|
||||
Element_t* ele;
|
||||
std::string str;
|
||||
};
|
||||
|
||||
enum ReplaceArea { AREA_SELECT, AREA_ALL_PAGE, AREA_CUR_PAGE, AREA_ALL };
|
||||
enum ReplaceArea {
|
||||
AREA_SELECT,
|
||||
AREA_ALL_PAGE,
|
||||
AREA_CUR_PAGE,
|
||||
AREA_ALL
|
||||
};
|
||||
|
||||
struct OperElement {
|
||||
OperElement(Element_t* ele, int row);
|
||||
Element_t* element_{};
|
||||
int row_{0};
|
||||
int row_{0};
|
||||
};
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
@@ -46,7 +54,7 @@ public:
|
||||
void push_content(const std::vector<Element_t*>& eles, std::size_t page = 1);
|
||||
|
||||
private:
|
||||
void read(const QString& file_path);
|
||||
bool read(const QString& file_path);
|
||||
void search(const QString& key);
|
||||
void item_changed_handle(QTableWidgetItem* item);
|
||||
void save();
|
||||
@@ -64,6 +72,8 @@ private:
|
||||
void copy_multi_data();
|
||||
void replace_content(bool is_common = true);
|
||||
void backup_file();
|
||||
void base_init();
|
||||
void unit_change();
|
||||
|
||||
private:
|
||||
std::string extract_prefix(const std::string& name);
|
||||
@@ -79,36 +89,39 @@ private:
|
||||
void get_related_elements(std::vector<OperElement*>& out, ReplaceArea area);
|
||||
|
||||
private:
|
||||
Element_t* get_element_by_key(const QString& key);
|
||||
Element_t* get_element_by_row(int row);
|
||||
Element_t* get_current_select_key();
|
||||
Element_t* get_element_by_key(const QString& key);
|
||||
Element_t* get_element_by_row(int row);
|
||||
Element_t* get_current_select_key();
|
||||
QTableWidgetItem* get_current_select_item();
|
||||
|
||||
private:
|
||||
std::shared_ptr<QFontMetrics> metrics_;
|
||||
std::shared_ptr<QFontMetrics> metrics_;
|
||||
|
||||
private:
|
||||
QMenu* menu_simple_{};
|
||||
QMenu* menu_multi_{};
|
||||
QAction* ac_edit_property_{};
|
||||
QAction* ac_copy_curline_{};
|
||||
QAction* ac_del_curline_{};
|
||||
QAction* ac_copy_key_{};
|
||||
Ui::MainWidget* ui;
|
||||
ConfigIni ini_{};
|
||||
CXmlOpr xml_{};
|
||||
std::string exe_path_{};
|
||||
QTableWidget* tab_widget_{};
|
||||
std::vector<Element_t*> vec_{};
|
||||
std::vector<Element_t*> current_{};
|
||||
QMenu* menu_simple_{};
|
||||
QMenu* menu_multi_{};
|
||||
QAction* ac_edit_property_{};
|
||||
QAction* ac_copy_curline_{};
|
||||
QAction* ac_del_curline_{};
|
||||
QAction* ac_copy_key_{};
|
||||
Ui::MainWidget* ui;
|
||||
CXmlOpr xml_{};
|
||||
std::string exe_path_{};
|
||||
QTableWidget* tab_widget_{};
|
||||
std::vector<Element_t*> vec_{};
|
||||
std::vector<Element_t*> current_{};
|
||||
std::vector<std::string> keys_{};
|
||||
bool auto_add_{false};
|
||||
std::size_t cur_page_{1};
|
||||
std::size_t all_page_{1};
|
||||
CAttributeEdit* attri_edit_{};
|
||||
OprBase base_{};
|
||||
long allow_max_with_{500};
|
||||
long blank_with_{50};
|
||||
ump_t col_with_{};
|
||||
bool auto_add_{false};
|
||||
std::size_t cur_page_{1};
|
||||
std::size_t all_page_{1};
|
||||
CAttributeEdit* attri_edit_{};
|
||||
long allow_max_with_{500};
|
||||
long blank_with_{50};
|
||||
ump_t col_with_{};
|
||||
CGroupSetting* group_set_{};
|
||||
CGroupIni* ini_oper_{};
|
||||
CHistory* his_{};
|
||||
OneGroupIni cur_config_{};
|
||||
bool u_{false};
|
||||
};
|
||||
#endif // MAINWIDGET_H
|
||||
|
||||
Reference in New Issue
Block a user