00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef _STATUSBAR_H
00024 #define _STATUSBAR_H
00025
00026 #ifdef HAVE_CONFIG_H
00027 # include <config.h>
00028 #endif
00029
00030 #ifdef HAVE_NCURSES_H
00031 # include <ncurses.h>
00032 #else // HAVE_NCURSES_H
00033 # ifdef HAVE_CURSES_H
00034 # include <curses.h>
00035 # else
00036 # error "Neither curses.h nor ncurses.h available"
00037 # endif // HAVE_CURSES_H
00038 #endif // HAVE_NCURSES_H
00039 #include "curswa.h"
00040
00041 #ifdef HAVE_STRING
00042 # include <string>
00043 #endif
00044
00045 #include "basewindow.h"
00046 #include "uiexception.h"
00047
00055 class StatusBar : protected YAPETUI::BaseWindow {
00056 private:
00057 WINDOW* statusbar;
00058 std::string message;
00059
00060 inline StatusBar(const StatusBar&) {}
00061 inline const StatusBar& operator=(const StatusBar&) { return *this; }
00062
00063 protected:
00064 void createWindow() throw(YAPETUI::UIException);
00065
00066 public:
00067 StatusBar() throw(YAPETUI::UIException);
00068 virtual ~StatusBar();
00069
00070 void putMsg(std::string msg) throw(YAPETUI::UIException);
00071 std::string getMsg() const { return message; }
00072 void refresh();
00073
00074 void resize();
00075 };
00076
00077 #endif // _STATUSBAR_H