Files
qt5-legatus-legacy/Lts/Plugins/ParticipantManagement/ppm_gui_combobox_plugin_interface.h
T
2026-08-13 18:33:10 +02:00

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