FOSSredder 0.5.0
Loading...
Searching...
No Matches
WorkspaceSelection.h
Go to the documentation of this file.
1
5
6#pragma once
7
8#include <QObject>
9#include <QString>
10
13
14namespace ui {
15
19class WorkspaceSelection : public QObject {
20 Q_OBJECT
21
22public:
29 explicit WorkspaceSelection(WorkspaceStore& store,
30 WorkspaceSelectors& selectors,
31 QObject* parent = nullptr);
32
34 void loadFromState();
35
37 QString selectedActorId() const;
39 QString selectedPropertyId() const;
41 QString selectedContractId() const;
44 QString selectedStatementId() const;
47 QString selectedTransactionId() const;
49 QString selectedAnalysisId() const;
51 QString selectedAnnualId() const;
52
54 void setSelectedActorId(const QString& id);
56 void setSelectedPropertyId(const QString& id);
58 void setSelectedContractId(const QString& id);
60 void setSelectedStatementId(const QString& id);
62 void setSelectedAnalysisId(const QString& id);
64 void setSelectedAnnualId(const QString& id);
65
67 void selectActor(const QString& id);
69 void selectProperty(const QString& id);
71 void selectContract(const QString& id);
73 void selectStatement(const QString& id);
79 void selectTransaction(const QString& statementId, const QString& id);
81 void selectAnalysis(const QString& id);
83 void selectAnnual(const QString& id);
84
85signals:
100
101private:
103 void refreshSelections();
105 void validateSelections();
106
107 WorkspaceStore& store_;
108 WorkspaceSelectors& selectors_;
109 QString selectedActorId_;
110 QString selectedPropertyId_;
111 QString selectedContractId_;
112 QString selectedStatementId_;
113 QString selectedTransactionId_;
114 QString selectedAnalysisId_;
115 QString selectedAnnualId_;
116};
117
118} // namespace ui
Declares read-only workspace selectors for QML payloads.
Declares the UI workspace snapshot store.
void selectedActorIdChanged()
Emitted when the selected actor id changed.
void selectActor(const QString &id)
Selects an actor.
WorkspaceSelection(WorkspaceStore &store, WorkspaceSelectors &selectors, QObject *parent=nullptr)
Creates the selection state for the supplied workspace roles.
void selectedAnalysisIdChanged()
Emitted when the selected analysis id changed.
QString selectedAnnualId() const
Returns the selected annual id.
void setSelectedPropertyId(const QString &id)
Selects a property id.
QString selectedTransactionId() const
Returns the selected transaction id.
void selectTransaction(const QString &statementId, const QString &id)
Selects a statement and transaction.
void selectStatement(const QString &id)
Selects a statement.
void selectedStatementIdChanged()
Emitted when the selected statement id changed.
void selectedContractIdChanged()
Emitted when the selected contract id changed.
void selectedAnnualIdChanged()
Emitted when the selected annual id changed.
void setSelectedAnnualId(const QString &id)
Selects an annual id.
void loadFromState()
Refreshes selection objects after the underlying store reloaded.
QString selectedStatementId() const
Returns the selected statement id.
void setSelectedStatementId(const QString &id)
Selects a statement id.
void setSelectedAnalysisId(const QString &id)
Selects an analysis id.
QString selectedPropertyId() const
Returns the selected property id.
void selectedPropertyIdChanged()
Emitted when the selected property id changed.
QString selectedActorId() const
Returns the selected actor id.
QString selectedAnalysisId() const
Returns the selected analysis id.
void setSelectedContractId(const QString &id)
Selects a contract id.
void selectContract(const QString &id)
Selects a contract.
void selectAnalysis(const QString &id)
Selects an analysis.
QString selectedContractId() const
Returns the selected contract id.
void selectProperty(const QString &id)
Selects a property.
void setSelectedActorId(const QString &id)
Selects an actor id.
void selectedTransactionIdChanged()
Emitted when the selected transaction id changed.
void selectAnnual(const QString &id)
Selects an annual.
Projects workspace store data into QML-facing read models.
Owns the current UI-side workspace snapshot and revision lifecycle.