#ifndef SYSROLE_H #define SYSROLE_H #include class QHBoxLayout; class TTableView; class TTreeModel; class TTreeView; class TSearchEntry; class TUiLoader; class SysRole : public TopClassAbs { Q_OBJECT public: explicit SysRole(const QString &iModuleNameStr = QString(""), const QVariantMap iUrlPars = QVariantMap(), QWidget *iParent = nullptr); ~SysRole(); public slots: void reload(); void copy(); void createRole(); void clearData(); void setRoleData(const QVariantMap &iDataMap); void setPermissionData(QVariantMap &iDataMap, const QVariantList &iRgtIdLst); QVariantMap getRoleData() const; void saveData(); void loadRgtNames(); void showAddUser(); void collapsePermissionTree(); void expandPermissionTree(); private slots: void searchRightList(const QString &iSearchText, const QVariant &iOptions); void onNotification(QString iNotifyKeyStr, QVariant iDataVar, QString iUuidStr); protected: void uidChangeEvent(const QString &iUidStr) override; void resizeEvent(QResizeEvent *iEvent) override; private: void initRgtTreeView(); QVariantList getTransferedData(QVariantList iDataLst); QVariantMap getItemDataMap(QVariant iValue, int iIdx = 1); void getExpandedState(QVariantMap &oStateMap, const QVariantList iDataList); private: QStringList mTreeDataLst; QVariantMap mParentNameIndexMap; QVariantMap mRefMap; QHBoxLayout *mBodyLayout = nullptr; TUiLoader *mUiLoader = nullptr; TTreeView *mRgtTreeView = nullptr; TTreeModel *mRgtTreeModel = nullptr; TTableView *mUserTableView = nullptr; TSearchEntry *mRgtSearchEntry = nullptr; QStringList mRgtFiltLst; QStringList mProductCategoryLst; bool mRgtLoaded = false; bool mFirstLoaded = true; }; #endif // SYSROLE_H