Initial commit
This commit is contained in:
commit
b7d90b9afe
16245 files changed
+3396666
No files matched your search
@@ -0,0 +1,89 @@
|
||||
/**
|
||||
* @RDE_HEADER@
|
||||
* GUI Plugin for ParticipantManagement - UAS
|
||||
* $Id$
|
||||
* $HeadURL$
|
||||
* $Author$
|
||||
* Created by Hannes Fritsche, ESZS, 2025-05-16
|
||||
*/
|
||||
|
||||
#include "ppm_uas_gui_plugin.h"
|
||||
|
||||
#include <ParticipantManagement/ppm_operator_rights.h>
|
||||
|
||||
#include <Plugins/AdvancedSymbology/asb_data_plugin_interface.h>
|
||||
#include <Plugins/ExerciseManagement/exm_data_plugin_interface.h>
|
||||
|
||||
#include <LtsUtilsSettings/settings.h>
|
||||
#include <LtsSession/lts_session.h>
|
||||
|
||||
#include "ppm_uas_list_dialog.h"
|
||||
|
||||
namespace ParticipantManagement
|
||||
{
|
||||
|
||||
std::shared_ptr<GuiPluginBase::Interface> GuiPlugin::createGuiInterface(LtsSession::LtsSession *session)
|
||||
{
|
||||
return std::make_shared<InterfaceImpl>(session);
|
||||
}
|
||||
|
||||
InterfaceImpl::InterfaceImpl(LtsSession::LtsSession *session)
|
||||
: GuiPluginBase::Interface(session, getLogger("Plugins.Gui.Ppm.Uas"))
|
||||
, m_ppmDtc(nullptr)
|
||||
, m_ppmFtc(nullptr)
|
||||
, m_exmDtc(nullptr)
|
||||
{}
|
||||
|
||||
QVector<LtsWidgets::PluginData> InterfaceImpl::getActions()
|
||||
{
|
||||
QVector<LtsWidgets::PluginData> ret;
|
||||
|
||||
LtsWidgets::PluginData pluginData;
|
||||
|
||||
pluginData.menuGroup = menuGroup();
|
||||
pluginData.layoutArea = LtsWidgets::LayoutArea::eDialogTab;
|
||||
if (m_session->exerciseId() > 0)
|
||||
pluginData.menuText = tr("UAS Linking");
|
||||
else
|
||||
pluginData.menuText = tr("UAS");
|
||||
pluginData.identifier = QStringLiteral("uasListDialog");
|
||||
pluginData.menuIcon = QIcon(QLatin1String("icon:uas_administration.svg"));
|
||||
pluginData.createWidgetFunc = [this](QWidget *parent) { return onUasListDialog(parent); };
|
||||
pluginData.operatorRight = OperatorRights::Uas::EditAndLinkUas;
|
||||
pluginData.exercisePart = LtsWidgets::ExercisePart::ePlanning;
|
||||
pluginData.exerciseStates = LtsWidgets::ExcState::eCreated | LtsWidgets::ExcState::eStarted | LtsWidgets::ExcState::ePaused;
|
||||
ret.append(pluginData);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
QString InterfaceImpl::menuGroup() const
|
||||
{
|
||||
return tr("Air Support");
|
||||
}
|
||||
|
||||
bool InterfaceImpl::fetchInterfaces()
|
||||
{
|
||||
if (!m_session->getDtc<ParticipantManagement::DataInterface>(m_ppmDtc))
|
||||
return false;
|
||||
if (!m_session->getFtc<ParticipantManagement::DataInterface>(m_ppmFtc))
|
||||
return false;
|
||||
if (!m_session->getDtc<ExerciseManagement::DataInterface>(m_exmDtc))
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
void InterfaceImpl::clearInterfaces()
|
||||
{
|
||||
m_ppmDtc = nullptr;
|
||||
m_ppmFtc = nullptr;
|
||||
m_exmDtc = nullptr;
|
||||
}
|
||||
|
||||
LtsWidgets::LtsDialog *InterfaceImpl::onUasListDialog(QWidget *parent)
|
||||
{
|
||||
return LtsWidgets::initDialog(new UasListDialog(m_session, parent));
|
||||
}
|
||||
|
||||
} // namespace ParticipantManagement
|
||||
Reference in new issue
Block a user