mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-26 10:45:37 +08:00
Ref T111, improved dot commands (e.g. ".drv") handling
* register help implementation to .cpp file * tooltip HTML formatting
This commit is contained in:
committed by
Mathew Sutcliffe
parent
52805965cd
commit
d597dcec15
@@ -371,19 +371,12 @@ namespace BlackCore
|
|||||||
{
|
{
|
||||||
if (this->isMyIdentifier(originator)) { return false; }
|
if (this->isMyIdentifier(originator)) { return false; }
|
||||||
if (commandLine.isEmpty()) { return false; }
|
if (commandLine.isEmpty()) { return false; }
|
||||||
CSimpleCommandParser parser(
|
CSimpleCommandParser parser({ ".plugin", ".drv", ".driver" });
|
||||||
{
|
|
||||||
".plugin", ".drv", ".driver",
|
|
||||||
});
|
|
||||||
parser.parse(commandLine);
|
parser.parse(commandLine);
|
||||||
if (!parser.isKnownCommand()) { return false; }
|
if (!parser.isKnownCommand()) { return false; }
|
||||||
|
|
||||||
// .plugin unload
|
// .plugin unload
|
||||||
if (parser.matchesPart(1, "unload"))
|
if (parser.matchesPart(1, "unload")) { this->unload(); return true; }
|
||||||
{
|
|
||||||
this->unload();
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
// .plugin log interpolator
|
// .plugin log interpolator
|
||||||
const QString part1(parser.part(1).toLower().trimmed());
|
const QString part1(parser.part(1).toLower().trimmed());
|
||||||
@@ -447,6 +440,17 @@ namespace BlackCore
|
|||||||
return this->parseDetails(parser);
|
return this->parseDetails(parser);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void CSimulatorCommon::registerHelp()
|
||||||
|
{
|
||||||
|
if (BlackMisc::CSimpleCommandParser::registered("BlackCore::CSimulatorCommon")) { return; }
|
||||||
|
BlackMisc::CSimpleCommandParser::registerCommand({".drv", "alias: .driver .plugin"});
|
||||||
|
BlackMisc::CSimpleCommandParser::registerCommand({".drv logint callsign", "log interpolator for callsign"});
|
||||||
|
BlackMisc::CSimpleCommandParser::registerCommand({".drv logint off", "no log information for interpolator"});
|
||||||
|
BlackMisc::CSimpleCommandParser::registerCommand({".drv logint write", "write interpolator log to file"});
|
||||||
|
BlackMisc::CSimpleCommandParser::registerCommand({".drv logint clear", "clear current log"});
|
||||||
|
BlackMisc::CSimpleCommandParser::registerCommand({".drv spline|linear <callsign>", "set spline/linear interpolator for one/all callsign(s)"});
|
||||||
|
}
|
||||||
|
|
||||||
void CSimulatorCommon::ps_oneSecondTimer()
|
void CSimulatorCommon::ps_oneSecondTimer()
|
||||||
{
|
{
|
||||||
blinkHighlightedAircraft();
|
blinkHighlightedAircraft();
|
||||||
|
|||||||
@@ -101,16 +101,7 @@ namespace BlackCore
|
|||||||
virtual bool parseCommandLine(const QString &commandLine, const BlackMisc::CIdentifier &originator) override;
|
virtual bool parseCommandLine(const QString &commandLine, const BlackMisc::CIdentifier &originator) override;
|
||||||
|
|
||||||
//! Register help
|
//! Register help
|
||||||
static void registerHelp()
|
static void registerHelp();
|
||||||
{
|
|
||||||
if (BlackMisc::CSimpleCommandParser::registered("BlackCore::CSimulatorCommon")) { return; }
|
|
||||||
BlackMisc::CSimpleCommandParser::registerCommand({".drv", "alias: .driver .plugin"});
|
|
||||||
BlackMisc::CSimpleCommandParser::registerCommand({".drv logint callsign", "log interpolator for callsign"});
|
|
||||||
BlackMisc::CSimpleCommandParser::registerCommand({".drv logint off", "no log information for interpolator"});
|
|
||||||
BlackMisc::CSimpleCommandParser::registerCommand({".drv logint write", "write interpolator log to file"});
|
|
||||||
BlackMisc::CSimpleCommandParser::registerCommand({".drv logint clear", "clear current log"});
|
|
||||||
BlackMisc::CSimpleCommandParser::registerCommand({".drv spline|linear <callsign>", "set spline/linear interpolator for one/all callsign(s)"});
|
|
||||||
}
|
|
||||||
|
|
||||||
// --------- ISimulator implementations ------------
|
// --------- ISimulator implementations ------------
|
||||||
|
|
||||||
|
|||||||
@@ -157,10 +157,17 @@ namespace BlackMisc
|
|||||||
|
|
||||||
static const QString html("<table style=\"font-size: 8pt; white-space: nowrap;\">\n%1\n</table>");
|
static const QString html("<table style=\"font-size: 8pt; white-space: nowrap;\">\n%1\n</table>");
|
||||||
static const QString row("<td>%1</td><td>%2</td>");
|
static const QString row("<td>%1</td><td>%2</td>");
|
||||||
|
static const QString rowHeader("<th>%1</th><th>%2</th><th>%3</th><th>%4</th>");
|
||||||
|
|
||||||
QString rows;
|
QString rows;
|
||||||
QList<CommandHtmlHelp> cmds(s_commands);
|
QList<CommandHtmlHelp> cmds(s_commands);
|
||||||
qSort(cmds.begin(), cmds.end(), CommandHtmlHelp::less);
|
qSort(cmds.begin(), cmds.end(), CommandHtmlHelp::less);
|
||||||
|
|
||||||
|
static const QString cmdCol(QString().fill('-', 20));
|
||||||
|
static const QString textCol(QString().fill('-', 40));
|
||||||
|
rows += "<tr>" + rowHeader.arg("command", "synopsis", "command", "synopsis") + "</tr>\n";
|
||||||
|
rows += "<tr>" + rowHeader.arg(cmdCol, textCol, cmdCol, textCol) + "</tr>\n";
|
||||||
|
|
||||||
for (int i = 0; i < cmds.size(); i++)
|
for (int i = 0; i < cmds.size(); i++)
|
||||||
{
|
{
|
||||||
CommandHtmlHelp help = cmds[i];
|
CommandHtmlHelp help = cmds[i];
|
||||||
|
|||||||
@@ -99,7 +99,7 @@ namespace BlackMisc
|
|||||||
//! Help already registered
|
//! Help already registered
|
||||||
static bool registered(const QString &helpContext);
|
static bool registered(const QString &helpContext);
|
||||||
|
|
||||||
//! HTML commans HELP
|
//! HTML commands HELP
|
||||||
static QString commandsHtmlHelp();
|
static QString commandsHtmlHelp();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|||||||
@@ -67,6 +67,13 @@ namespace BlackSimPlugin
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void CSimulatorFsCommon::registerHelp()
|
||||||
|
{
|
||||||
|
if (BlackMisc::CSimpleCommandParser::registered("BlackSimPlugin::FsCommon::CSimulatorFsCommon")) { return; }
|
||||||
|
BlackMisc::CSimpleCommandParser::registerCommand({".drv", "alias: .driver .plugin"});
|
||||||
|
BlackMisc::CSimpleCommandParser::registerCommand({".drv fsuipc on|off", "FSUIPC on|off if applicable"});
|
||||||
|
}
|
||||||
|
|
||||||
bool CSimulatorFsCommon::disconnectFrom()
|
bool CSimulatorFsCommon::disconnectFrom()
|
||||||
{
|
{
|
||||||
if (this->m_fsuipc) { this->m_fsuipc->disconnect(); }
|
if (this->m_fsuipc) { this->m_fsuipc->disconnect(); }
|
||||||
|
|||||||
@@ -72,12 +72,7 @@ namespace BlackSimPlugin
|
|||||||
virtual bool parseDetails(const BlackMisc::CSimpleCommandParser &parser) override;
|
virtual bool parseDetails(const BlackMisc::CSimpleCommandParser &parser) override;
|
||||||
|
|
||||||
//! Register help
|
//! Register help
|
||||||
static void registerHelp()
|
static void registerHelp();
|
||||||
{
|
|
||||||
if (BlackMisc::CSimpleCommandParser::registered("BlackSimPlugin::FsCommon::CSimulatorFsCommon")) { return; }
|
|
||||||
BlackMisc::CSimpleCommandParser::registerCommand({".drv", "alias: .driver .plugin"});
|
|
||||||
BlackMisc::CSimpleCommandParser::registerCommand({".drv fsuipc on|off", "FSUIPC on|off if applicable"});
|
|
||||||
}
|
|
||||||
|
|
||||||
QString m_simulatorName; //!< name of simulator
|
QString m_simulatorName; //!< name of simulator
|
||||||
QString m_simulatorDetails; //!< describes version etc.
|
QString m_simulatorDetails; //!< describes version etc.
|
||||||
|
|||||||
Reference in New Issue
Block a user