1
/***************************************************************************
4
Description : Represents a SciDAVis project.
5
--------------------------------------------------------------------
6
Copyright : (C) 2007 Tilman Benkert (thzs*gmx.net)
7
Copyright : (C) 2007 Knut Franke (knut.franke*gmx.de)
8
(replace * with @ in the email addresses)
10
***************************************************************************/
12
/***************************************************************************
14
* This program is free software; you can redistribute it and/or modify *
15
* it under the terms of the GNU General Public License as published by *
16
* the Free Software Foundation; either version 2 of the License, or *
17
* (at your option) any later version. *
19
* This program is distributed in the hope that it will be useful, *
20
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
21
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
22
* GNU General Public License for more details. *
24
* You should have received a copy of the GNU General Public License *
25
* along with this program; if not, write to the Free Software *
26
* Foundation, Inc., 51 Franklin Street, Fifth Floor, *
27
* Boston, MA 02110-1301 USA *
29
***************************************************************************/
33
#include "core/future_Folder.h"
34
#include "core/interfaces.h"
39
class AbstractScriptingEngine;
41
//! Represents a SciDAVis project.
43
* Project manages an undo stack and is responsible for creating ProjectWindow instances
46
class Project : public future::Folder
51
//! MDI subwindow visibility setting
52
enum MdiWindowVisibility
63
//!\name Reimplemented from AbstractAspect
65
virtual const Project *project() const { return this; }
66
virtual Project *project() { return this; }
67
virtual QUndoStack *undoStack() const;
68
virtual QString path() const { return ""; }
69
#ifndef LEGACY_CODE_0_2_x
70
virtual ProjectWindow *view();
74
virtual QMenu *createContextMenu() const;
76
virtual QMenu *createFolderContextMenu(const future::Folder * folder) const;
78
AbstractScriptingEngine * scriptingEngine() const;
80
void setMdiWindowVisibility(MdiWindowVisibility visibility);
81
MdiWindowVisibility mdiWindowVisibility() const;
82
void setFileName(const QString & file_name);
83
QString fileName() const;
85
static ConfigPageWidget * makeConfigPage();
86
static QString configPageLabel();
88
//! \name serialize/deserialize
91
virtual void save(QXmlStreamWriter *) const;
93
virtual bool load(XmlStreamReader *);
100
friend class ProjectConfigPage;
103
#endif // ifndef PROJECT_H