]> git.sven.stormbind.net Git - sven/vym.git/blob - slideitem.h
5c31caaa49070b9331e66960162c535ca380b010
[sven/vym.git] / slideitem.h
1 #ifndef SLIDEITEM_H
2 #define SLIDEITEM_H
3
4 #include <QEasingCurve>
5 #include <QList>
6 #include <QVariant>
7 #include <QVector>
8
9 #include "xmlobj.h"
10
11 class TreeItem;
12 class SlideModel;
13
14 class SlideItem : public XMLObj 
15 {
16 public:
17     SlideItem(const QVector<QVariant> &data, SlideItem *parent = 0, SlideModel *sm = 0 );
18     ~SlideItem();
19     SlideModel* getModel(); 
20     uint getID();
21     SlideItem *child(int number);
22     int childCount() const;
23     int columnCount() const;
24     QVariant data(int column) const;
25     int row() const;
26     void insertItem (int pos, SlideItem *si);
27     void removeItem (int pos);
28     bool insertChildren(int position, int count, int columns);
29     bool insertColumns(int position, int columns);
30     SlideItem* parent();
31     bool removeChildren(int position, int count);
32     bool removeColumns(int position, int columns);
33     int childNumber() const;
34     bool setData(int column, const QVariant &value);
35     void setName (const QString &n);
36     QString getName ();
37     void setTreeItem (TreeItem *ti);
38     int getTreeItemID();
39     void setInScript (const QString &);
40     QString getInScript ();
41     void setOutScript (const QString &);
42     QString getOutScript ();
43     void setZoomFactor(const qreal &);
44     qreal getZoomFactor ();
45     void setRotationAngle(const qreal &);
46     qreal getRotationAngle ();
47     void setDuration (const int &);
48     int getDuration();
49     void setEasingCurve (const QEasingCurve &);
50     QEasingCurve getEasingCurve();
51     QString saveToDir();
52
53 private:
54     SlideModel *model;
55     QList<SlideItem*> childItems;
56     QVector<QVariant> itemData;
57     SlideItem *parentItem;
58
59     static uint idLastSlide;    //! Last used unique ID for slide
60     uint slideID;
61
62     QString inScript;
63     QString outScript;
64
65     int treeItemID;
66     qreal zoomFactor;
67     qreal rotationAngle;
68     int duration;
69     QEasingCurve easingCurve;
70 };
71
72 #endif