66 lines
1.9 KiB
C++
Executable File
66 lines
1.9 KiB
C++
Executable File
/**
|
|
* @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 <QSet>
|
|
#include <functional>
|
|
#include <ParticipantManagement/ppm_enums.hpp>
|
|
|
|
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<int> &preselectedParties,
|
|
const std::function<void(const QSet<int>&)> &cb,
|
|
QWidget *parent) = 0;
|
|
virtual QPixmap pixmapFromParty(const QColor &partyColor) const = 0;
|
|
};
|
|
|
|
} // namespace ParticipantManagement
|