Frapper  1.0a
ParameterTypeIcon.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 
32 
33 #ifndef PARAMETERTYPEICON_H
34 #define PARAMETERTYPEICON_H
35 
36 #include <QtGui/QIcon>
37 #include "Parameter.h"
38 #include "InstanceCounterMacros.h"
39 
40 namespace Frapper {
41 
60 {
61 
63 
64 public: // static functions
65 
74  static QIcon getIcon ( const QString &parameterTypeName );
75 
76 private: // static data
77 
81  static QMap<QString, QIcon> s_iconCache;
82 
83 public: // constructors and destructors
84 
90  ParameterTypeIcon ( const QColor &color );
91 
95  virtual ~ParameterTypeIcon ();
96 
97 public: // functions
98 
109  void paint ( QPainter *painter, const QRect &rect, Qt::Alignment alignment = Qt::AlignCenter, Mode mode = Normal, State state = Off ) const;
110 
111 private: // data
112 
116  QColor m_color;
117 
118 };
119 
120 } // end namespace Frapper
121 
122 #endif