QGCToolBox
QGCToolbox继承自QObject。
私有属性
public:
QGCToolboxQGCToolbox(QGCApplication *app);
FirmwarePluginManager *firmwarePluginManager(void){
return _firmwarePluginManager;
}
GAudioOutput * audioOutput(void){
return _audioOutput;
}
private:
void setChildToolboxes(void);
void _scanAndLoadPlugins(QGCApplication *app);
frined class QGCApplication;
QGCTool
class QGCTool:public QObject{
Q_OBJECT
public
//all tools必须继承自QGCToolBox
//经过2个步骤
//1.构造方法中toolbox作为参数传递到QGCTool的构造方法参数
//不能够使用引用传递或者用protected修饰
QGCTool(QGCApplication *app,QGCToolbox* toolbox);
//2.调用setToolbox方法
virtual void setToolbox(QGCToolbox * toolbox);
如果重写了此虚函数,那么必须调用base class
protected:
QGCApplication* _app;
QGCToolbox* _toolbox;
}