Frapper  1.0a
ViewFlagGraphicsItem.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 VIEWFLAGGRAPHICSITEM_H
35 #define VIEWFLAGGRAPHICSITEM_H
36 
37 #include "FlagGraphicsItem.h"
38 #include "ViewNode.h"
39 #include <QtGui/QAction>
40 
41 namespace Frapper {
42 
61 {
62 
63  Q_OBJECT
64 
65 public: // constructors and destructors
66 
75  ViewFlagGraphicsItem ( QGraphicsItem *parent, bool state, const QPointF &position, unsigned int stageIndex );
76 
81 
82 public: // functions
83 
91  virtual void paint ( QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = 0 );
92 
93 protected: // events
94 
100  void contextMenuEvent ( QGraphicsSceneContextMenuEvent *event );
101 
102 signals: //
103 
109  void stageIndexSet ( unsigned int stageIndex );
110 
111  private slots: //
112 
119  void selectStage ( QAction *triggeredAction );
120 
126  void setStageIndex ( unsigned int index, ViewNode *viewNode );
127 
128 private: // data
129 
134  unsigned int m_stageIndex;
135 
139  QActionGroup *m_stageActionGroup;
140 
141 };
142 
143 } // end namespace Frapper
144 
145 #endif