mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-03-31 12:55:33 +08:00
118 lines
3.9 KiB
C++
118 lines
3.9 KiB
C++
#include "runtimebasedcomponent.h"
|
|
#include <QWidget>
|
|
|
|
namespace BlackGui
|
|
{
|
|
|
|
void CRuntimeBasedComponent::setRuntime(BlackCore::CRuntime *runtime, bool runtimeOwner)
|
|
{
|
|
Q_ASSERT(runtime);
|
|
this->m_runtime = runtime;
|
|
this->m_runtimeOwner = runtimeOwner;
|
|
this->runtimeHasBeenSet();
|
|
}
|
|
|
|
void CRuntimeBasedComponent::setRuntimeForComponents(BlackCore::CRuntime *runtime, QWidget *parent)
|
|
{
|
|
if (!parent) return;
|
|
QList<QWidget *> children = parent->findChildren<QWidget *>();
|
|
foreach(QWidget * widget, children)
|
|
{
|
|
if (widget->objectName().isEmpty()) continue; // rule out unamed widgets
|
|
CRuntimeBasedComponent *rbc = dynamic_cast<CRuntimeBasedComponent *>(widget);
|
|
if (rbc) rbc->setRuntime(runtime, false);
|
|
}
|
|
}
|
|
|
|
void CRuntimeBasedComponent::createRuntime(const BlackCore::CRuntimeConfig &config, QObject *parent)
|
|
{
|
|
this->m_runtime = new BlackCore::CRuntime(config, parent);
|
|
this->m_runtimeOwner = true;
|
|
}
|
|
|
|
void CRuntimeBasedComponent::sendStatusMessage(const BlackMisc::CStatusMessage &statusMessage)
|
|
{
|
|
Q_ASSERT(this->getIContextApplication());
|
|
this->getIContextApplication()->sendStatusMessage(statusMessage);
|
|
}
|
|
|
|
void CRuntimeBasedComponent::sendStatusMessages(const BlackMisc::CStatusMessageList &statusMessages)
|
|
{
|
|
Q_ASSERT(this->getIContextApplication());
|
|
this->getIContextApplication()->sendStatusMessages(statusMessages);
|
|
}
|
|
|
|
const BlackCore::IContextApplication *CRuntimeBasedComponent::getIContextApplication() const
|
|
{
|
|
if (!this->m_runtime) return nullptr;
|
|
return this->m_runtime->getIContextApplication();
|
|
}
|
|
|
|
BlackCore::IContextApplication *CRuntimeBasedComponent::getIContextApplication()
|
|
{
|
|
if (!this->m_runtime) return nullptr;
|
|
return this->m_runtime->getIContextApplication();
|
|
}
|
|
|
|
BlackCore::IContextAudio *CRuntimeBasedComponent::getIContextAudio()
|
|
{
|
|
if (!this->m_runtime) return nullptr;
|
|
return this->m_runtime->getIContextAudio();
|
|
}
|
|
|
|
const BlackCore::IContextAudio *CRuntimeBasedComponent::getIContextAudio() const
|
|
{
|
|
if (!this->m_runtime) return nullptr;
|
|
return this->m_runtime->getIContextAudio();
|
|
}
|
|
|
|
BlackCore::IContextNetwork *CRuntimeBasedComponent::getIContextNetwork()
|
|
{
|
|
if (!this->m_runtime) return nullptr;
|
|
return this->m_runtime->getIContextNetwork();
|
|
}
|
|
|
|
const BlackCore::IContextNetwork *CRuntimeBasedComponent::getIContextNetwork() const
|
|
{
|
|
if (!this->m_runtime) return nullptr;
|
|
return this->m_runtime->getIContextNetwork();
|
|
}
|
|
|
|
BlackCore::IContextOwnAircraft *CRuntimeBasedComponent::getIContextOwnAircraft()
|
|
{
|
|
if (!this->m_runtime) return nullptr;
|
|
return this->m_runtime->getIContextOwnAircraft();
|
|
}
|
|
|
|
const BlackCore::IContextOwnAircraft *CRuntimeBasedComponent::getIContextOwnAircraft() const
|
|
{
|
|
if (!this->m_runtime) return nullptr;
|
|
return this->m_runtime->getIContextOwnAircraft();
|
|
}
|
|
|
|
BlackCore::IContextSettings *CRuntimeBasedComponent::getIContextSettings()
|
|
{
|
|
if (!this->m_runtime) return nullptr;
|
|
return this->m_runtime->getIContextSettings();
|
|
}
|
|
|
|
const BlackCore::IContextSettings *CRuntimeBasedComponent::getIContextSettings() const
|
|
{
|
|
if (!this->m_runtime) return nullptr;
|
|
return this->m_runtime->getIContextSettings();
|
|
}
|
|
|
|
const BlackCore::IContextSimulator *CRuntimeBasedComponent::getIContextSimulator() const
|
|
{
|
|
if (!this->m_runtime) return nullptr;
|
|
return this->m_runtime->getIContextSimulator();
|
|
}
|
|
|
|
BlackCore::IContextSimulator *CRuntimeBasedComponent::getIContextSimulator()
|
|
{
|
|
if (!this->m_runtime) return nullptr;
|
|
return this->m_runtime->getIContextSimulator();
|
|
}
|
|
|
|
}
|