Frapper  1.0a
NodeFactory.h
Go to the documentation of this file.
1 /*
2 -----------------------------------------------------------------------------
3 This source file is part of FRAPPER
4 research.animationsinstitut.de
5 sourceforge.net/projects/frapper
6 
7 Copyright (c) 2008-2009 Filmakademie Baden-Wuerttemberg, Institute of Animation
8 
9 This program is free software; you can redistribute it and/or modify it under
10 the terms of the GNU Lesser General Public License as published by the Free Software
11 Foundation; version 2.1 of the License.
12 
13 This program is distributed in the hope that it will be useful, but WITHOUT
14 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
15 FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
16 
17 You should have received a copy of the GNU Lesser General Public License along with
18 this program; if not, write to the Free Software Foundation, Inc., 59 Temple
19 Place - Suite 330, Boston, MA 02111-1307, USA, or go to
20 http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html
21 -----------------------------------------------------------------------------
22 */
23 
33 
34 #ifndef NODEFACTORY_H
35 #define NODEFACTORY_H
36 
37 #include "FrapperPrerequisites.h"
38 #include <QtCore/QString>
39 #include <QtGui/QColor>
40 #include "Node.h"
41 #include "NodeType.h"
42 
43 namespace Frapper {
44 
49  {
50 
51  public: // static functions
52 
56  static void initialize ();
57 
64  static void registerType ( const QString &filename );
65 
72  static unsigned int getNumCategories ();
73 
80  static QString getCategoryName ( unsigned int index );
81 
89  static QString getCategoryName ( const QString &typeName );
90 
98  static QString getCategoryIconName ( unsigned int index );
99 
107  static QString getCategoryIconName ( const QString &typeName );
108 
115  static QStringList getTypeNames ( bool internalTypes = false );
116 
123  static QColor getColor ( const QString &typeName );
124 
132  static bool isErroneous ( const QString &typeName );
133 
141  static Node * createNode ( const QString &typeName, const QString &name );
142 
147  static void freeResources ();
148 
149  private: // static data
150 
155 
161 
162  };
163 
164 } // end namespace Frapper
165 
166 #endif