00001 00007 #ifndef SCREENMANAGER_H 00008 #define SCREENMANAGER_H 00009 00010 #include <stdio.h> 00011 #include <curses.h> 00012 #include "UIMenu.h" 00013 #include "sysLog.h" 00014 00015 class ScreenManager { 00016 protected: 00017 00021 ScreenManager(); 00022 00026 ~ScreenManager(); 00027 00028 ScreenManager& operator=(const ScreenManager&); 00029 00030 public: 00034 enum Status { 00035 OPEN = 1, 00036 CLOSED = 0, 00037 ERROR = -1 00038 }; 00039 00045 int changeCurrentMenu(Menu *newMenuPtr); 00046 00051 void writeUserMessage(char * message); 00052 00056 void updateScreen(); 00057 00062 Menu * getCurrentMenu(); 00063 00067 void getUserInput(); 00068 00075 char * askUserQuestion(char * question); 00076 00082 char * askUserHiddenQuestion(char * question); 00083 00089 int askUserIntQuestion(char * question); 00094 static ScreenManager * theInstance(); 00095 00099 void welcomeMessage(); 00100 00101 private: 00103 SysLog * systemLogger; 00104 00106 static Menu *currentMenu; 00107 00109 char *userMessages[7]; 00110 00112 static int currentMessage; 00113 00115 int welcomeFile; 00116 00118 char *exitMessage; 00119 00122 static int screenCounter; 00123 00125 WINDOW * messageWindow; 00127 WINDOW * menuWindow; 00129 WINDOW * inputWindow; 00131 static Status screenStatus; 00132 }; 00133 00134 #endif
1.3.6