]> git.sesse.net Git - kdenlive/blob - src/kdenlivedoc.h
One undo stack for each project file
[kdenlive] / src / kdenlivedoc.h
1 /***************************************************************************
2                          krender.h  -  description
3                             -------------------
4    begin                : Fri Nov 22 2002
5    copyright            : (C) 2002 by Jason Wood
6    email                : jasonwood@blueyonder.co.uk
7 ***************************************************************************/
8
9 /***************************************************************************
10  *                                                                         *
11  *   This program is free software; you can redistribute it and/or modify  *
12  *   it under the terms of the GNU General Public License as published by  *
13  *   the Free Software Foundation; either version 2 of the License, or     *
14  *   (at your option) any later version.                                   *
15  *                                                                         *
16  ***************************************************************************/
17
18 #ifndef KDENLIVEDOC_H
19 #define KDENLIVEDOC_H
20
21 #include <qdom.h>
22 #include <qstring.h>
23 #include <qmap.h>
24 #include <QList>
25 #include <QObject>
26
27 #include <KUndoStack>
28 #include <kurl.h>
29
30 #include "gentime.h"
31 #include "timecode.h"
32 #include "renderer.h"
33
34 class KdenliveDoc:public QObject {
35   Q_OBJECT public:
36
37     KdenliveDoc(KUrl url, double fps, int width, int height, QWidget *parent = 0);
38     ~KdenliveDoc();
39     QString documentName();
40     QDomNodeList producersList();
41     double fps();
42     int width();
43     int height();
44     void setProducers(QDomElement doc);
45     Timecode timecode();
46     QDomDocument toXml();
47     void setRenderer(Render *render);
48     KUndoStack *commandStack();
49
50   private:
51     KUrl m_url;
52     QDomDocument m_document;
53     QString m_projectName;
54     double m_fps;
55     int m_width;
56     int m_height;
57     Timecode m_timecode;
58     Render *m_render;
59     KUndoStack *m_commandStack;
60     QDomDocument generateSceneList();
61
62   public slots:
63     
64 };
65
66 #endif