mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-04 16:56:53 +08:00
Allow to display position logs also in the console window
* added requestUiConsoleMessage * utility functions
This commit is contained in:
@@ -118,6 +118,9 @@ namespace BlackCore
|
||||
//! Relevant simulator messages to be explicitly displayed
|
||||
void driverMessages(const BlackMisc::CStatusMessageList &messages);
|
||||
|
||||
//! Request a console message (whatever the console maybe)
|
||||
void requestUiConsoleMessage(const QString &driverMessage, bool clear);
|
||||
|
||||
public slots:
|
||||
//! Simulator info, currently loaded plugin
|
||||
virtual BlackMisc::Simulation::CSimulatorPluginInfo getSimulatorPluginInfo() const = 0;
|
||||
|
||||
@@ -319,6 +319,8 @@ namespace BlackCore
|
||||
Q_ASSERT(c);
|
||||
c = connect(simulator, &ISimulator::driverMessages, this, &IContextSimulator::driverMessages);
|
||||
Q_ASSERT(c);
|
||||
c = connect(simulator, &ISimulator::requestUiConsoleMessage, this, &IContextSimulator::requestUiConsoleMessage);
|
||||
Q_ASSERT(c);
|
||||
|
||||
// log from context to simulator
|
||||
c = connect(CLogHandler::instance(), &CLogHandler::localMessageLogged, this, &CContextSimulator::relayStatusMessageToSimulator);
|
||||
|
||||
@@ -77,6 +77,10 @@ namespace BlackCore
|
||||
s = connection.connect(serviceName, IContextSimulator::ObjectPath(), IContextSimulator::InterfaceName(),
|
||||
"driverMessages", this, SIGNAL(driverMessages(BlackMisc::CStatusMessageList)));
|
||||
|
||||
Q_ASSERT(s);
|
||||
s = connection.connect(serviceName, IContextSimulator::ObjectPath(), IContextSimulator::InterfaceName(),
|
||||
"requestUiConsoleMessage", this, SIGNAL(requestUiConsoleMessage(QString, bool)));
|
||||
|
||||
Q_ASSERT(s);
|
||||
Q_UNUSED(s);
|
||||
this->relayBaseClassSignals(serviceName, connection, IContextSimulator::ObjectPath(), IContextSimulator::InterfaceName());
|
||||
|
||||
@@ -223,6 +223,9 @@ namespace BlackCore
|
||||
//! Relevant simulator messages to be explicitly displayed
|
||||
void driverMessages(const BlackMisc::CStatusMessageList &messages);
|
||||
|
||||
//! Request a console message (whatever the console maybe)
|
||||
void requestUiConsoleMessage(const QString &driverMessage, bool clear);
|
||||
|
||||
protected:
|
||||
//! Default constructor
|
||||
ISimulator(QObject *parent = nullptr);
|
||||
|
||||
@@ -820,7 +820,11 @@ namespace BlackCore
|
||||
QStringLiteral("Situation: ") % s.toQString(false, false, true, true, true, true, sep);
|
||||
}
|
||||
if (p.tsCurrent > 0) { dm += (dm.isEmpty() ? QStringLiteral("") : QStringLiteral("\n\n")) % QStringLiteral("Parts: ") % p.toQString(sep); }
|
||||
if (!dm.isEmpty()) { this->displayStatusMessage(CStatusMessage(this).info(dm)); }
|
||||
if (!dm.isEmpty())
|
||||
{
|
||||
this->displayStatusMessage(CStatusMessage(this).info(dm));
|
||||
emit this->requestUiConsoleMessage(dm, true);
|
||||
}
|
||||
|
||||
const int t = 4500 + (qrand() % 1000); // makes sure not always using the same time difference
|
||||
QTimer::singleShot(t, this, [ = ]
|
||||
|
||||
Reference in New Issue
Block a user