#pragma once #include #include #include #include "scrolllistwidget.h" #include "pushbutton.h" #include "modelselectable.h" #include "model.h" class ModelSelector : public QWidget { Q_OBJECT public: ModelSelector(QWidget* parent = 0); ~ModelSelector(); private: // UI elements QVBoxLayout* _stretchLayout = nullptr; PushButton* _addNewObjectBtn = nullptr; ScrollListWidget* _objectList = nullptr; // Object selection storage QList _objectSelectables; private: // Slot functions void addNewObject(); // Util functions QString getNewObjectPath(); Model* loadObject(const QString& path); void removeObject(ModelSelectable* selectable); signals: void onObjectSelected(Model* selectedModel); };