Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members

screenManager.h

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

Generated on Sat Mar 26 00:07:04 2005 for CS498EmbeddedSystemsProgramming by doxygen 1.3.6