#ifndef SYSCHARTDEVELOPER_H #define SYSCHARTDEVELOPER_H #include <topcore/topclassabs.h> #include <topcore/topclasshelper.h> class TTabWidget; class TSqlSelectorV2; class TSplitter; class QVBoxLayout; class TCodeEdit; class TTableView; class TUiLoader; class TSearchEntry; class SysChartDeveloper: public TopClassAbs { Q_OBJECT public: explicit SysChartDeveloper(const QString &iModuleName = QString(""), const QVariantMap &iUrlPars = QVariantMap(), QWidget *iParent = nullptr); ~SysChartDeveloper(); public slots: void refresh(); void refreshDatasource(); void refreshGraph(); void refreshDatasourceInfo(); void refreshGraphInfo(); void saveData(); void clearData(); void saveDatasource(); void saveGraph(); void setSpecifiedClass(const QString &iClassName); QString specifiedClass(); QVariantList selectedDatasrcDataMaps() const; QVariantList selectedGraphDataMaps() const; QVariantList selectedDatasrcItems() const; QVariantList selectedGraphItems() const; QVariantMap detailDataMap() const; void setDatasourceModified(const bool &iFlag = true); void setGraphModified(const bool &iFlag = true); bool isDatasourceModified() const; bool isGraphModified() const; private slots: void dataModified(bool iFlag = true); void datasourceModified(bool iFlag = true); void graphModified(bool iFlag = true); void onDataSelectionChanged(); void onGraphSelectionChanged(); protected: void uidChangeEvent(const QString &iUidStr) override; private: void initUi(); void initTopWidget(); void initBottomWidget(); void initDatasourceTab(); void initGraphTab(); TSqlSelectorV2 getSqlSelector(); private: TTabWidget *mTabNavigation = nullptr; TTabWidget *mTabDataGraph = nullptr; TSplitter *mMainSplitter = nullptr; QVBoxLayout *mMainLayout; TCodeEdit *mEdtGraph = nullptr; TCodeEdit *mEdtParam = nullptr; TTableView *mDatasourceTable = nullptr; TTableView *mGraphTable = nullptr; QWidget *mDatasourceWgt = nullptr; QWidget *mGraphWgt = nullptr; TSearchEntry *mSearchEntryData = nullptr; TSearchEntry *mSearchEntryGraph = nullptr; TUiLoader *mUiLoaderData = nullptr; TUiLoader *mUiLoaderGraph = nullptr; TopClassTableConf mTableConf; QString mSpecifiedClass; QVariantMap mDetailDataMap; bool mDatasourceModified = false; bool mGraphModified = false; }; #endif // SYSCHARTDEVELOPER_H