#ifndef MAINWINDOW_H #define MAINWINDOW_H #include #include #include #include #include #include #include #include #include #include #include extern std::string gstrdirpath; extern std::string gstrxmlpath; namespace iv { struct appitem { QLabel * mpLabelIndex; QLabel * mpLabelAppName; QLineEdit * mpLEArgs; QComboBox * mpCBAppClass; QComboBox * mpCBAppAuto; QCheckBox * mpCheckCheckBox; }; struct appuse { std::string appname ; std::string strdir ; std::string strargs ; std::string strbstart ; std::string strgroup; }; } QT_BEGIN_NAMESPACE namespace Ui { class MainWindow; } QT_END_NAMESPACE class MainWindow : public QMainWindow { Q_OBJECT public: MainWindow(QWidget *parent = nullptr); ~MainWindow(); public: void resizeEvent(QResizeEvent *event); private slots: void onClickSave(); private: Ui::MainWindow *ui; private: void loadxml(std::string strxmlpath); void savexml(std::string strxmlpath); QStringList LoadAppNames(); private: QScrollArea * mpscroll; QGroupBox * mpGroup; QStringList mListAppNames; int mnFontHeight; std::string mstrclass[5] = {"Driver","Detection","Fusion","Control","Tool"}; std::vector mvectorapp; std::vector mvectorappitem; std::string mstrxmlpath = gstrxmlpath;//"/home/yuchuli/qt/TAG/V1.0/modularization/deploy/app_tag1.0_ubuntu1804x64/IVSysMan.xml"; std::string mstrdirpath = gstrdirpath; //"/home/yuchuli/qt/TAG/V1.0/modularization/deploy/app_tag1.0_ubuntu1804x64"; }; #endif // MAINWINDOW_H