source: flair-src/trunk/tools/FlairGCS/src/XmlWidget.h@ 395

Last change on this file since 395 was 269, checked in by Sanahuja Guillaume, 6 years ago

flairgcs:
speed up processing time when receiving datas from uav
triger watchdog while receiving datas from uav
(avoids connection lost in uav)

File size: 2.3 KB
RevLine 
[10]1// %flair:license{
[15]2// This file is part of the Flair framework distributed under the
3// CECILL-C License, Version 1.0.
[10]4// %flair:license}
[9]5#ifndef XMLWIDGET_H
6#define XMLWIDGET_H
7
8#include <QObject>
9#include <stdint.h>
10#include <qdom.h>
11#include <QPalette>
12
13class QWidget;
14class ConnectionLayout;
15
[15]16class XmlWidget : public QObject {
17 Q_OBJECT
[9]18
[15]19public:
20 XmlWidget(QString name, QString type, XmlWidget *parent);
21 ~XmlWidget();
22 QDomDocument XmlDoc(void);
[269]23 void ParseXml(QDomElement *to_parse);
[15]24 void GetFullXml(QDomElement *doc);
25 void GetUpdateXml(QDomElement *doc);
26 void ResetAllChilds(void);
27 virtual bool IsUptodate(void) { return true; };
[269]28 void LoadXml(QDomElement *to_parse);
[15]29 void RenamedFrom(QString old_name);
30 QString Name(void);
[9]31
[15]32private:
33 QDomDocument document;
34 QDomElement write_elem;
35 XmlWidget *GetXmlWidget(QString name, QString type);
36 static void merge(QDomElement *from, QDomElement *into);
37 bool isExpandable; // true if we can receive extra frame for this widget (ex
38 // combobox, plots, layout)
[16]39 bool isContainer; // true if it can contain other widget (ex layout),
40 // isExpandable is also true in this case
[15]41 virtual void SetUptodate(void){};
42 virtual void Reset(void){};
43 XmlWidget *parent_widget;
[9]44
[15]45protected:
46 QList<XmlWidget *> *childs;
47 ConnectionLayout *connectionLayout(void);
48 QWidget *visible_widget;
49 QPalette red_pal, red_pal_greyed;
50 QPalette black_pal, black_pal_greyed;
51 void SetIsContainer(bool status);
52 void SetIsExpandable(bool status);
[269]53 virtual void XmlEvent(QDomElement *dom){};
54 virtual void LoadEvent(QDomElement *dom){};
[15]55 QDomElement *AddXmlChild(QString type);
56 void RemoveXmlChild(QDomElement *element);
57 void ClearDoc(void);
58 void SetValue(QString value);
59 void SetAttribute(const QString &name, const QString &value);
60 void SetAttribute(const QString &name, qlonglong value);
61 void SetAttribute(const QString &name, qulonglong value);
62 inline void SetAttribute(const QString &name, int value) {
63 SetAttribute(name, qlonglong(value));
64 }
65 inline void SetAttribute(const QString &name, uint value) {
66 SetAttribute(name, qulonglong(value));
67 }
68 void SetAttribute(const QString &name, float value);
69 void SetAttribute(const QString &name, double value);
[67]70 void RemoveAllAttributes(); //except name
[15]71 void RemoveAttribute(const QString &name);
[9]72};
73
74#endif // XMLWIDGET_H
Note: See TracBrowser for help on using the repository browser.