Initial commit
This commit is contained in:
commit
b7d90b9afe
16245 files changed
+3396666
No files matched your search
Executable
+94
@@ -0,0 +1,94 @@
|
||||
/**
|
||||
* @RDE_HEADER@
|
||||
* HMI Plugin for AreaEffectSimulation - Contaminations Overview Dialog Model
|
||||
* $Id$
|
||||
* $HeadURL$
|
||||
* $Author$
|
||||
*
|
||||
* Created by Malte Diers, SLSE, 2017-02-20
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
#include <LtsWidgets/lts_abstract_table_model.h>
|
||||
#include <LtsWidgets/lts_column_filter_proxy_model.h>
|
||||
#include <AreaEffectSimulation/aes_dtc.h>
|
||||
#include <AreaEffectSimulation/logger.h>
|
||||
#include <ProjectDataManagement/pdm.hpp>
|
||||
|
||||
namespace LtsSession
|
||||
{
|
||||
class LtsSession;
|
||||
}
|
||||
|
||||
namespace ProjectDataManagement {
|
||||
namespace Interface {
|
||||
class Dtc;
|
||||
}
|
||||
}
|
||||
|
||||
namespace AreaEffectSimulation
|
||||
{
|
||||
|
||||
class ChargeAdministrationModel : public LtsWidgets::LtsAbstractTableModel<ChargeAdministration>
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
enum Columns
|
||||
{
|
||||
ColId,
|
||||
ColTypeId,
|
||||
ColChanged,
|
||||
ColTypeName,
|
||||
ColStock,
|
||||
ColPlanned,
|
||||
ColAvailable,
|
||||
ColUsed,
|
||||
ColGearClass
|
||||
};
|
||||
|
||||
explicit ChargeAdministrationModel(QObject *parent = nullptr);
|
||||
|
||||
bool initModel(LtsSession::LtsSession *session, QVector<ChargeAdministrationModifyRequest> &reqs);
|
||||
QVariant data(const QModelIndex &, int role = Qt::DisplayRole) const override final;
|
||||
|
||||
ProjectDataManagement::ChargeType chargeType(int id) const { return m_chargeTypeMap.value(id); }
|
||||
|
||||
private slots:
|
||||
void onChargeAdministrationChanged(const AreaEffectSimulation::ChargeAdministration &data, DataModification modType);
|
||||
|
||||
private:
|
||||
bool isDummy(const ProjectDataManagement::ChargeType &ct);
|
||||
|
||||
private:
|
||||
std::shared_ptr<AreaEffectSimulation::Interface::Dtc> m_aesDtc;
|
||||
std::shared_ptr<ProjectDataManagement::Interface::Dtc> m_pdmDtc;
|
||||
QMap<qint32, ProjectDataManagement::ChargeType> m_chargeTypeMap;
|
||||
LOGGER_T m_logger;
|
||||
|
||||
friend class ChargeAdministrationSortFilterProxyModel;
|
||||
};
|
||||
|
||||
class ChargeAdministrationSortFilterProxyModel final : public LtsWidgets::LtsColumnFilterProxyModel
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
using LtsWidgets::LtsColumnFilterProxyModel::LtsColumnFilterProxyModel;
|
||||
|
||||
void setSourceModel(QAbstractItemModel *model) override;
|
||||
int party() const;
|
||||
|
||||
public slots:
|
||||
void setParty(int party);
|
||||
|
||||
protected:
|
||||
bool filterAcceptsRow(int source_row, const QModelIndex &source_parent) const override;
|
||||
|
||||
private:
|
||||
ChargeAdministrationModel *m_sourceModel = nullptr;
|
||||
int m_party = 0;
|
||||
};
|
||||
|
||||
|
||||
} //namespace AreaEffectSimulation
|
||||
Reference in new issue
Block a user