mirror of
https://bitbucket.org/librepilot/librepilot.git
synced 2025-02-27 16:54:15 +01:00
GCS/UAVObjectBrowser: Implemented settings save/load actions and created the SettingsPersistence object
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@469 ebee16cc-31ac-478f-84a7-5cbb03baadba
This commit is contained in:
parent
bf792a8058
commit
ad9227d7a4
@ -673,7 +673,7 @@ bool UAVObjectParser::generateGCSObject(int objIndex, const QString& templateInc
|
|||||||
|
|
||||||
}
|
}
|
||||||
enums.append( QString(" } %1Enum;\n")
|
enums.append( QString(" } %1Enum;\n")
|
||||||
.arg( info->fields[n]->name.toUpper() ) );
|
.arg( info->fields[n]->name ) );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
outInclude.replace(QString("$(DATAENUM)"), enums);
|
outInclude.replace(QString("$(DATAENUM)"), enums);
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>400</width>
|
<width>476</width>
|
||||||
<height>300</height>
|
<height>300</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
|
@ -28,6 +28,7 @@
|
|||||||
#include "uavobjecttreemodel.h"
|
#include "uavobjecttreemodel.h"
|
||||||
#include "browseritemdelegate.h"
|
#include "browseritemdelegate.h"
|
||||||
#include "ui_uavobjectbrowser.h"
|
#include "ui_uavobjectbrowser.h"
|
||||||
|
#include "uavobjects/uavobjectmanager.h"
|
||||||
#include <QStringList>
|
#include <QStringList>
|
||||||
#include <QtGui/QHBoxLayout>
|
#include <QtGui/QHBoxLayout>
|
||||||
#include <QtGui/QVBoxLayout>
|
#include <QtGui/QVBoxLayout>
|
||||||
@ -35,6 +36,7 @@
|
|||||||
#include <QtGui/QComboBox>
|
#include <QtGui/QComboBox>
|
||||||
#include <QtCore/QDebug>
|
#include <QtCore/QDebug>
|
||||||
#include <QtGui/QItemEditorFactory>
|
#include <QtGui/QItemEditorFactory>
|
||||||
|
#include "extensionsystem/pluginmanager.h"
|
||||||
|
|
||||||
UAVObjectBrowserWidget::UAVObjectBrowserWidget(QWidget *parent) : QWidget(parent)
|
UAVObjectBrowserWidget::UAVObjectBrowserWidget(QWidget *parent) : QWidget(parent)
|
||||||
{
|
{
|
||||||
@ -50,6 +52,8 @@ UAVObjectBrowserWidget::UAVObjectBrowserWidget(QWidget *parent) : QWidget(parent
|
|||||||
m_browser->treeView->setEditTriggers(QAbstractItemView::AllEditTriggers);
|
m_browser->treeView->setEditTriggers(QAbstractItemView::AllEditTriggers);
|
||||||
connect(m_browser->metaCheckBox, SIGNAL(toggled(bool)), this, SLOT(showMetaData(bool)));
|
connect(m_browser->metaCheckBox, SIGNAL(toggled(bool)), this, SLOT(showMetaData(bool)));
|
||||||
showMetaData(m_browser->metaCheckBox->isChecked());
|
showMetaData(m_browser->metaCheckBox->isChecked());
|
||||||
|
connect(m_browser->saveSDButton, SIGNAL(clicked()), this, SLOT(saveSettings()));
|
||||||
|
connect(m_browser->readSDButton, SIGNAL(clicked()), this, SLOT(readSettings()));
|
||||||
}
|
}
|
||||||
|
|
||||||
UAVObjectBrowserWidget::~UAVObjectBrowserWidget()
|
UAVObjectBrowserWidget::~UAVObjectBrowserWidget()
|
||||||
@ -79,4 +83,27 @@ void UAVObjectBrowserWidget::requestUpdate()
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void UAVObjectBrowserWidget::saveSettings()
|
||||||
|
{
|
||||||
|
updateSettings(SettingsPersistence::OPERATION_SAVE);
|
||||||
|
}
|
||||||
|
|
||||||
|
void UAVObjectBrowserWidget::readSettings()
|
||||||
|
{
|
||||||
|
updateSettings(SettingsPersistence::OPERATION_LOAD);
|
||||||
|
}
|
||||||
|
|
||||||
|
void UAVObjectBrowserWidget::updateSettings(SettingsPersistence::OperationEnum op)
|
||||||
|
{
|
||||||
|
ExtensionSystem::PluginManager *pm = ExtensionSystem::PluginManager::instance();
|
||||||
|
UAVObjectManager *objManager = pm->getObject<UAVObjectManager>();
|
||||||
|
SettingsPersistence* obj = dynamic_cast<SettingsPersistence*>( objManager->getObject(SettingsPersistence::NAME) );
|
||||||
|
if (obj != NULL)
|
||||||
|
{
|
||||||
|
SettingsPersistence::DataFields data;
|
||||||
|
data.Operation = op;
|
||||||
|
obj->setData(data);
|
||||||
|
obj->updated();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@ -30,6 +30,7 @@
|
|||||||
|
|
||||||
#include <QtGui/QWidget>
|
#include <QtGui/QWidget>
|
||||||
#include <QtGui/QTreeView>
|
#include <QtGui/QTreeView>
|
||||||
|
#include "uavobjects/settingspersistence.h"
|
||||||
|
|
||||||
class QPushButton;
|
class QPushButton;
|
||||||
class Ui_UAVObjectBrowser;
|
class Ui_UAVObjectBrowser;
|
||||||
@ -47,6 +48,8 @@ private slots:
|
|||||||
void sendUpdate();
|
void sendUpdate();
|
||||||
void requestUpdate();
|
void requestUpdate();
|
||||||
void showMetaData(bool show);
|
void showMetaData(bool show);
|
||||||
|
void saveSettings();
|
||||||
|
void readSettings();
|
||||||
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
@ -54,6 +57,8 @@ private:
|
|||||||
QPushButton *m_sendUpdate;
|
QPushButton *m_sendUpdate;
|
||||||
Ui_UAVObjectBrowser *m_browser;
|
Ui_UAVObjectBrowser *m_browser;
|
||||||
QAbstractItemModel *m_model;
|
QAbstractItemModel *m_model;
|
||||||
|
|
||||||
|
void updateSettings(SettingsPersistence::OperationEnum op);
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif /* UAVOBJECTBROWSERWIDGET_H_ */
|
#endif /* UAVOBJECTBROWSERWIDGET_H_ */
|
||||||
|
@ -33,8 +33,10 @@
|
|||||||
|
|
||||||
#include "uavdataobject.h"
|
#include "uavdataobject.h"
|
||||||
|
|
||||||
class ExampleObject1: public UAVDataObject
|
class UAVOBJECTS_EXPORT ExampleObject1: public UAVDataObject
|
||||||
{
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
// Field structure
|
// Field structure
|
||||||
typedef struct {
|
typedef struct {
|
||||||
@ -50,7 +52,7 @@ public:
|
|||||||
} __attribute__((packed)) DataFields;
|
} __attribute__((packed)) DataFields;
|
||||||
|
|
||||||
// Enumeration types
|
// Enumeration types
|
||||||
typedef enum { FIELD8_OPTION1=0, FIELD8_OPTION2=1, } FIELD8Enum;
|
typedef enum { FIELD8_OPTION1=0, FIELD8_OPTION2=1, } Field8Enum;
|
||||||
|
|
||||||
|
|
||||||
// Constants
|
// Constants
|
||||||
|
@ -33,8 +33,10 @@
|
|||||||
|
|
||||||
#include "uavdataobject.h"
|
#include "uavdataobject.h"
|
||||||
|
|
||||||
class ExampleObject2: public UAVDataObject
|
class UAVOBJECTS_EXPORT ExampleObject2: public UAVDataObject
|
||||||
{
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
// Field structure
|
// Field structure
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
@ -33,8 +33,10 @@
|
|||||||
|
|
||||||
#include "uavdataobject.h"
|
#include "uavdataobject.h"
|
||||||
|
|
||||||
class ExampleSettings: public UAVDataObject
|
class UAVOBJECTS_EXPORT ExampleSettings: public UAVDataObject
|
||||||
{
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
// Field structure
|
// Field structure
|
||||||
typedef struct {
|
typedef struct {
|
||||||
@ -45,7 +47,7 @@ public:
|
|||||||
} __attribute__((packed)) DataFields;
|
} __attribute__((packed)) DataFields;
|
||||||
|
|
||||||
// Enumeration types
|
// Enumeration types
|
||||||
typedef enum { STEPDIRECTION_UP=0, STEPDIRECTION_DOWN=1, } STEPDIRECTIONEnum;
|
typedef enum { STEPDIRECTION_UP=0, STEPDIRECTION_DOWN=1, } StepDirectionEnum;
|
||||||
|
|
||||||
|
|
||||||
// Constants
|
// Constants
|
||||||
|
82
ground/src/plugins/uavobjects/settingspersistence.cpp
Normal file
82
ground/src/plugins/uavobjects/settingspersistence.cpp
Normal file
@ -0,0 +1,82 @@
|
|||||||
|
/**
|
||||||
|
******************************************************************************
|
||||||
|
*
|
||||||
|
* @file settingspersistence.cpp
|
||||||
|
* @author The OpenPilot Team, http://www.openpilot.org Copyright (C) 2010.
|
||||||
|
* @brief Implementation of the SettingsPersistence object. This file has been
|
||||||
|
* automatically generated by the UAVObjectGenerator.
|
||||||
|
*
|
||||||
|
* @note Object definition file: settingspersistence.xml.
|
||||||
|
* This is an automatically generated file.
|
||||||
|
* DO NOT modify manually.
|
||||||
|
*
|
||||||
|
* @see The GNU Public License (GPL) Version 3
|
||||||
|
*
|
||||||
|
*****************************************************************************/
|
||||||
|
/*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful, but
|
||||||
|
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
||||||
|
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
|
* for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License along
|
||||||
|
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
*/
|
||||||
|
#include "settingspersistence.h"
|
||||||
|
#include "uavobjectfields.h"
|
||||||
|
|
||||||
|
const QString SettingsPersistence::NAME = QString("SettingsPersistence");
|
||||||
|
|
||||||
|
SettingsPersistence::SettingsPersistence(): UAVDataObject(OBJID, ISSINGLEINST, ISSETTINGS, NAME)
|
||||||
|
{
|
||||||
|
// Create fields
|
||||||
|
QList<UAVObjectField*> fields;
|
||||||
|
QStringList OperationEnumOptions;
|
||||||
|
OperationEnumOptions.append("Load");
|
||||||
|
OperationEnumOptions.append("Save");
|
||||||
|
fields.append(new UAVObjectFieldEnum(QString("Operation"), QString(""), 1, OperationEnumOptions));
|
||||||
|
|
||||||
|
// Initialize object
|
||||||
|
initializeFields(fields, (quint8*)&data, NUMBYTES);
|
||||||
|
}
|
||||||
|
|
||||||
|
UAVObject::Metadata SettingsPersistence::getDefaultMetadata()
|
||||||
|
{
|
||||||
|
UAVObject::Metadata metadata;
|
||||||
|
metadata.gcsTelemetryAcked = 1;
|
||||||
|
metadata.gcsTelemetryUpdateMode = UAVObject::UPDATEMODE_MANUAL;
|
||||||
|
metadata.gcsTelemetryUpdatePeriod = 0;
|
||||||
|
metadata.flightTelemetryAcked = 1;
|
||||||
|
metadata.flightTelemetryUpdateMode = UAVObject::UPDATEMODE_MANUAL;
|
||||||
|
metadata.flightTelemetryUpdatePeriod = 0;
|
||||||
|
metadata.loggingUpdateMode = UAVObject::UPDATEMODE_NEVER;
|
||||||
|
metadata.loggingUpdatePeriod = 0;
|
||||||
|
return metadata;
|
||||||
|
}
|
||||||
|
|
||||||
|
SettingsPersistence::DataFields SettingsPersistence::getData()
|
||||||
|
{
|
||||||
|
QMutexLocker locker(mutex);
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
|
||||||
|
void SettingsPersistence::setData(DataFields& data)
|
||||||
|
{
|
||||||
|
QMutexLocker locker(mutex);
|
||||||
|
this->data = data;
|
||||||
|
emit objectUpdatedAuto(this); // trigger object updated event
|
||||||
|
emit objectUpdated(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
UAVDataObject* SettingsPersistence::clone(quint32 instID)
|
||||||
|
{
|
||||||
|
SettingsPersistence* obj = new SettingsPersistence();
|
||||||
|
obj->initialize(instID, this->getMetaObject());
|
||||||
|
return obj;
|
||||||
|
}
|
71
ground/src/plugins/uavobjects/settingspersistence.h
Normal file
71
ground/src/plugins/uavobjects/settingspersistence.h
Normal file
@ -0,0 +1,71 @@
|
|||||||
|
/**
|
||||||
|
******************************************************************************
|
||||||
|
*
|
||||||
|
* @file settingspersistence.h
|
||||||
|
* @author The OpenPilot Team, http://www.openpilot.org Copyright (C) 2010.
|
||||||
|
* @brief Implementation of the SettingsPersistence object. This file has been
|
||||||
|
* automatically generated by the UAVObjectGenerator.
|
||||||
|
*
|
||||||
|
* @note Object definition file: settingspersistence.xml.
|
||||||
|
* This is an automatically generated file.
|
||||||
|
* DO NOT modify manually.
|
||||||
|
*
|
||||||
|
* @see The GNU Public License (GPL) Version 3
|
||||||
|
*
|
||||||
|
*****************************************************************************/
|
||||||
|
/*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful, but
|
||||||
|
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
||||||
|
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
|
* for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License along
|
||||||
|
* with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
*/
|
||||||
|
#ifndef SETTINGSPERSISTENCE_H
|
||||||
|
#define SETTINGSPERSISTENCE_H
|
||||||
|
|
||||||
|
#include "uavdataobject.h"
|
||||||
|
|
||||||
|
class UAVOBJECTS_EXPORT SettingsPersistence: public UAVDataObject
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
|
||||||
|
public:
|
||||||
|
// Field structure
|
||||||
|
typedef struct {
|
||||||
|
quint8 Operation;
|
||||||
|
|
||||||
|
} __attribute__((packed)) DataFields;
|
||||||
|
|
||||||
|
// Enumeration types
|
||||||
|
typedef enum { OPERATION_LOAD=0, OPERATION_SAVE=1, } OperationEnum;
|
||||||
|
|
||||||
|
|
||||||
|
// Constants
|
||||||
|
static const quint32 OBJID = 3652432370U;
|
||||||
|
static const QString NAME;
|
||||||
|
static const bool ISSINGLEINST = 1;
|
||||||
|
static const bool ISSETTINGS = 0;
|
||||||
|
static const quint32 NUMBYTES = sizeof(DataFields);
|
||||||
|
|
||||||
|
// Functions
|
||||||
|
SettingsPersistence();
|
||||||
|
|
||||||
|
DataFields getData();
|
||||||
|
void setData(DataFields& data);
|
||||||
|
Metadata getDefaultMetadata();
|
||||||
|
UAVDataObject* clone(quint32 instID);
|
||||||
|
|
||||||
|
private:
|
||||||
|
DataFields data;
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // SETTINGSPERSISTENCE_H
|
@ -220,7 +220,7 @@ QList <QList<UAVMetaObject*> > UAVObjectManager::getMetaObjects()
|
|||||||
* Get a specific object given its name and instance ID
|
* Get a specific object given its name and instance ID
|
||||||
* @returns The object is found or NULL if not
|
* @returns The object is found or NULL if not
|
||||||
*/
|
*/
|
||||||
UAVObject* UAVObjectManager::getObject(QString& name, quint32 instId)
|
UAVObject* UAVObjectManager::getObject(const QString& name, quint32 instId)
|
||||||
{
|
{
|
||||||
return getObject(&name, 0, instId);
|
return getObject(&name, 0, instId);
|
||||||
}
|
}
|
||||||
@ -237,7 +237,7 @@ UAVObject* UAVObjectManager::getObject(quint32 objId, quint32 instId)
|
|||||||
/**
|
/**
|
||||||
* Helper function for the public getObject() functions.
|
* Helper function for the public getObject() functions.
|
||||||
*/
|
*/
|
||||||
UAVObject* UAVObjectManager::getObject(QString* name, quint32 objId, quint32 instId)
|
UAVObject* UAVObjectManager::getObject(const QString* name, quint32 objId, quint32 instId)
|
||||||
{
|
{
|
||||||
QMutexLocker locker(mutex);
|
QMutexLocker locker(mutex);
|
||||||
// Check if this object type is already in the list
|
// Check if this object type is already in the list
|
||||||
@ -266,7 +266,7 @@ UAVObject* UAVObjectManager::getObject(QString* name, quint32 objId, quint32 ins
|
|||||||
/**
|
/**
|
||||||
* Get all the instances of the object specified by name
|
* Get all the instances of the object specified by name
|
||||||
*/
|
*/
|
||||||
QList<UAVObject*> UAVObjectManager::getObjectInstances(QString& name)
|
QList<UAVObject*> UAVObjectManager::getObjectInstances(const QString& name)
|
||||||
{
|
{
|
||||||
return getObjectInstances(&name, 0);
|
return getObjectInstances(&name, 0);
|
||||||
}
|
}
|
||||||
@ -282,7 +282,7 @@ QList<UAVObject*> UAVObjectManager::getObjectInstances(quint32 objId)
|
|||||||
/**
|
/**
|
||||||
* Helper function for the public getObjectInstances()
|
* Helper function for the public getObjectInstances()
|
||||||
*/
|
*/
|
||||||
QList<UAVObject*> UAVObjectManager::getObjectInstances(QString* name, quint32 objId)
|
QList<UAVObject*> UAVObjectManager::getObjectInstances(const QString* name, quint32 objId)
|
||||||
{
|
{
|
||||||
QMutexLocker locker(mutex);
|
QMutexLocker locker(mutex);
|
||||||
// Check if this object type is already in the list
|
// Check if this object type is already in the list
|
||||||
@ -304,7 +304,7 @@ QList<UAVObject*> UAVObjectManager::getObjectInstances(QString* name, quint32 ob
|
|||||||
/**
|
/**
|
||||||
* Get the number of instances for an object given its name
|
* Get the number of instances for an object given its name
|
||||||
*/
|
*/
|
||||||
qint32 UAVObjectManager::getNumInstances(QString& name)
|
qint32 UAVObjectManager::getNumInstances(const QString& name)
|
||||||
{
|
{
|
||||||
return getNumInstances(&name, 0);
|
return getNumInstances(&name, 0);
|
||||||
}
|
}
|
||||||
@ -320,7 +320,7 @@ qint32 UAVObjectManager::getNumInstances(quint32 objId)
|
|||||||
/**
|
/**
|
||||||
* Helper function for public getNumInstances
|
* Helper function for public getNumInstances
|
||||||
*/
|
*/
|
||||||
qint32 UAVObjectManager::getNumInstances(QString* name, quint32 objId)
|
qint32 UAVObjectManager::getNumInstances(const QString* name, quint32 objId)
|
||||||
{
|
{
|
||||||
QMutexLocker locker(mutex);
|
QMutexLocker locker(mutex);
|
||||||
// Check if this object type is already in the list
|
// Check if this object type is already in the list
|
||||||
|
@ -48,11 +48,11 @@ public:
|
|||||||
QList< QList<UAVObject*> > getObjects();
|
QList< QList<UAVObject*> > getObjects();
|
||||||
QList< QList<UAVDataObject*> > getDataObjects();
|
QList< QList<UAVDataObject*> > getDataObjects();
|
||||||
QList< QList<UAVMetaObject*> > getMetaObjects();
|
QList< QList<UAVMetaObject*> > getMetaObjects();
|
||||||
UAVObject* getObject(QString& name, quint32 instId = 0);
|
UAVObject* getObject(const QString& name, quint32 instId = 0);
|
||||||
UAVObject* getObject(quint32 objId, quint32 instId = 0);
|
UAVObject* getObject(quint32 objId, quint32 instId = 0);
|
||||||
QList<UAVObject*> getObjectInstances(QString& name);
|
QList<UAVObject*> getObjectInstances(const QString& name);
|
||||||
QList<UAVObject*> getObjectInstances(quint32 objId);
|
QList<UAVObject*> getObjectInstances(quint32 objId);
|
||||||
qint32 getNumInstances(QString& name);
|
qint32 getNumInstances(const QString& name);
|
||||||
qint32 getNumInstances(quint32 objId);
|
qint32 getNumInstances(quint32 objId);
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
@ -66,9 +66,9 @@ private:
|
|||||||
QMutex* mutex;
|
QMutex* mutex;
|
||||||
|
|
||||||
void addObject(UAVObject* obj);
|
void addObject(UAVObject* obj);
|
||||||
UAVObject* getObject(QString* name, quint32 objId, quint32 instId);
|
UAVObject* getObject(const QString* name, quint32 objId, quint32 instId);
|
||||||
QList<UAVObject*> getObjectInstances(QString* name, quint32 objId);
|
QList<UAVObject*> getObjectInstances(const QString* name, quint32 objId);
|
||||||
qint32 getNumInstances(QString* name, quint32 objId);
|
qint32 getNumInstances(const QString* name, quint32 objId);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@ -22,7 +22,8 @@ HEADERS += uavobjects_global.h \
|
|||||||
uavobjectfielduint8.h \
|
uavobjectfielduint8.h \
|
||||||
uavobjectfielduint16.h \
|
uavobjectfielduint16.h \
|
||||||
uavobjectfielduint32.h \
|
uavobjectfielduint32.h \
|
||||||
uavobjectfields.h
|
uavobjectfields.h \
|
||||||
|
settingspersistence.h
|
||||||
SOURCES += uavobject.cpp \
|
SOURCES += uavobject.cpp \
|
||||||
uavmetaobject.cpp \
|
uavmetaobject.cpp \
|
||||||
uavobjectmanager.cpp \
|
uavobjectmanager.cpp \
|
||||||
@ -41,6 +42,7 @@ SOURCES += uavobject.cpp \
|
|||||||
uavobjectfieldfloat.cpp \
|
uavobjectfieldfloat.cpp \
|
||||||
uavobjectfielduint8.cpp \
|
uavobjectfielduint8.cpp \
|
||||||
uavobjectfielduint16.cpp \
|
uavobjectfielduint16.cpp \
|
||||||
uavobjectfielduint32.cpp
|
uavobjectfielduint32.cpp \
|
||||||
|
settingspersistence.cpp
|
||||||
DEFINES += UAVOBJECTS_LIBRARY
|
DEFINES += UAVOBJECTS_LIBRARY
|
||||||
OTHER_FILES += UAVObjects.pluginspec
|
OTHER_FILES += UAVObjects.pluginspec
|
||||||
|
@ -33,6 +33,7 @@
|
|||||||
#include "exampleobject1.h"
|
#include "exampleobject1.h"
|
||||||
#include "exampleobject2.h"
|
#include "exampleobject2.h"
|
||||||
#include "examplesettings.h"
|
#include "examplesettings.h"
|
||||||
|
#include "settingspersistence.h"
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -44,5 +45,6 @@ void UAVObjectsInitialize(UAVObjectManager* objMngr)
|
|||||||
objMngr->registerObject( new ExampleObject1() );
|
objMngr->registerObject( new ExampleObject1() );
|
||||||
objMngr->registerObject( new ExampleObject2() );
|
objMngr->registerObject( new ExampleObject2() );
|
||||||
objMngr->registerObject( new ExampleSettings() );
|
objMngr->registerObject( new ExampleSettings() );
|
||||||
|
objMngr->registerObject( new SettingsPersistence() );
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -33,8 +33,10 @@
|
|||||||
|
|
||||||
#include "uavdataobject.h"
|
#include "uavdataobject.h"
|
||||||
|
|
||||||
class $(NAME): public UAVDataObject
|
class UAVOBJECTS_EXPORT $(NAME): public UAVDataObject
|
||||||
{
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
// Field structure
|
// Field structure
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
@ -0,0 +1,8 @@
|
|||||||
|
<xml>
|
||||||
|
<object name="SettingsPersistence" singleinstance="true" settings="false">
|
||||||
|
<field name="Operation" units="" type="enum" elements="1" options="Load,Save"/>
|
||||||
|
<telemetrygcs acked="true" updatemode="manual" period="0"/>
|
||||||
|
<telemetryflight acked="true" updatemode="manual" period="0"/>
|
||||||
|
<logging updatemode="never" period="0"/>
|
||||||
|
</object>
|
||||||
|
</xml>
|
Loading…
x
Reference in New Issue
Block a user