diff options
Diffstat (limited to 'src/diagramitem.h')
-rw-r--r-- | src/diagramitem.h | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/diagramitem.h b/src/diagramitem.h index f66a48c..3444f8d 100644 --- a/src/diagramitem.h +++ b/src/diagramitem.h @@ -18,16 +18,41 @@ #define DATABASEMODELITEM_H #include <QGraphicsItem> +#include <QDomDocument> +#include <QDomElement> +#include <QUuid> +class QMimeData; +class DiagramDocument; class DiagramItem : public QObject, public QGraphicsItem { + Q_OBJECT + public: enum { Table = UserType + 1, Relation }; + DiagramDocument *document() const; + + QUuid id() const { return m_id; } + void setId(QUuid id); + void createId(); + DiagramItem(DiagramItem *parent = 0); + + static const char *staticTypeName() { return ""; } + virtual const char *typeName() = 0; + + virtual void loadFromXml(QDomElement element, DiagramDocument *document = 0); + virtual void saveToXml(QDomDocument doc, QDomElement element); + + virtual QMimeData *toMimeData(); + static DiagramItem *fromMimeData(const QMimeData *mimeData); + +public: + QUuid m_id; }; #endif |