Pro přehlednost si shrneme použité API.
app - reprezentace celé aplikace, umožňuje pracovat s konfigurací programu (QDevKit)
refreshApplication() - obslouží čekající zprávy v event loop (volat z Pythonu v případě dlouho trvajícího skriptu pro obnovení GUI)
reloadSettings() - uplatní změny v nastavení
setSettingsValue(QString key, QVariant val) - nastaví hodnotu konfigurace
settingsValue(QString key) - získá hodnotu z konfigurace
deviceMgr - seznam připojených zařízení (QDeviceMgr)
release(QFitKit device)* - uvolní zařízení pro další použití
acquire(int deviceId) - zabere zařízení bez aktivního terminálu
device(int deviceId) - vrátí zařízení pro dané ID
count() - celkový počet zařízení
countFree - počet neobsluhovaných zařízení
countAcquired() - počet obsluhovaných zařízení
mainWindow - hlavní okno, zpřístupňuje dokovací oblast (MainWindow)
showStatus(const QString& msg, int timeout = 0) - zobrazí zprávu ve stavové liště
showInformation(const QString& caption, const QString& msg) - zobrazí zprávu
showQuestion(const QString& caption, const QString& msg) - zobrazí otázku
showError(const QString& caption, const QString& msg) - zobrazí chybovou zprávu
removeFromDock(QDockWidget widget)* - odstraní widget z dokovací oblasti
addToDock(Qt::DockWidgetArea area, QDockWidget widget)* - přidá widget do dokovací oblasti
toolBar() - lišta nástrojů aplikace (ToolBar)
appTree() - seznam aplikací (FkTreeWidget)
tabs() - aktivní terminály (ConnectionTabs)
plugin - plugin (PluginScripted)
signal timeout() - signál vypršení časovače
singleShot(msec) - časovač, který se provede jen jednou
setTimer(msec) - nastaví časovač
jobScheduler() - plánovač úloh na pozadí (JobScheduler)
updateDetails() - obnoví informace o stavu úloh
remove(Job job)* - odstraní úlohu z plánovače
append(Job job)* - přidá novou úlohu do plánovače
tray() - ikona systémové lišty (TrayIcon)
showMessage(const QString& title, const QString& msg, int timeout) - zobrazí zprávu jako upozornění v systémové liště
setToolTip(const QString& msg) - nastaví zprávu jako nápovědu ikony v systémové liště
app() - reprezentace celé aplikace, umožňuje pracovat s konfigurací programu (QDevKit)
refreshApplication() - obslouží čekající zprávy v event loop (volat v případě dlouho trvající akce pro obnovení GUI)
reloadSettings() - uplatní změny v nastavení
setSettingsValue(QString key, QVariant val) - nastaví hodnotu konfigurace
settingsValue(QString key) - získá hodnotu z konfigurace
components() - vyměnitelné komponenty, pro programování FITkitu (Components)
flash() - vrátí interface pro flashování FITkitu
setFlash(FlashInterface iface)* - pro nahrazení interface pro programování FITkitu
deviceMgr() - seznam připojených zařízení (QDeviceMgr)
release(QFitKit device)* - uvolní zařízení pro další použití
acquire(int deviceId) - zablokuje zařízení bez aktivního terminálu
device(int deviceId) - vrátí zařízení pro dané ID
count() - celkový počet zařízení
countFree - počet neobsluhovaných zařízení
countAcquired() - počet obsluhovaných zařízení
mainWindow() - hlavní okno, zpřístupňuje dokovací oblast (MainWindow)
showStatus(const QString& msg, int timeout = 0) - zobrazí zprávu ve stavové liště
showInformation(const QString& caption, const QString& msg) - zobrazí zprávu
showQuestion(const QString& caption, const QString& msg) - zobrazí otázku
showError(const QString& caption, const QString& msg) - zobrazí chybovou zprávu
removeFromDock(QDockWidget widget)* - odstraní widget z dokovací oblasti
addToDock(Qt::DockWidgetArea area, QDockWidget widget)* - přidá widget do dokovací oblasti
toolBar() - lišta nástrojů aplikace (ToolBar)
appTree() - seznam aplikací (FkTreeWidget)
tabs() - aktivní terminály (ConnectionTabs)
pluginMgr() - správce pluginů (PluginMgr)
jobScheduler() - plánovač úloh na pozadí (JobScheduler)
updateDetails() - obnoví informace o stavu úloh
remove(Job job)* - odstraní úlohu z plánovače
append(Job job)* - přidá novou úlohu do plánovače
scriptEngine() - interpret skriptu (ScriptEngine)
registerClass(const QMetaObject obj)* - registruje třídu do skriptovacího jádra
registerObject(const QString& name, QObject obj)* - přidá objekt do skriptovacího jádra jako globální
unload(Script script)* - ukončí skript
eval(const QString& script) - vyhodnotí skript
load(const QString& file, const QString& module = QString()) - nahraje soubor se skriptem (Script)
tray() - ikona systémové lišty (TrayIcon)
showMessage(const QString& title, const QString& msg, int timeout) - zobrazí zprávu jako upozornění v systémové liště
setToolTip(const QString& msg) - nastaví zprávu jako nápovědu ikony v systémové liště
Vytvořili jsme si velmi jednoduchý plugin, který komunikuje se zařízením FITkit i grafickým rozhraním QDevKit.
Možnosti rozšíření jsou téměr neomezené, bohužel celé dostupné API není dokumentováno. Obecně platí, že C++ verze má více možností, především kompletní podporu knihovny Qt .
Předchozí díl: Pluginy pro QDevKit: Komunikace s FITkitem
Zpět na návody