]> Shamusworld >> Repos - architektonas/blob - src/base/rs_scriptlist.h
Initial import
[architektonas] / src / base / rs_scriptlist.h
1 /****************************************************************************
2 ** $Id: rs_scriptlist.h 1960 2005-03-12 12:22:01Z andrew $
3 **
4 ** Copyright (C) 2001-2003 RibbonSoft. All rights reserved.
5 **
6 ** This file is part of the qcadlib Library project.
7 **
8 ** This file may be distributed and/or modified under the terms of the
9 ** GNU General Public License version 2 as published by the Free Software
10 ** Foundation and appearing in the file LICENSE.GPL included in the
11 ** packaging of this file.
12 **
13 ** Licensees holding valid qcadlib Professional Edition licenses may use
14 ** this file in accordance with the qcadlib Commercial License
15 ** Agreement provided with the Software.
16 **
17 ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
18 ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
19 **
20 ** See http://www.ribbonsoft.com for further details.
21 **
22 ** Contact info@ribbonsoft.com if any conditions of this licensing are
23 ** not clear to you.
24 **
25 **********************************************************************/
26
27 #ifndef RS_SCRIPTLIST_H
28 #define RS_SCRIPTLIST_H
29
30 #include <QtCore>
31 #include "rs_script.h"
32
33 #define RS_SCRIPTLIST RS_ScriptList::instance()
34
35 /**
36  * The global list of scripts. This is implemented as a singleton.
37  * Use RS_ScriptList::instance() to get a pointer to the object.
38  *
39  * OBSOLETE
40  *
41  * @author Andrew Mustun
42  */
43 class RS_ScriptList
44 {
45         protected:
46                 RS_ScriptList();
47
48         public:
49                 virtual ~RS_ScriptList();
50
51                 static RS_ScriptList * instance();
52                 void init();
53                 void clearScripts();
54                 int countScripts();
55                 virtual void removeScript(RS_Script * script);
56                 RS_Script * requestScript(const QString & name);
57                 RS_Script * firstScript();
58                 RS_Script * nextScript();
59                 static bool test();
60
61         protected:
62                 static RS_ScriptList * uniqueInstance;
63
64         private:
65                 //! all scripts available
66 //              Q3PtrList<RS_Script> scripts;
67                 QList<RS_Script *> scripts;
68                 QListIterator<RS_Script *> scriptIterator;
69 };
70
71 #endif