Frapper  1.0a
PoemAnalyserNode.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 POEMANALYSERNODE_H
34 #define POEMANALYSERNODE_H
35 
36 
37 
38 #include "Node.h"
39 #include <QtGui>
40 #include <QtCore/QFile>
41 #include <QtCore/QDir>
42 
43 // OGRE
44 #include <Ogre.h>
45 #if (OGRE_PLATFORM == OGRE_PLATFORM_WIN32)
46 #include <windows.h>
47 #endif
48 
49 namespace PoemAnalyserNode {
50 using namespace Frapper;
51 
55 class PoemAnalyserNode : public Node
56 {
57 
58  Q_OBJECT
60 
61 public: // constructors and destructors
62 
69  PoemAnalyserNode ( const QString &name, ParameterGroup *parameterRoot );
70 
78  virtual ~PoemAnalyserNode ();
79 
80 
81 
82 private slots:
83 
84  void readDATFile();
85  void readSUMFile();
86  void reloadSUMFile();
87  void reloadDATFile();
88  void performPoemAnalysis();
89 
90 
91 private:
92 
96 
97 private:
98  QString transformNumberToString(int number);
99  QStringList* obtainPredominantStates(QStringList *positions);
100  QString taggingLine(QString state);
101  QString getOverallState();
102  QString getLineState(QString tag);
103 
104 public:
105 
106  QTableWidget *poemAnalysisTable;
107  QString overallState;
108 
109 };
110 
111 } // namespace PoemAnalyserNode
112 
113 #endif