14template<
typename TSignal,
typename TValue>
15void assignIfChanged(TValue*& target, TValue* value,
AppContext* self,
20 emit(self->*signal)();
34 assignIfChanged(fileSystemBrowser_, value,
this,
43 assignIfChanged(actorViewModel_, value,
this,
48 assignIfChanged(bookingViewModel_, value,
this,
53 assignIfChanged(contractViewModel_, value,
this,
58 assignIfChanged(propertyViewModel_, value,
this,
63 assignIfChanged(analysisViewModel_, value,
this,
68 assignIfChanged(annualViewModel_, value,
this,
73 assignIfChanged(exportViewModel_, value,
this,
78 assignIfChanged(importViewModel_, value,
this,
83 assignIfChanged(settingsViewModel_, value,
this,
88 assignIfChanged(languageService_, value,
this,
93 if (isDebugBuild_ == value)
95 isDebugBuild_ = value;
Declares the QML application context object.
Owns the main window actions and exposes them to QML.
Owns editable actor UI state and delegates actor CRUD to workspace.
Owns Analysis view form state and delegates analysis CRUD and computation to workspace and workflow.
Owns Annual view form state and delegates annual CRUD and computation to workspace and workflow.
Owns Booking view form state and delegates statement and transaction CRUD to workspace.
Owns editable contract UI state and delegates contract CRUD to workspace.
Owns Export view state and delegates export execution to ExportWorkflow.
Exposes directory listing and application-directory lookup to QML.
Exposes import overview, statement draft, and transaction draft state to QML.
Manages the active UI language and the available translation options.
Stores the active top-level shell section and settings sub-section.
Owns editable property UI state and delegates property CRUD to workspace.
Owns Settings view navigation and delegates persisted values.
Exposes the shell status text shown by the main window.
void annualViewModelChanged()
Emitted when annual view model changed.
void setContractViewModel(ui::ContractViewModel *value)
Sets contract view model exposed to QML.
void setAnnualViewModel(ui::AnnualViewModel *value)
Sets annual view model exposed to QML.
void exportViewModelChanged()
Emitted when export view model changed.
void fileSystemBrowserChanged()
Emitted when filesystem browser changed.
void setStatus(ui::Status *value)
Sets status state exposed to QML.
void setImportViewModel(ui::ImportViewModel *value)
Sets import view model exposed to QML.
void actorViewModelChanged()
Emitted when actor view model changed.
void setPropertyViewModel(ui::PropertyViewModel *value)
Sets property view model exposed to QML.
void setIsDebugBuild(bool value)
Sets whether the running binary is a debug build.
void settingsViewModelChanged()
Emitted when settings view model changed.
void contractViewModelChanged()
Emitted when contract view model changed.
void propertyViewModelChanged()
Emitted when property view model changed.
void actionsChanged()
Emitted when actions changed.
void setAnalysisViewModel(ui::AnalysisViewModel *value)
Sets analysis view model exposed to QML.
void analysisViewModelChanged()
Emitted when analysis view model changed.
void isDebugBuildChanged()
Emitted when debug build flag changed.
void setSettingsViewModel(ui::SettingsViewModel *value)
Sets settings view model exposed to QML.
void setBookingViewModel(ui::BookingViewModel *value)
Sets booking view model exposed to QML.
void setNavigation(ui::Navigation *value)
Sets navigation state exposed to QML.
void setFileSystemBrowser(ui::FileSystemBrowser *value)
Sets filesystem browsing service exposed to QML.
void setExportViewModel(ui::ExportViewModel *value)
Sets export view model exposed to QML.
void setLanguageService(ui::LanguageService *value)
Sets language service exposed to QML.
void languageServiceChanged()
Emitted when language service changed.
void statusChanged()
Emitted when status state changed.
void setActions(ui::Actions *value)
Sets shell actions exposed to QML.
void importViewModelChanged()
Emitted when import view model changed.
AppContext(QObject *parent=nullptr)
Creates the QML application context.
void navigationChanged()
Emitted when navigation changed.
void setActorViewModel(ui::ActorViewModel *value)
Sets actor view model exposed to QML.
void bookingViewModelChanged()
Emitted when booking view model changed.