23QT_FORWARD_DECLARE_CLASS(QQmlImageProviderBase)
24QT_FORWARD_DECLARE_CLASS(QQmlEngine)
25QT_FORWARD_DECLARE_CLASS(QQuickView)
26QT_FORWARD_DECLARE_CLASS(QTimer)
27QT_FORWARD_DECLARE_CLASS(QWidget)
43 std::shared_ptr<core::ports::diagnostics::IErrorReporter> errorReporter,
44 QWidget* parent =
nullptr);
48 void loadQml(
const QUrl& source = QUrl());
54 return workspaceStore_;
57 return workspaceCommands_;
60 return workspaceSelection_;
63 return workspaceSelectors_;
72 const QString& error);
82 void applyAutosaveSchedule();
85 bool eventFilter(QObject* obj, QEvent* ev)
override;
89 void setupQuickHost();
90 void setupUiContext();
91 void setupActionRouting();
92 void setupQmlRuntime();
94 void prepareForQmlShutdown();
95 void setupAutosaveTimer();
97 QQuickView* m_quickView =
nullptr;
98 QTimer* autosaveTimer_ =
nullptr;
99 QWidget* m_quickContainer =
nullptr;
108 std::shared_ptr<core::ports::diagnostics::IErrorReporter> errorReporter_;
109 bool qmlShutdownPrepared_ =
false;
Declares QAction wrappers exposed to the UI layer and QML.
Declarations for the UI CloseWorkflow component.
Defines UI-specific runtime constants that are not shared with core.
Declarations for the UI drop handling component.
Declarations for the UI Status component.
Declares the workspace selection state synchronized with the store.
Declares read-only workspace selectors for QML payloads.
Declares the UI workspace snapshot store.
void closeEvent(QCloseEvent *event) override
void openFileRequested(const QString &path)
ui::WorkspaceSelectors * workspaceSelectors() const noexcept
void loadQml(const QUrl &source=QUrl())
void handleStorageOperationSucceeded(const QString &operation)
void handleStorageOperationFailed(const QString &operation, const QString &error)
void newFileRequested(const QString &path)
ui::WorkspaceStore * workspaceStore() const noexcept
QQmlEngine * qmlEngine() const noexcept
ui::Settings * settings() const noexcept
ui::bootstrap::AppContext * appContext() const noexcept
bool eventFilter(QObject *obj, QEvent *ev) override
void saveFileAsRequested(const QString &path)
ui::WorkspaceCommands * workspaceCommands() const noexcept
void addImageProvider(const QString &id, QQmlImageProviderBase *provider)
MainWindow(std::shared_ptr< core::ports::diagnostics::IErrorReporter > errorReporter, QWidget *parent=nullptr)
ui::WorkspaceSelection * workspaceSelection() const noexcept
Port for reporting structured diagnostic error events.
Owns the main window actions and exposes them to QML.
Stores and exposes globally persisted UI settings for settings-related views.
Exposes the shell status text shown by the main window.
Maps UI intent to core workspace writer commands.
Tracks the currently selected workspace entities.
Projects workspace store data into QML-facing read models.
Owns the current UI-side workspace snapshot and revision lifecycle.
Coordinates close requests that may need a pending workspace save.
Extracts local file drops from Qt drag/drop events.
Declares UI-side workspace command submission.