/
klischa
/
AstraScanner2
Обзор
Документация
Войти
/
klischa
/
AstraScanner2
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
src/controllers/ProjectUiController.h
40 строк
1 KB
Arena Agent
refactor: introduce controllers and split processing services
16 июн 2026, 22:53
16 июн 2026, 22:53
31dfe9a
Код
Авторство
О чём код?
#ifndef PROJECTUICONTROLLER_H #define PROJECTUICONTROLLER_H #include <QObject> #include <QString> #include <QStringList> #include <functional> #include <pcl/point_cloud.h> #include <pcl/point_types.h> class QWidget; class QStatusBar; class ProjectManager; class ExportManager; class ProjectUiController : public QObject { Q_OBJECT public: explicit ProjectUiController(QWidget *parentWidget, ProjectManager *projectManager, ExportManager *exportManager, QObject *parent = nullptr); bool confirmDiscardDirtyProject(const QString &title, const QString &question) const; QString chooseProjectDirectory(const QString &title, bool existingOnly) const; bool ensureProjectOpenForSave(const std::function<void()> &saveAsCallback) const; QString chooseExportFilename(const QString &title, const QStringList &filters) const; void rememberExportDirectory(const QString &filename) const; bool tryExportPointCloud(const pcl::PointCloud<pcl::PointXYZRGB>::ConstPtr &cloud, const QString &dialogTitle, QStatusBar *statusBar) const; private: QWidget *m_parentWidget = nullptr; ProjectManager *m_projectManager = nullptr; ExportManager *m_exportManager = nullptr; }; #endif // PROJECTUICONTROLLER_H