sysenumlistmgt.h 1.41 KB
Newer Older
‘oliver.hui’'s avatar
‘oliver.hui’ committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
#ifndef SYSENUMLISTMGT_H
#define SYSENUMLISTMGT_H

#include <tdatabaseutil/tsqlselectorv2.h>

#include <topcore/topclassabs.h>

class TTableView;
class TSearchEntry;
class TPageTool;
class TSplitter;
class SysEnumList;

class SysEnumListMgt : public TopClassAbs
{
    Q_OBJECT
public:
    explicit SysEnumListMgt(const QString &iModuleNameStr = QString(""),
                            const QVariantMap &iUrlPars = QVariantMap(),
                            QWidget *iParent = nullptr);
    ~SysEnumListMgt();

public slots:
     void refresh();
     void deleteItem(const QVariantList &iIdLst);
     QVariantList selectItems();
     TopClassAbs *openItem(const QString &iEnumStr);
     void newItem();
     bool canModify();
     bool canCreate();
     void refreshDetail();

private slots:
   void onSelectionChanged();
   void onDetailSaved(const QVariant &iUidStr);
   void searchEnumList(const QString &iSearchStr = "",const QVariant &iOptions = QVariant());
   void onDetailChanged();

private:
    void initTableView();
    TSqlSelectorV2 getSqlSelector();
    void fillTableData(const QVariantList &iDataLst);

private:
    TSplitter *mBodySplitter = nullptr;
    QWidget *mBodyWidget = nullptr;
    TSearchEntry *mSearchEntry = nullptr;
    TTableView *mTableView = nullptr;
    SysEnumList *mDetailView = nullptr;
    QVariantList mSelectedKeyLst;
    QString mModeStr;
    QStringList mUserClassLst;
};

#endif // SYSENUMLISTMGT_H