]> git.sven.stormbind.net Git - sven/vym.git/blob - src/slideitem.h
New upstream version 2.9.22
[sven/vym.git] / src / 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   public:
16     SlideItem(const QVector<QVariant> &data, SlideItem *parent = 0,
17               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