18 [[nodiscard]]
bool IsNode()
const;
19 [[nodiscard]]
bool IsLeaf()
const;
21 [[nodiscard]] TYPE GetType()
const;
22 void SetType(TYPE type);
23 [[nodiscard]]
int GetId()
const;
24 void SetId(
int newId);
25 [[nodiscard]] QString GetName()
const;
26 void SetName(
const QString &newName);
27 [[nodiscard]] QDateTime GetCreateTime()
const;
28 void SetCreateTime(
const QDateTime &newCreateTime);
29 [[nodiscard]] QDateTime GetModifyTime()
const;
30 void SetModifyTime(
const QDateTime &newModifyTime);
31 [[nodiscard]] QDateTime GetLastVisitTime()
const;
32 void SetLastVisitTime(
const QDateTime &newLastVisitTime);
33 [[nodiscard]]
int GetParentId()
const;
34 void SetParentId(
int newParentId);
35 [[nodiscard]]
int GetSortOrder()
const;
36 void SetSortOrder(
int newSortOrder);
38 [[nodiscard]]
int GetKey()
const;
39 void SetKey(
int newNKey);
47 QDateTime m_CreateTime;
48 QDateTime m_ModifyTime;
49 QDateTime m_LastVisitTime;
66 QObject *parent =
nullptr);
69 int AddNode(
const QString &name,
int parentId = 0);
70 bool RenameNode(
int id,
const QString &newName);
73 std::function<
bool(
int parentId)> cbDeleteLeaf =
nullptr,
74 bool checkReturn =
true);
75 bool MoveNode(
int id,
int newParentId);
77 [[nodiscard]]
TreeItem GetNode(
int id);
78 [[nodiscard]] QList<TreeItem> GetAllNodes();
79 [[nodiscard]] QList<TreeItem> GetSubNodes(
int parentId);
80 [[nodiscard]]
bool InSubNode(
int parentId,
int id);
88 [[nodiscard]]
int GetCount(
int parentId = 0);
90 [[nodiscard]]
virtual bool ExportToJson(QJsonObject& obj)
override;
91 [[nodiscard]]
virtual bool ImportFromJson(
const QJsonObject& obj)
override;
94 void sigAddNode(
int id,
int parentId);
97 [[nodiscard]]
virtual bool OnDeleteLeafs(
int id);
98 [[nodiscard]]
virtual bool OnInitializeSqliteDatabase()
override;
99 [[nodiscard]]
virtual bool OnInitializeMySqlDatabase()
override;
102 QString m_szTableName;
115 QObject* parent =
nullptr);
124 virtual int Add(
const TreeItem& item);
125 virtual bool Update(
const TreeItem& item);
126 virtual bool Delete(
int id,
bool delKey =
false);
127 virtual bool Delete(QList<int> items,
bool delKey =
false);
128 virtual bool DeleteChild(
int parentId,
bool delKey =
false);
129 virtual bool Move(
int id,
int newParent);
131 [[nodiscard]]
TreeItem GetLeaf(
int id);
138 [[nodiscard]] QList<TreeItem> GetLeaves(
int nodeId);
143 [[nodiscard]] QList<TreeItem> GetLeavesByKey(
int key);
144 [[nodiscard]] QList<TreeItem> GetLeavesByKey(QList<int> key);
145 [[nodiscard]]
int GetLeafCount(
int parentId = 0);
148 virtual int AddNode(
const QString &name,
int parentId = 0);
149 virtual bool RenameNode(
int id,
const QString &newName);
150 virtual bool DeleteNode(
int id,
bool delKey =
false);
151 virtual bool MoveNode(
int id,
int newParentId);
152 [[nodiscard]]
TreeItem GetNode(
int id);
153 [[nodiscard]] QList<TreeItem> GetAllNodes();
154 [[nodiscard]] QList<TreeItem> GetSubNodes(
int parentId);
155 [[nodiscard]]
int GetNodeCount(
int nParentId = 0);
166 [[nodiscard]]
int GetCount(
int parentId = 0);
168 [[nodiscard]]
virtual bool ExportToJson(QJsonObject& obj)
override;
169 [[nodiscard]]
virtual bool ImportFromJson(
const QJsonObject& obj)
override;
172 void sigAddNode(
int id,
int parentId);
173 void sigAdd(
int id,
int parentId);
183 [[nodiscard]]
virtual bool OnDeleteKey(
int key);
184 [[nodiscard]]
virtual bool OnInitializeDatabase()
override;
185 [[nodiscard]]
virtual bool OnInitializeSqliteDatabase()
override;
186 [[nodiscard]]
virtual bool OnInitializeMySqlDatabase()
override;
189 QString m_szTableName;