mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-03-31 04:25:35 +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 (commandLine.isEmpty()) { return false; }
|
||||
CSimpleCommandParser parser(
|
||||
{
|
||||
".plugin", ".drv", ".driver",
|
||||
});
|
||||
CSimpleCommandParser parser({ ".plugin", ".drv", ".driver" });
|
||||
parser.parse(commandLine);
|
||||
if (!parser.isKnownCommand()) { return false; }
|
||||
|
||||
// .plugin unload
|
||||
if (parser.matchesPart(1, "unload"))
|
||||
{
|
||||
this->unload();
|
||||
return true;
|
||||
}
|
||||
if (parser.matchesPart(1, "unload")) { this->unload(); return true; }
|
||||
|
||||
// .plugin log interpolator
|
||||
const QString part1(parser.part(1).toLower().trimmed());
|
||||
@@ -447,6 +440,17 @@ namespace BlackCore
|
||||
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()
|
||||
{
|
||||
blinkHighlightedAircraft();
|
||||
|
||||
@@ -101,16 +101,7 @@ namespace BlackCore
|
||||
virtual bool parseCommandLine(const QString &commandLine, const BlackMisc::CIdentifier &originator) override;
|
||||
|
||||
//! Register help
|
||||
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)"});
|
||||
}
|
||||
static void registerHelp();
|
||||
|
||||
// --------- 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 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;
|
||||
QList<CommandHtmlHelp> cmds(s_commands);
|
||||
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++)
|
||||
{
|
||||
CommandHtmlHelp help = cmds[i];
|
||||
|
||||
@@ -99,7 +99,7 @@ namespace BlackMisc
|
||||
//! Help already registered
|
||||
static bool registered(const QString &helpContext);
|
||||
|
||||
//! HTML commans HELP
|
||||
//! HTML commands HELP
|
||||
static QString commandsHtmlHelp();
|
||||
|
||||
private:
|
||||
|
||||
@@ -67,6 +67,13 @@ namespace BlackSimPlugin
|
||||
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()
|
||||
{
|
||||
if (this->m_fsuipc) { this->m_fsuipc->disconnect(); }
|
||||
|
||||
@@ -72,12 +72,7 @@ namespace BlackSimPlugin
|
||||
virtual bool parseDetails(const BlackMisc::CSimpleCommandParser &parser) override;
|
||||
|
||||
//! Register help
|
||||
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"});
|
||||
}
|
||||
static void registerHelp();
|
||||
|
||||
QString m_simulatorName; //!< name of simulator
|
||||
QString m_simulatorDetails; //!< describes version etc.
|
||||
|
||||
Reference in New Issue
Block a user