InfoVis 2013  1.0
Information Visualisation project - "Mapping Text with Phrase Nets"
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Application.h
Go to the documentation of this file.
1 #ifndef APPLICATION_H
2 #define APPLICATION_H
3 
4 #include "NodeGraphManager.h"
5 
6 #include <string>
7 
8 class Timer;
9 class CeguiHandler;
10 class Renderer;
11 class UIManager;
12 
13 
16 {
17 public:
18  Application();
19 
20  void initConnectionWords();
21 
22  ~Application();
23 
24  void update();
25  void updateFPSCounter(double passedTime);
26 
27  void setKeepsRunning(bool keepsRunning);
28  bool getKeepsRunning();
29 
30  void inputKeyUpdate(int key, int action);
31  void inputCharUpdate(int character, int action);
32  void inputMouseButtonUpdate(int character, int action);
33  void inputMouseWheelUpdate(int position);
34  void inputMousePosUpdate(int x, int y);
35 
36  void loadFile(const std::string& fullFilePath);
37 
38  void handleWindowResize(int width, int height);
39 
40  std::string readFileContents(const std::string& filename);
41  const std::string& getDocumentContent() const;
42 
43 
44  void regenerateGraph();
45 
47 
48  void getRegexPhraseConnectionWord(std::vector<std::string>& connectionWords);
49 
50 private:
51  void processDocument();
52 
53 
54  CeguiHandler* m_ceguiHandler;
55  Timer* m_timer;
56  Renderer* m_renderer;
57  UIManager* m_uiManager;
58  NodeGraphManager* m_nodeGraphManager;
59 
60  bool m_keepsRunning;
61  double m_timeSinceLastFPSUpdate;
62  int m_lastFrameCount;
63 
64  std::string m_documentString;
65 
66  bool m_isInitialisationFinished;
67 
68 };
69 
70 
71 #endif