/** * @RDE_HEADER@ * OperatorManagement - Group Edit member of model * $Id$ * $HeadURL$ * $Author$ * Created by Malte Diers, SLSE, 2017-10-10 */ #pragma once #include #include #include #include namespace ExerciseManagement { class ExerciseOperatorModel : public LtsWidgets::LtsCheckableTableModel> { Q_OBJECT public: enum Columns { Name, Description, VisibleParties }; explicit ExerciseOperatorModel(LtsSession::LtsSessionDataDds *session, int exerciseId = 0, QObject *parent = nullptr); ~ExerciseOperatorModel() = default; QVariant data(const QModelIndex &index, int role) const override; public slots: void onOperatorChanged(const OperatorManagement::User &data, DataModification mod); private: QString hasVisibleParties(const std::vector vpbe) const; QString visibleParties(const std::vector &visible, const std::vector &hidden) const; bool hasMembership(const OperatorManagement::User &user) const; std::shared_ptr m_opmDtc; std::shared_ptr m_ppmDtc; int m_exerciseId; }; }