/** * @RDE_HEADER@ * HMI Plugin for ParticipantManagement (Interface for access from other Plugins) * $Id$ * $HeadURL$ * $Author$ * Created by Christian Ehrlicher, SLSE, 2016-02-29 */ #pragma once #include #include #include class QColor; class QComboBox; class QPixmap; class QWidget; namespace ParticipantManagement { class ForeignGuiComboboxInterface { public: ForeignGuiComboboxInterface() = default; virtual ~ForeignGuiComboboxInterface() = default; enum class CbxPartyFilter { Pool = 0x01, Oc = 0x02, Normal = 0x04, NormalOc = CbxPartyFilter::Oc|CbxPartyFilter::Normal, NormalPool = CbxPartyFilter::Pool|CbxPartyFilter::Normal, All = CbxPartyFilter::Pool|CbxPartyFilter::Oc|CbxPartyFilter::Normal }; virtual bool fillPartyComboBox(QComboBox *cbx, CbxPartyFilter filter = CbxPartyFilter::Normal) = 0; enum CbxTypeClassFilter { eParticipants = 0x01, eOc = 0x02, eUnits = 0x04, eOcUnits = 0x08, eParticipantsWithCtaEquipment = 0x100|eParticipants, // subset of eParticipants eAll = eUnits|eParticipants|eOc|eOcUnits }; virtual bool fillTypeClassComboBox(QComboBox *cbx, int filter) = 0; // use in retranslate() method only virtual bool fillEquipmentTypeComboBox(QComboBox *cbx) = 0; // use in retranslate() method only virtual bool fillTypeComboBox(QComboBox *cbx, TypeClass typeClass) = 0; // use in retranslate() method only virtual bool fillRoleComboBox(QComboBox *cbx) = 0; // use in retranslate() method only virtual bool fillHlaForceIdentifierComboBox(QComboBox *cbx) = 0; virtual void partySelector(const QSet &preselectedParties, const std::function&)> &cb, QWidget *parent) = 0; virtual QPixmap pixmapFromParty(const QColor &partyColor) const = 0; }; } // namespace ParticipantManagement