OpenIndy-Core  0.2.0.43
element.h
Go to the documentation of this file.
1 #ifndef ELEMENT_H
2 #define ELEMENT_H
3 
4 #include <QObject>
5 #include <QtXml>
6 
7 #include "types.h"
8 #include "util.h"
9 
10 namespace oi{
11 
12 class OiJob;
13 
17 class OI_CORE_EXPORT Element : public QObject
18 {
19  friend class OiJob;
20  Q_OBJECT
21 
22 public:
23  explicit Element(QObject *parent = 0);
24 
25  Element(const Element &copy, QObject *parent = 0);
26 
27  Element &operator=(const Element &copy);
28 
29  virtual ~Element();
30 
31  //#############
32  //get or set id
33  //#############
34 
35  int getId() const;
36 
37  //################
38  //save or load XML
39  //################
40 
41  virtual QDomElement toOpenIndyXML(QDomDocument &xmlDoc) const;
42  virtual bool fromOpenIndyXML(QDomElement &xmlElem);
43 
44 signals:
45 
46  //#######################################
47  //signals to inform about element changes
48  //#######################################
49 
50  void elementAboutToBeDeleted(const int &elementId, const QString &name, const QString &group, const FeatureTypes &type);
51 
52 protected:
53  int id;
54 
55 };
56 
57 }
58 
59 #endif // ELEMENT_H
The Element class.
Definition: element.h:17
FeatureTypes
all OpenIndy feature types
Definition: types.h:95
Definition: coordinatesystem.h:15
int id
Definition: element.h:53
#define OI_CORE_EXPORT
Definition: types.h:11
The OiJob class Represents an OpenIndy job (holds all features and active states) ...
Definition: oijob.h:30