mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-23 05:45:35 +08:00
As of RW/KB workshop
* changed aircraft view to siumlated aircraft models / views * functionality to change fast pos. updates (signals, slots) * allow to request text message widget from aircraft component
This commit is contained in:
@@ -152,6 +152,14 @@ namespace BlackCore
|
|||||||
return c > 0;
|
return c > 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool CAirspaceMonitor::updateFastPositionUpdates(const CCallsign &callsign, bool enableFastPositonUpdates, const QString &originator)
|
||||||
|
{
|
||||||
|
CPropertyIndexVariantMap vm(CSimulatedAircraft::IndexFastPositionUpdates, CVariant::fromValue(enableFastPositonUpdates));
|
||||||
|
Q_UNUSED(originator);
|
||||||
|
int c = m_aircraftInRange.applyIfCallsign(callsign, vm);
|
||||||
|
return c > 0;
|
||||||
|
}
|
||||||
|
|
||||||
CFlightPlan CAirspaceMonitor::loadFlightPlanFromNetwork(const CCallsign &callsign)
|
CFlightPlan CAirspaceMonitor::loadFlightPlanFromNetwork(const CCallsign &callsign)
|
||||||
{
|
{
|
||||||
CFlightPlan plan;
|
CFlightPlan plan;
|
||||||
|
|||||||
@@ -68,6 +68,9 @@ namespace BlackCore
|
|||||||
//! \copydoc IRemoteAircraftProvider::updateAircraftModel
|
//! \copydoc IRemoteAircraftProvider::updateAircraftModel
|
||||||
virtual bool updateAircraftModel(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::Simulation::CAircraftModel &model, const QString &originator) override;
|
virtual bool updateAircraftModel(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::Simulation::CAircraftModel &model, const QString &originator) override;
|
||||||
|
|
||||||
|
//! \copydoc IRemoteAircraftProvider::updateFastPositionEnabled
|
||||||
|
virtual bool updateFastPositionUpdates(const BlackMisc::Aviation::CCallsign &callsign, bool enableFastPositonUpdates, const QString &originator) override;
|
||||||
|
|
||||||
//! Returns the list of users we know about
|
//! Returns the list of users we know about
|
||||||
BlackMisc::Network::CUserList getUsers() const;
|
BlackMisc::Network::CUserList getUsers() const;
|
||||||
|
|
||||||
|
|||||||
@@ -101,6 +101,9 @@ namespace BlackCore
|
|||||||
//! Aircraft enabled / disabled
|
//! Aircraft enabled / disabled
|
||||||
void changedAircraftEnabled(const BlackMisc::Simulation::CSimulatedAircraft &aircraft, const QString &originator);
|
void changedAircraftEnabled(const BlackMisc::Simulation::CSimulatedAircraft &aircraft, const QString &originator);
|
||||||
|
|
||||||
|
//! Aircraft enabled / disabled
|
||||||
|
void changedFastPositionUpdates(const BlackMisc::Simulation::CSimulatedAircraft &aircraft, const QString &originator);
|
||||||
|
|
||||||
//! Connection status changed for online station
|
//! Connection status changed for online station
|
||||||
void changedAtcStationOnlineConnectionStatus(const BlackMisc::Aviation::CAtcStation &atcStation, bool connected);
|
void changedAtcStationOnlineConnectionStatus(const BlackMisc::Aviation::CAtcStation &atcStation, bool connected);
|
||||||
|
|
||||||
@@ -233,6 +236,9 @@ namespace BlackCore
|
|||||||
//! Change model string
|
//! Change model string
|
||||||
virtual bool updateAircraftModel(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::Simulation::CAircraftModel &model, const QString &originator) = 0;
|
virtual bool updateAircraftModel(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::Simulation::CAircraftModel &model, const QString &originator) = 0;
|
||||||
|
|
||||||
|
//! Change fast position updates
|
||||||
|
virtual bool updateFastPositionUpdates(const BlackMisc::Aviation::CCallsign &callsign, bool enableFastPositionSending, const QString &originator) = 0;
|
||||||
|
|
||||||
//! Create dummy ATC stations for performance tests etc.
|
//! Create dummy ATC stations for performance tests etc.
|
||||||
virtual void testCreateDummyOnlineAtcStations(int number) = 0;
|
virtual void testCreateDummyOnlineAtcStations(int number) = 0;
|
||||||
|
|
||||||
|
|||||||
@@ -249,6 +249,16 @@ namespace BlackCore
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//! \copydoc IContextNetwork::updateFastPositionUpdates
|
||||||
|
virtual bool updateFastPositionUpdates(const BlackMisc::Aviation::CCallsign &callsign, bool enableFastPositionSending, const QString &originator) override
|
||||||
|
{
|
||||||
|
logEmptyContextWarning(Q_FUNC_INFO);
|
||||||
|
Q_UNUSED(callsign);
|
||||||
|
Q_UNUSED(enableFastPositionSending);
|
||||||
|
Q_UNUSED(originator);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
//! \copydoc IContextNetwork::isFastPositionSendingEnabled
|
//! \copydoc IContextNetwork::isFastPositionSendingEnabled
|
||||||
virtual bool isFastPositionSendingEnabled() const override
|
virtual bool isFastPositionSendingEnabled() const override
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -537,6 +537,17 @@ namespace BlackCore
|
|||||||
return c;
|
return c;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool CContextNetwork::updateFastPositionUpdates(const CCallsign &callsign, bool enableFastPositonUpdates, const QString &originator)
|
||||||
|
{
|
||||||
|
if (this->isDebugEnabled()) { CLogMessage(this, CLogCategory::contextSlot()).debug() << Q_FUNC_INFO << callsign << enableFastPositonUpdates << originator; }
|
||||||
|
bool c = this->m_airspace->updateFastPositionUpdates(callsign, enableFastPositonUpdates, originator);
|
||||||
|
if (c)
|
||||||
|
{
|
||||||
|
emit this->changedFastPositionUpdates(this->remoteAircraft().findFirstByCallsign(callsign), originator);
|
||||||
|
}
|
||||||
|
return c;
|
||||||
|
}
|
||||||
|
|
||||||
bool CContextNetwork::isFastPositionSendingEnabled() const
|
bool CContextNetwork::isFastPositionSendingEnabled() const
|
||||||
{
|
{
|
||||||
if (this->isDebugEnabled()) { CLogMessage(this, CLogCategory::contextSlot()).debug() << Q_FUNC_INFO; }
|
if (this->isDebugEnabled()) { CLogMessage(this, CLogCategory::contextSlot()).debug() << Q_FUNC_INFO; }
|
||||||
@@ -561,6 +572,7 @@ namespace BlackCore
|
|||||||
{
|
{
|
||||||
if (this->isDebugEnabled()) { CLogMessage(this, CLogCategory::contextSlot()).debug() << Q_FUNC_INFO; }
|
if (this->isDebugEnabled()) { CLogMessage(this, CLogCategory::contextSlot()).debug() << Q_FUNC_INFO; }
|
||||||
Q_ASSERT(this->m_network);
|
Q_ASSERT(this->m_network);
|
||||||
|
//! \todo Fast position updates in vatlib
|
||||||
return CCallsignList();
|
return CCallsignList();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -76,9 +76,6 @@ namespace BlackCore
|
|||||||
) override;
|
) override;
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
// IRemoteAircraftProviderReadOnly must be implemented by concrete class
|
|
||||||
// must not prefixed virtual (though they are) -> warning
|
|
||||||
|
|
||||||
//! \copydoc IRemoteAircraftProviderReadOnly::addedRemoteAircraftSituation
|
//! \copydoc IRemoteAircraftProviderReadOnly::addedRemoteAircraftSituation
|
||||||
void addedRemoteAircraftSituation(const BlackMisc::Aviation::CAircraftSituation &situation);
|
void addedRemoteAircraftSituation(const BlackMisc::Aviation::CAircraftSituation &situation);
|
||||||
|
|
||||||
@@ -184,6 +181,9 @@ namespace BlackCore
|
|||||||
//! \copydoc IContextNetwork::updateAircraftModel
|
//! \copydoc IContextNetwork::updateAircraftModel
|
||||||
virtual bool updateAircraftModel(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::Simulation::CAircraftModel &model, const QString &originator) override;
|
virtual bool updateAircraftModel(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::Simulation::CAircraftModel &model, const QString &originator) override;
|
||||||
|
|
||||||
|
//! \copydoc IContextNetwork::updateFastPositionUpdates
|
||||||
|
virtual bool updateFastPositionUpdates(const BlackMisc::Aviation::CCallsign &callsign, bool enableFastPositonUpdates, const QString &originator) override;
|
||||||
|
|
||||||
//! \copydoc IContextNetwork::isFastPositionSendingEnabled
|
//! \copydoc IContextNetwork::isFastPositionSendingEnabled
|
||||||
virtual bool isFastPositionSendingEnabled() const override;
|
virtual bool isFastPositionSendingEnabled() const override;
|
||||||
|
|
||||||
|
|||||||
@@ -81,6 +81,9 @@ namespace BlackCore
|
|||||||
s = connection.connect(serviceName, IContextNetwork::ObjectPath(), IContextNetwork::InterfaceName(),
|
s = connection.connect(serviceName, IContextNetwork::ObjectPath(), IContextNetwork::InterfaceName(),
|
||||||
"changedAircraftEnabled", this, SIGNAL(changedAircraftEnabled(BlackMisc::Simulation::CSimulatedAircraft, QString)));
|
"changedAircraftEnabled", this, SIGNAL(changedAircraftEnabled(BlackMisc::Simulation::CSimulatedAircraft, QString)));
|
||||||
Q_ASSERT(s);
|
Q_ASSERT(s);
|
||||||
|
s = connection.connect(serviceName, IContextNetwork::ObjectPath(), IContextNetwork::InterfaceName(),
|
||||||
|
"changedFastPositionUpdates", this, SIGNAL(changedFastPositionUpdates(BlackMisc::Simulation::CSimulatedAircraft,QString)));
|
||||||
|
Q_ASSERT(s);
|
||||||
s = connection.connect(serviceName, IContextNetwork::ObjectPath(), IContextNetwork::InterfaceName(),
|
s = connection.connect(serviceName, IContextNetwork::ObjectPath(), IContextNetwork::InterfaceName(),
|
||||||
"addedAircraft", this, SIGNAL(addedAircraft(BlackMisc::Simulation::CSimulatedAircraft)));
|
"addedAircraft", this, SIGNAL(addedAircraft(BlackMisc::Simulation::CSimulatedAircraft)));
|
||||||
Q_ASSERT(s);
|
Q_ASSERT(s);
|
||||||
@@ -184,6 +187,11 @@ namespace BlackCore
|
|||||||
return this->m_dBusInterface->callDBusRet<bool>(QLatin1Literal("updateAircraftModel"), callsign, model, originator);
|
return this->m_dBusInterface->callDBusRet<bool>(QLatin1Literal("updateAircraftModel"), callsign, model, originator);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool CContextNetworkProxy::updateFastPositionUpdates(const CCallsign &callsign, bool enableFastPositionSending, const QString &originator)
|
||||||
|
{
|
||||||
|
return this->m_dBusInterface->callDBusRet<bool>(QLatin1Literal("updateFastPositionUpdates"), callsign, enableFastPositionSending, originator);
|
||||||
|
}
|
||||||
|
|
||||||
bool CContextNetworkProxy::isFastPositionSendingEnabled() const
|
bool CContextNetworkProxy::isFastPositionSendingEnabled() const
|
||||||
{
|
{
|
||||||
return this->m_dBusInterface->callDBusRet<bool>(QLatin1Literal("isFastPositionSendingEnabled"));
|
return this->m_dBusInterface->callDBusRet<bool>(QLatin1Literal("isFastPositionSendingEnabled"));
|
||||||
|
|||||||
@@ -134,6 +134,9 @@ namespace BlackCore
|
|||||||
//! \copydoc IContextNetwork::updateAircraftModel
|
//! \copydoc IContextNetwork::updateAircraftModel
|
||||||
virtual bool updateAircraftModel(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::Simulation::CAircraftModel &model, const QString &originator) override;
|
virtual bool updateAircraftModel(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::Simulation::CAircraftModel &model, const QString &originator) override;
|
||||||
|
|
||||||
|
//! \copydoc IContextNetwork::updateFastPositionUpdates
|
||||||
|
virtual bool updateFastPositionUpdates(const BlackMisc::Aviation::CCallsign &callsign, bool enableFastPositionSending, const QString &originator) override;
|
||||||
|
|
||||||
//! \copydoc IContextNetwork::isFastPositionSendingEnabled
|
//! \copydoc IContextNetwork::isFastPositionSendingEnabled
|
||||||
virtual bool isFastPositionSendingEnabled() const override;
|
virtual bool isFastPositionSendingEnabled() const override;
|
||||||
|
|
||||||
|
|||||||
@@ -17,8 +17,9 @@
|
|||||||
|
|
||||||
using namespace BlackGui;
|
using namespace BlackGui;
|
||||||
using namespace BlackGui::Views;
|
using namespace BlackGui::Views;
|
||||||
|
using namespace BlackGui::Models;
|
||||||
using namespace BlackCore;
|
using namespace BlackCore;
|
||||||
|
using namespace BlackMisc::Simulation;
|
||||||
|
|
||||||
namespace BlackGui
|
namespace BlackGui
|
||||||
{
|
{
|
||||||
@@ -33,9 +34,12 @@ namespace BlackGui
|
|||||||
this->tabBar()->setExpanding(false);
|
this->tabBar()->setExpanding(false);
|
||||||
this->ui->tvp_AirportsInRange->setResizeMode(CAirportView::ResizingOnce);
|
this->ui->tvp_AirportsInRange->setResizeMode(CAirportView::ResizingOnce);
|
||||||
m_updateTimer = new CUpdateTimer(&CAircraftComponent::update, this);
|
m_updateTimer = new CUpdateTimer(&CAircraftComponent::update, this);
|
||||||
|
this->ui->tvp_AircraftInRange->setAircraftMode(CSimulatedAircraftListModel::InfoMode);
|
||||||
|
|
||||||
|
connect(this->ui->tvp_AircraftInRange, &CSimulatedAircraftView::rowCountChanged, this, &CAircraftComponent::ps_onRowCountChanged);
|
||||||
|
connect(this->ui->tvp_AircraftInRange, &CSimulatedAircraftView::requestTextMessageWidget, this, &CAircraftComponent::requestTextMessageWidget);
|
||||||
|
connect(this->ui->tvp_AirportsInRange, &CSimulatedAircraftView::rowCountChanged, this, &CAircraftComponent::ps_onRowCountChanged);
|
||||||
|
|
||||||
connect(this->ui->tvp_AircraftInRange, &CAircraftView::rowCountChanged, this, &CAircraftComponent::ps_onRowCountChanged);
|
|
||||||
connect(this->ui->tvp_AirportsInRange, &CAircraftView::rowCountChanged, this, &CAircraftComponent::ps_onRowCountChanged);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
CAircraftComponent::~CAircraftComponent()
|
CAircraftComponent::~CAircraftComponent()
|
||||||
@@ -64,7 +68,7 @@ namespace BlackGui
|
|||||||
bool visible = (this->isVisibleWidget() && this->currentWidget() == this->ui->tb_AircraftInRange);
|
bool visible = (this->isVisibleWidget() && this->currentWidget() == this->ui->tb_AircraftInRange);
|
||||||
if (this->countAircraft() < 1 || visible)
|
if (this->countAircraft() < 1 || visible)
|
||||||
{
|
{
|
||||||
this->ui->tvp_AircraftInRange->updateContainer(this->getIContextNetwork()->getAircraftInRange().toAircraftList());
|
this->ui->tvp_AircraftInRange->updateContainer(this->getIContextNetwork()->getAircraftInRange());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (this->getIContextSimulator()->isConnected())
|
if (this->getIContextSimulator()->isConnected())
|
||||||
|
|||||||
@@ -49,6 +49,10 @@ namespace BlackGui
|
|||||||
//! Airports in range
|
//! Airports in range
|
||||||
int countAirportsInRange() const;
|
int countAirportsInRange() const;
|
||||||
|
|
||||||
|
signals:
|
||||||
|
//! Request a text message
|
||||||
|
void requestTextMessageWidget(const BlackMisc::Aviation::CCallsign &callsign);
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
//! Update aircrafts
|
//! Update aircrafts
|
||||||
void update();
|
void update();
|
||||||
|
|||||||
@@ -43,7 +43,7 @@
|
|||||||
<number>0</number>
|
<number>0</number>
|
||||||
</property>
|
</property>
|
||||||
<item>
|
<item>
|
||||||
<widget class="BlackGui::Views::CAircraftView" name="tvp_AircraftInRange">
|
<widget class="BlackGui::Views::CSimulatedAircraftView" name="tvp_AircraftInRange">
|
||||||
<property name="selectionMode">
|
<property name="selectionMode">
|
||||||
<enum>QAbstractItemView::SingleSelection</enum>
|
<enum>QAbstractItemView::SingleSelection</enum>
|
||||||
</property>
|
</property>
|
||||||
@@ -94,16 +94,16 @@
|
|||||||
</widget>
|
</widget>
|
||||||
</widget>
|
</widget>
|
||||||
<customwidgets>
|
<customwidgets>
|
||||||
<customwidget>
|
|
||||||
<class>BlackGui::Views::CAircraftView</class>
|
|
||||||
<extends>QTableView</extends>
|
|
||||||
<header>blackgui/views/aircraftview.h</header>
|
|
||||||
</customwidget>
|
|
||||||
<customwidget>
|
<customwidget>
|
||||||
<class>BlackGui::Views::CAirportView</class>
|
<class>BlackGui::Views::CAirportView</class>
|
||||||
<extends>QTableView</extends>
|
<extends>QTableView</extends>
|
||||||
<header>blackgui/views/airportview.h</header>
|
<header>blackgui/views/airportview.h</header>
|
||||||
</customwidget>
|
</customwidget>
|
||||||
|
<customwidget>
|
||||||
|
<class>BlackGui::Views::CSimulatedAircraftView</class>
|
||||||
|
<extends>QTableView</extends>
|
||||||
|
<header>blackgui/views/simulatedaircraftview.h</header>
|
||||||
|
</customwidget>
|
||||||
</customwidgets>
|
</customwidgets>
|
||||||
<resources/>
|
<resources/>
|
||||||
<connections/>
|
<connections/>
|
||||||
|
|||||||
@@ -62,7 +62,7 @@ namespace BlackGui
|
|||||||
connect(this->ui->tvp_AtcStationsOnline, &CAtcStationView::rowCountChanged, this, &CAtcStationComponent::ps_onCountChanged);
|
connect(this->ui->tvp_AtcStationsOnline, &CAtcStationView::rowCountChanged, this, &CAtcStationComponent::ps_onCountChanged);
|
||||||
connect(this->ui->tvp_AtcStationsOnline, &CAtcStationView::rowCountChanged, this, &CAtcStationComponent::ps_onCountChanged);
|
connect(this->ui->tvp_AtcStationsOnline, &CAtcStationView::rowCountChanged, this, &CAtcStationComponent::ps_onCountChanged);
|
||||||
connect(this->ui->tvp_AtcStationsOnline, &CAtcStationView::requestComFrequency, this, &CAtcStationComponent::ps_setComFrequency);
|
connect(this->ui->tvp_AtcStationsOnline, &CAtcStationView::requestComFrequency, this, &CAtcStationComponent::ps_setComFrequency);
|
||||||
connect(this->ui->tvp_AtcStationsOnline, &CAtcStationView::requestTextMessage, this, &CAtcStationComponent::requestTextMessage);
|
connect(this->ui->tvp_AtcStationsOnline, &CAtcStationView::requestTextMessageWidget, this, &CAtcStationComponent::requestTextMessageWidget);
|
||||||
|
|
||||||
connect(this->ui->tvp_AtcStationsBooked, &CAtcStationView::requestUpdate, this, &CAtcStationComponent::ps_reloadAtcStationsBooked);
|
connect(this->ui->tvp_AtcStationsBooked, &CAtcStationView::requestUpdate, this, &CAtcStationComponent::ps_reloadAtcStationsBooked);
|
||||||
connect(this->ui->tvp_AtcStationsBooked, &CAtcStationView::rowCountChanged, this, &CAtcStationComponent::ps_onCountChanged);
|
connect(this->ui->tvp_AtcStationsBooked, &CAtcStationView::rowCountChanged, this, &CAtcStationComponent::ps_onCountChanged);
|
||||||
|
|||||||
@@ -54,7 +54,7 @@ namespace BlackGui
|
|||||||
|
|
||||||
signals:
|
signals:
|
||||||
//! Request a text message
|
//! Request a text message
|
||||||
void requestTextMessage(const BlackMisc::Aviation::CCallsign &callsign);
|
void requestTextMessageWidget(const BlackMisc::Aviation::CCallsign &callsign);
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
//! Update stations
|
//! Update stations
|
||||||
|
|||||||
@@ -50,7 +50,9 @@ namespace BlackGui
|
|||||||
connect(this->ui->tvp_CurrentMappings, &CSimulatedAircraftView::rowCountChanged, this, &CMappingComponent::ps_onRowCountChanged);
|
connect(this->ui->tvp_CurrentMappings, &CSimulatedAircraftView::rowCountChanged, this, &CMappingComponent::ps_onRowCountChanged);
|
||||||
connect(this->ui->tvp_CurrentMappings, &CSimulatedAircraftView::clicked, this, &CMappingComponent::ps_onAircraftSelectedInView);
|
connect(this->ui->tvp_CurrentMappings, &CSimulatedAircraftView::clicked, this, &CMappingComponent::ps_onAircraftSelectedInView);
|
||||||
connect(this->ui->tvp_CurrentMappings, &CSimulatedAircraftView::requestUpdate, this, &CMappingComponent::ps_onMappingsUpdateRequested);
|
connect(this->ui->tvp_CurrentMappings, &CSimulatedAircraftView::requestUpdate, this, &CMappingComponent::ps_onMappingsUpdateRequested);
|
||||||
connect(this->ui->tvp_CurrentMappings, &CSimulatedAircraftView::requestTextMessage, this, &CMappingComponent::requestTextMessage);
|
connect(this->ui->tvp_CurrentMappings, &CSimulatedAircraftView::requestTextMessageWidget, this, &CMappingComponent::requestTextMessageWidget);
|
||||||
|
connect(this->ui->tvp_CurrentMappings, &CSimulatedAircraftView::requestEnableAircraft, this, &CMappingComponent::ps_onMenuEnableAircraft);
|
||||||
|
connect(this->ui->tvp_CurrentMappings, &CSimulatedAircraftView::requestFastPositionUpdates, this, &CMappingComponent::ps_onMenuChangeFastPositionUpdates);
|
||||||
|
|
||||||
connect(this->ui->pb_SaveAircraft, &QPushButton::clicked, this, &CMappingComponent::ps_onSaveAircraft);
|
connect(this->ui->pb_SaveAircraft, &QPushButton::clicked, this, &CMappingComponent::ps_onSaveAircraft);
|
||||||
|
|
||||||
@@ -304,6 +306,13 @@ namespace BlackGui
|
|||||||
Q_UNUSED(aircraft);
|
Q_UNUSED(aircraft);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void CMappingComponent::ps_onFastPositionUpdatesEnabled(const CSimulatedAircraft &aircraft, const QString &originator)
|
||||||
|
{
|
||||||
|
if (originator == mappingtOriginator()) { return; }
|
||||||
|
this->ps_onMappingsUpdateRequested();
|
||||||
|
Q_UNUSED(aircraft);
|
||||||
|
}
|
||||||
|
|
||||||
void CMappingComponent::ps_onConnectionStatusChanged(uint from, uint to)
|
void CMappingComponent::ps_onConnectionStatusChanged(uint from, uint to)
|
||||||
{
|
{
|
||||||
INetwork::ConnectionStatus fromStatus = static_cast<INetwork::ConnectionStatus>(from);
|
INetwork::ConnectionStatus fromStatus = static_cast<INetwork::ConnectionStatus>(from);
|
||||||
@@ -315,6 +324,22 @@ namespace BlackGui
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void CMappingComponent::ps_onMenuChangeFastPositionUpdates(const CSimulatedAircraft &aircraft)
|
||||||
|
{
|
||||||
|
if (getIContextNetwork())
|
||||||
|
{
|
||||||
|
getIContextNetwork()->updateFastPositionUpdates(aircraft.getCallsign(), aircraft.fastPositionUpdates(), mappingtOriginator());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void CMappingComponent::ps_onMenuEnableAircraft(const CSimulatedAircraft &aircraft)
|
||||||
|
{
|
||||||
|
if (getIContextNetwork())
|
||||||
|
{
|
||||||
|
getIContextNetwork()->updateAircraftEnabled(aircraft.getCallsign(), aircraft.isEnabled(), mappingtOriginator());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
const QString &CMappingComponent::mappingtOriginator()
|
const QString &CMappingComponent::mappingtOriginator()
|
||||||
{
|
{
|
||||||
// string is generated once, the timestamp allows to use multiple
|
// string is generated once, the timestamp allows to use multiple
|
||||||
|
|||||||
@@ -53,7 +53,7 @@ namespace BlackGui
|
|||||||
|
|
||||||
signals:
|
signals:
|
||||||
//! Request a text message
|
//! Request a text message
|
||||||
void requestTextMessage(const BlackMisc::Aviation::CCallsign &callsign);
|
void requestTextMessageWidget(const BlackMisc::Aviation::CCallsign &callsign);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
//! \copydoc CRuntimeBasedComponent::runtimeHasBeenSet
|
//! \copydoc CRuntimeBasedComponent::runtimeHasBeenSet
|
||||||
@@ -85,23 +85,32 @@ namespace BlackGui
|
|||||||
//! Model preview
|
//! Model preview
|
||||||
void ps_onModelPreviewChanged(int state);
|
void ps_onModelPreviewChanged(int state);
|
||||||
|
|
||||||
//! Requested update for mappings from backend
|
//! Request update for mappings from backend
|
||||||
void ps_onMappingsUpdateRequested();
|
void ps_onMappingsUpdateRequested();
|
||||||
|
|
||||||
//! Request update for models from backend
|
//! Request update for models from backend
|
||||||
void ps_onModelsUpdateRequested();
|
void ps_onModelsUpdateRequested();
|
||||||
|
|
||||||
//! Rendered aircraft changed
|
//! Rendered aircraft changed in backend
|
||||||
void ps_onRenderedAircraftModelChanged(const BlackMisc::Simulation::CSimulatedAircraft &aircraft, const QString &originator);
|
void ps_onRenderedAircraftModelChanged(const BlackMisc::Simulation::CSimulatedAircraft &aircraft, const QString &originator);
|
||||||
|
|
||||||
//! aircraft enabled, disabled
|
//! Aircraft enabled, disabled in backend
|
||||||
void ps_onChangedAircraftEnabled(const BlackMisc::Simulation::CSimulatedAircraft &aircraft, const QString &originator);
|
void ps_onChangedAircraftEnabled(const BlackMisc::Simulation::CSimulatedAircraft &aircraft, const QString &originator);
|
||||||
|
|
||||||
|
//! Fast position updates on/off in backend
|
||||||
|
void ps_onFastPositionUpdatesEnabled(const BlackMisc::Simulation::CSimulatedAircraft &aircraft, const QString &originator);
|
||||||
|
|
||||||
//! Connection status has been changed
|
//! Connection status has been changed
|
||||||
void ps_onConnectionStatusChanged(uint from, uint to);
|
void ps_onConnectionStatusChanged(uint from, uint to);
|
||||||
|
|
||||||
|
//! Fast position updates onf/off
|
||||||
|
void ps_onMenuChangeFastPositionUpdates(const BlackMisc::Simulation::CSimulatedAircraft &aircraft);
|
||||||
|
|
||||||
|
//! Enable / disable aircraft
|
||||||
|
void ps_onMenuEnableAircraft(const BlackMisc::Simulation::CSimulatedAircraft &aircraft);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
const QString &mappingtOriginator();
|
static const QString &mappingtOriginator();
|
||||||
QScopedPointer<Ui::CMappingComponent> ui;
|
QScopedPointer<Ui::CMappingComponent> ui;
|
||||||
QCompleter *m_modelCompleter = nullptr;
|
QCompleter *m_modelCompleter = nullptr;
|
||||||
BlackGui::Views::CCheckBoxDelegate *m_currentMappingsViewDelegate = nullptr;
|
BlackGui::Views::CCheckBoxDelegate *m_currentMappingsViewDelegate = nullptr;
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ namespace BlackGui
|
|||||||
{
|
{
|
||||||
this->m_columns.addColumn(CColumn::standardValueObject("cs.", "callsign", { CAircraft::IndexCallsign, CCallsign::IndexCallsignString }));
|
this->m_columns.addColumn(CColumn::standardValueObject("cs.", "callsign", { CAircraft::IndexCallsign, CCallsign::IndexCallsignString }));
|
||||||
this->m_columns.addColumn(CColumn::standardString("realname", "pilot's real name", { CAircraft::IndexPilot, CUser::IndexRealName }));
|
this->m_columns.addColumn(CColumn::standardString("realname", "pilot's real name", { CAircraft::IndexPilot, CUser::IndexRealName }));
|
||||||
this->m_columns.addColumn(CColumn("distance", CAircraft::IndexDistanceToOwnAircraft, new CAirspaceDistanceFormatter()));
|
this->m_columns.addColumn(CColumn("dist.", "distance", CAircraft::IndexDistanceToOwnAircraft, new CAirspaceDistanceFormatter()));
|
||||||
this->m_columns.addColumn(CColumn("frequency", { CAircraft::IndexCom1System, CComSystem::IndexActiveFrequency }, new CComFrequencyFormatter()));
|
this->m_columns.addColumn(CColumn("frequency", { CAircraft::IndexCom1System, CComSystem::IndexActiveFrequency }, new CComFrequencyFormatter()));
|
||||||
this->m_columns.addColumn(CColumn::standardString("icao", { CAircraft::IndexIcao, CAircraftIcao::IndexAsString}));
|
this->m_columns.addColumn(CColumn::standardString("icao", { CAircraft::IndexIcao, CAircraftIcao::IndexAsString}));
|
||||||
this->m_columns.addColumn(CColumn::standardString("transponder", { CAircraft::IndexTransponder, CTransponder::IndexTransponderCodeAndModeFormatted }));
|
this->m_columns.addColumn(CColumn::standardString("transponder", { CAircraft::IndexTransponder, CTransponder::IndexTransponderCodeAndModeFormatted }));
|
||||||
|
|||||||
@@ -53,7 +53,7 @@ namespace BlackGui
|
|||||||
case InfoMode:
|
case InfoMode:
|
||||||
this->m_columns.addColumn(CColumn::standardValueObject("cs.", "callsign", CSimulatedAircraft::IndexCallsign, CCallsign::IndexCallsignString));
|
this->m_columns.addColumn(CColumn::standardValueObject("cs.", "callsign", CSimulatedAircraft::IndexCallsign, CCallsign::IndexCallsignString));
|
||||||
this->m_columns.addColumn(CColumn::standardString("realname", "pilot's real name", { CSimulatedAircraft::IndexPilot, CUser::IndexRealName }));
|
this->m_columns.addColumn(CColumn::standardString("realname", "pilot's real name", { CSimulatedAircraft::IndexPilot, CUser::IndexRealName }));
|
||||||
this->m_columns.addColumn(CColumn("distance", CSimulatedAircraft::IndexDistanceToOwnAircraft, new CAirspaceDistanceFormatter()));
|
this->m_columns.addColumn(CColumn("dist.", "distance", CSimulatedAircraft::IndexDistanceToOwnAircraft, new CAirspaceDistanceFormatter()));
|
||||||
this->m_columns.addColumn(CColumn("frequency", { CSimulatedAircraft::IndexCom1System, CComSystem::IndexActiveFrequency }, new CComFrequencyFormatter()));
|
this->m_columns.addColumn(CColumn("frequency", { CSimulatedAircraft::IndexCom1System, CComSystem::IndexActiveFrequency }, new CComFrequencyFormatter()));
|
||||||
this->m_columns.addColumn(CColumn::standardString("icao", { CSimulatedAircraft::IndexIcao, CAircraftIcao::IndexAsString}));
|
this->m_columns.addColumn(CColumn::standardString("icao", { CSimulatedAircraft::IndexIcao, CAircraftIcao::IndexAsString}));
|
||||||
this->m_columns.addColumn(CColumn::standardString("transponder", { CSimulatedAircraft::IndexTransponder, CTransponder::IndexTransponderCodeAndModeFormatted }));
|
this->m_columns.addColumn(CColumn::standardString("transponder", { CSimulatedAircraft::IndexTransponder, CTransponder::IndexTransponderCodeAndModeFormatted }));
|
||||||
@@ -74,10 +74,10 @@ namespace BlackGui
|
|||||||
new CBoolIconFormatter(CIcons::StandardIconTick16, CIcons::StandardIconCross16, "rendered", "skipped"), true));
|
new CBoolIconFormatter(CIcons::StandardIconTick16, CIcons::StandardIconCross16, "rendered", "skipped"), true));
|
||||||
this->m_columns.addColumn(CColumn::standardValueObject("cs.", "callsign", { CSimulatedAircraft::IndexCallsign, CCallsign::IndexCallsignString }));
|
this->m_columns.addColumn(CColumn::standardValueObject("cs.", "callsign", { CSimulatedAircraft::IndexCallsign, CCallsign::IndexCallsignString }));
|
||||||
this->m_columns.addColumn(CColumn::standardString("realname", "pilot's real name", { CSimulatedAircraft::IndexPilot, CUser::IndexRealName }));
|
this->m_columns.addColumn(CColumn::standardString("realname", "pilot's real name", { CSimulatedAircraft::IndexPilot, CUser::IndexRealName }));
|
||||||
this->m_columns.addColumn(CColumn("distance", CSimulatedAircraft::IndexDistanceToOwnAircraft, new CAirspaceDistanceFormatter()));
|
this->m_columns.addColumn(CColumn("dist.", "distance", CSimulatedAircraft::IndexDistanceToOwnAircraft, new CAirspaceDistanceFormatter()));
|
||||||
this->m_columns.addColumn(CColumn("p.", "parts", CSimulatedAircraft::IndexPartsSynchronized,
|
this->m_columns.addColumn(CColumn("p.", "parts", CSimulatedAircraft::IndexPartsSynchronized,
|
||||||
new CBoolIconFormatter(CIcons::StandardIconTick16, CIcons::StandardIconCross16, "parts", "no parts"), true));
|
new CBoolIconFormatter(CIcons::StandardIconTick16, CIcons::StandardIconCross16, "parts", "no parts"), true));
|
||||||
this->m_columns.addColumn(CColumn("f.", "fast position updates", CSimulatedAircraft::IndexFastPositionUpdates,
|
this->m_columns.addColumn(CColumn("fp.", "fast position updates", CSimulatedAircraft::IndexFastPositionUpdates,
|
||||||
new CBoolIconFormatter(CIcons::StandardIconTick16, CIcons::StandardIconCross16, "enabled", "disabled"), true));
|
new CBoolIconFormatter(CIcons::StandardIconTick16, CIcons::StandardIconCross16, "enabled", "disabled"), true));
|
||||||
this->m_columns.addColumn(CColumn::standardString("icao", { CSimulatedAircraft::IndexIcao, CAircraftIcao::IndexAsString}));
|
this->m_columns.addColumn(CColumn::standardString("icao", { CSimulatedAircraft::IndexIcao, CAircraftIcao::IndexAsString}));
|
||||||
this->m_columns.addColumn(CColumn::standardString("model", { CSimulatedAircraft::IndexModel, CAircraftModel::IndexModelString}));
|
this->m_columns.addColumn(CColumn::standardString("model", { CSimulatedAircraft::IndexModel, CAircraftModel::IndexModelString}));
|
||||||
|
|||||||
@@ -77,7 +77,7 @@ namespace BlackGui
|
|||||||
{
|
{
|
||||||
CAtcStation s(this->selectedObject());
|
CAtcStation s(this->selectedObject());
|
||||||
if (s.getCallsign().isEmpty()) { return; }
|
if (s.getCallsign().isEmpty()) { return; }
|
||||||
emit this->requestTextMessage(s.getCallsign());
|
emit this->requestTextMessageWidget(s.getCallsign());
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ namespace BlackGui
|
|||||||
void requestComFrequency(const BlackMisc::PhysicalQuantities::CFrequency &frequency, BlackMisc::Aviation::CComSystem::ComUnit unit);
|
void requestComFrequency(const BlackMisc::PhysicalQuantities::CFrequency &frequency, BlackMisc::Aviation::CComSystem::ComUnit unit);
|
||||||
|
|
||||||
//! Request a text message to
|
//! Request a text message to
|
||||||
void requestTextMessage(const BlackMisc::Aviation::CCallsign &callsign);
|
void requestTextMessageWidget(const BlackMisc::Aviation::CCallsign &callsign);
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
//! \copydoc CAtcStationListModel::changedAtcStationConnectionStatus
|
//! \copydoc CAtcStationListModel::changedAtcStationConnectionStatus
|
||||||
|
|||||||
@@ -53,19 +53,23 @@ namespace BlackGui
|
|||||||
{
|
{
|
||||||
CSimulatedAircraft aircraft(selectedObject());
|
CSimulatedAircraft aircraft(selectedObject());
|
||||||
if (aircraft.getCallsign().isEmpty()) { return; }
|
if (aircraft.getCallsign().isEmpty()) { return; }
|
||||||
emit requestTextMessage(aircraft.getCallsign());
|
emit requestTextMessageWidget(aircraft.getCallsign());
|
||||||
}
|
}
|
||||||
|
|
||||||
void CSimulatedAircraftView::ps_enableAircraft()
|
void CSimulatedAircraftView::ps_enableAircraft()
|
||||||
{
|
{
|
||||||
CSimulatedAircraft aircraft(selectedObject());
|
CSimulatedAircraft aircraft(selectedObject());
|
||||||
if (aircraft.getCallsign().isEmpty()) { return; }
|
if (aircraft.getCallsign().isEmpty()) { return; }
|
||||||
|
aircraft.setEnabled(!aircraft.isEnabled());
|
||||||
|
emit requestFastPositionUpdates(aircraft);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CSimulatedAircraftView::ps_fastPositionUpdates()
|
void CSimulatedAircraftView::ps_fastPositionUpdates()
|
||||||
{
|
{
|
||||||
CSimulatedAircraft aircraft(selectedObject());
|
CSimulatedAircraft aircraft(selectedObject());
|
||||||
if (aircraft.getCallsign().isEmpty()) { return; }
|
if (aircraft.getCallsign().isEmpty()) { return; }
|
||||||
|
aircraft.setFastPositionUpdates(!aircraft.fastPositionUpdates());
|
||||||
|
emit requestFastPositionUpdates(aircraft);
|
||||||
}
|
}
|
||||||
|
|
||||||
} // ns
|
} // ns
|
||||||
|
|||||||
@@ -34,7 +34,13 @@ namespace BlackGui
|
|||||||
|
|
||||||
signals:
|
signals:
|
||||||
//! Request a text message
|
//! Request a text message
|
||||||
void requestTextMessage(const BlackMisc::Aviation::CCallsign &callsign);
|
void requestTextMessageWidget(const BlackMisc::Aviation::CCallsign &callsign);
|
||||||
|
|
||||||
|
//! Request enable / disable fast position updates
|
||||||
|
void requestFastPositionUpdates(const BlackMisc::Simulation::CSimulatedAircraft &aircraft);
|
||||||
|
|
||||||
|
//! Enable aircraft
|
||||||
|
void requestEnableAircraft(const BlackMisc::Simulation::CSimulatedAircraft &aircraft);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
//! \copydoc CViewBase::customMenu
|
//! \copydoc CViewBase::customMenu
|
||||||
|
|||||||
@@ -79,6 +79,9 @@ namespace BlackMisc
|
|||||||
|
|
||||||
//! Change model string
|
//! Change model string
|
||||||
virtual bool updateAircraftModel(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::Simulation::CAircraftModel &model, const QString &originator) = 0;
|
virtual bool updateAircraftModel(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::Simulation::CAircraftModel &model, const QString &originator) = 0;
|
||||||
|
|
||||||
|
//! Change fast position updates
|
||||||
|
virtual bool updateFastPositionUpdates(const BlackMisc::Aviation::CCallsign &callsign, bool enableFastPositonUpdates, const QString &originator) = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
//! Class which can be directly used providing access to such an interface
|
//! Class which can be directly used providing access to such an interface
|
||||||
|
|||||||
@@ -73,6 +73,14 @@ namespace BlackMisc
|
|||||||
return n > 0;
|
return n > 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool CRemoteAircraftProviderDummy::updateFastPositionUpdates(const CCallsign &callsign, bool enableFastPositionUpdates, const QString &originator)
|
||||||
|
{
|
||||||
|
Q_UNUSED(originator);
|
||||||
|
CPropertyIndexVariantMap vm(CSimulatedAircraft::IndexFastPositionUpdates, CVariant::fromValue(enableFastPositionUpdates));
|
||||||
|
int n = this->m_aircraft.applyIfCallsign(callsign, vm);
|
||||||
|
return n > 0;
|
||||||
|
}
|
||||||
|
|
||||||
void CRemoteAircraftProviderDummy::insertNewSituation(const CAircraftSituation &situation)
|
void CRemoteAircraftProviderDummy::insertNewSituation(const CAircraftSituation &situation)
|
||||||
{
|
{
|
||||||
this->m_situations.push_frontMaxElements(situation, 20);
|
this->m_situations.push_frontMaxElements(situation, 20);
|
||||||
|
|||||||
@@ -62,6 +62,9 @@ namespace BlackMisc
|
|||||||
//! \copydoc IRemoteAircraftProvider::updateAircraftModel
|
//! \copydoc IRemoteAircraftProvider::updateAircraftModel
|
||||||
virtual bool updateAircraftModel(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::Simulation::CAircraftModel &model, const QString &originator) override;
|
virtual bool updateAircraftModel(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::Simulation::CAircraftModel &model, const QString &originator) override;
|
||||||
|
|
||||||
|
//! \copydoc IRemoteAircraftProvider::updateFastPositionUpdates
|
||||||
|
virtual bool updateFastPositionUpdates(const Aviation::CCallsign &callsign, bool enableFastPositionUpdates, const QString &originator) override;
|
||||||
|
|
||||||
//! For testing, add new situation and fire signals
|
//! For testing, add new situation and fire signals
|
||||||
void insertNewSituation(const BlackMisc::Aviation::CAircraftSituation &situation);
|
void insertNewSituation(const BlackMisc::Aviation::CAircraftSituation &situation);
|
||||||
|
|
||||||
|
|||||||
@@ -216,7 +216,7 @@ void SwiftGuiStd::ps_handleTimerBasedUpdates()
|
|||||||
void SwiftGuiStd::setContextAvailability()
|
void SwiftGuiStd::setContextAvailability()
|
||||||
{
|
{
|
||||||
qint64 t = QDateTime::currentMSecsSinceEpoch();
|
qint64 t = QDateTime::currentMSecsSinceEpoch();
|
||||||
this->m_coreAvailable = this->getIContextApplication()->ping(t) == t;
|
this->m_coreAvailable = (this->getIContextApplication()->ping(t) == t);
|
||||||
this->m_contextNetworkAvailable = this->m_coreAvailable || this->getIContextNetwork()->isUsingImplementingObject();
|
this->m_contextNetworkAvailable = this->m_coreAvailable || this->getIContextNetwork()->isUsingImplementingObject();
|
||||||
this->m_contextAudioAvailable = this->m_coreAvailable || this->getIContextAudio()->isUsingImplementingObject();
|
this->m_contextAudioAvailable = this->m_coreAvailable || this->getIContextAudio()->isUsingImplementingObject();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ using namespace BlackMisc::Audio;
|
|||||||
*/
|
*/
|
||||||
bool SwiftGuiStd::ps_reloadOwnAircraft()
|
bool SwiftGuiStd::ps_reloadOwnAircraft()
|
||||||
{
|
{
|
||||||
if (!this->isContextNetworkAvailableCheck()) return false;
|
if (!this->isContextNetworkAvailableCheck()) { return false; }
|
||||||
|
|
||||||
// check for changed aircraft
|
// check for changed aircraft
|
||||||
bool changed = false;
|
bool changed = false;
|
||||||
|
|||||||
@@ -126,9 +126,9 @@ void SwiftGuiStd::init(const CRuntimeConfig &runtimeConfig)
|
|||||||
this->m_init = true;
|
this->m_init = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
/*
|
||||||
// GUI signals
|
* GUI signals
|
||||||
//
|
*/
|
||||||
void SwiftGuiStd::initGuiSignals()
|
void SwiftGuiStd::initGuiSignals()
|
||||||
{
|
{
|
||||||
// Remark: With new style, only methods of same signature can be connected
|
// Remark: With new style, only methods of same signature can be connected
|
||||||
@@ -183,8 +183,9 @@ void SwiftGuiStd::initGuiSignals()
|
|||||||
});
|
});
|
||||||
|
|
||||||
// text messages
|
// text messages
|
||||||
connect(this->ui->comp_MainInfoArea->getAtcStationComponent(), &CAtcStationComponent::requestTextMessage, this->ui->comp_MainInfoArea->getTextMessageComponent(), &CTextMessageComponent::showCorrespondingTab);
|
connect(this->ui->comp_MainInfoArea->getAtcStationComponent(), &CAtcStationComponent::requestTextMessageWidget, this->ui->comp_MainInfoArea->getTextMessageComponent(), &CTextMessageComponent::showCorrespondingTab);
|
||||||
connect(this->ui->comp_MainInfoArea->getMappingComponet(), &CMappingComponent::requestTextMessage, this->ui->comp_MainInfoArea->getTextMessageComponent(), &CTextMessageComponent::showCorrespondingTab);
|
connect(this->ui->comp_MainInfoArea->getMappingComponet(), &CMappingComponent::requestTextMessageWidget, this->ui->comp_MainInfoArea->getTextMessageComponent(), &CTextMessageComponent::showCorrespondingTab);
|
||||||
|
connect(this->ui->comp_MainInfoArea->getAircraftComponent(), &CAircraftComponent::requestTextMessageWidget, this->ui->comp_MainInfoArea->getTextMessageComponent(), &CTextMessageComponent::showCorrespondingTab);
|
||||||
|
|
||||||
// main info area
|
// main info area
|
||||||
connect(this->ui->comp_MainInfoArea, &CMainInfoAreaComponent::changedWholeInfoAreaFloating, this, &SwiftGuiStd::ps_onChangedMainInfoAreaFloating);
|
connect(this->ui->comp_MainInfoArea, &CMainInfoAreaComponent::changedWholeInfoAreaFloating, this, &SwiftGuiStd::ps_onChangedMainInfoAreaFloating);
|
||||||
|
|||||||
Reference in New Issue
Block a user