Matching script technical details and matching script examples
This document covers some technical details for matching script programmers
Matching script interacting with swift
There are classes, which may be used as objects in Matching script (i.e. JavaScript).
Those classes start with a MS
prefix (matching script).
Those classes can be found in BlackMisc::Simulation
and BlackCore
.
- MSInOutValues
- MSModelSet
- MSWebServices
Using properties
MS class properties as below
//! MSNetworkValues properties @{
Q_PROPERTY(QString callsign READ getCallsign WRITE setCallsign NOTIFY callsignChanged)
Q_PROPERTY(QString callsignAsSet READ getCallsignAsSet)
Q_PROPERTY(QString flightNumber READ getFlightNumber)
Q_PROPERTY(int dbAircraftIcaoId READ getDbAircraftIcaoId WRITE setDbAircraftIcaoId NOTIFY
can be used in matching script as follows
outObject.aircraftIcao = "C172";
outObject.modified = true; // tell we changed something
Some properties are read only, and you can see the type from property definition.
Using functions
Functions of MS classes can be used if they are marked as Q_INVOKABLE
(only those you can invoke from matching script).
//! Functions calling the web services @{
Q_INVOKABLE int countAircraftIcaoCodesForDesignator(const QString &designator) const;
Q_INVOKABLE int countAirlineIcaoCodesForDesignator(const QString &designator) const;
//! @}
or
//! Model string of model with closest color distance
Q_INVOKABLE QString findCombinedTypeWithClosestColorLivery(const QString &combinedType, const QString &rgbColor) const;
Those you can call those as functions in matching script
var mscl = modelSet.findCombinedTypeWithClosestColorLivery(combinedType, white);
Examples
Check out the matchingscript
directory for examples, like \swift-0.9.2-64bit\share\matchingscript
.