15 #ifndef BORNAGAIN_MVVM_VIEWMODEL_MVVM_VIEWMODEL_VIEWMODELCONTROLLER_H
16 #define BORNAGAIN_MVVM_VIEWMODEL_MVVM_VIEWMODEL_VIEWMODELCONTROLLER_H
20 #include "mvvm/viewmodel_export.h"
21 #include <QStringList>
33 class ChildrenStrategyInterface;
34 class RowStrategyInterface;
45 void setChildrenStrategy(std::unique_ptr<ChildrenStrategyInterface> children_strategy);
47 void setRowStrategy(std::unique_ptr<RowStrategyInterface> row_strategy);
57 QStringList horizontalHeaderLabels()
const;
60 virtual void onDataChange(
SessionItem* item,
int role);
69 std::unique_ptr<ViewModelControllerImpl>
p_impl;
Templated class for all objects willing to listen for changes in concrete SessionModel.
The main object representing an editable/displayable/serializable entity.
Main class to hold hierarchy of SessionItem objects.
Aggregate to hold (tag, row) information for SessionModel.
Base class for all view models to show content of SessionModel in Qt views.
Propagates changes from SessionModel to its ViewModelBase.
std::unique_ptr< ViewModelControllerImpl > p_impl
materialitems.h Collection of materials to populate MaterialModel.