summaryrefslogtreecommitdiff
path: root/src/diagramitem.h
diff options
context:
space:
mode:
authorLukáš Lalinský <lalinsky@gmail.com>2008-12-07 17:52:36 +0100
committerLukáš Lalinský <lalinsky@gmail.com>2008-12-07 17:52:36 +0100
commit0092b62413fa6a5727530f0eb5c5044a322870d3 (patch)
tree78939cf9c2c03988ae05408f238bf5658a4002c7 /src/diagramitem.h
parent6b42618de7c3be2681ad4e49eb412e56b700d59e (diff)
downloaddbmodel-0092b62413fa6a5727530f0eb5c5044a322870d3.tar.xz
Refactored XML processing, improved copy&paste, new file format
Diffstat (limited to 'src/diagramitem.h')
-rw-r--r--src/diagramitem.h25
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