00001 /*---------------------------------------------------------------------\ 00002 | | 00003 | __ __ ____ _____ ____ | 00004 | \ \ / /_ _/ ___|_ _|___ \ | 00005 | \ V / _` \___ \ | | __) | | 00006 | | | (_| |___) || | / __/ | 00007 | |_|\__,_|____/ |_| |_____| | 00008 | | 00009 | core system | 00010 | (C) SuSE GmbH | 00011 \----------------------------------------------------------------------/ 00012 00013 File: NCPopupTable.h 00014 00015 Author: Michael Andres <ma@suse.de> 00016 Maintainer: Michael Andres <ma@suse.de> 00017 00018 /-*/ 00019 #ifndef NCPopupTable_h 00020 #define NCPopupTable_h 00021 00022 #include <iosfwd> 00023 00024 #include <vector> 00025 #include <string> 00026 using namespace std; 00027 00028 #include "NCPopup.h" 00029 00030 class NCTable; 00031 class YCPValue; 00032 00034 // 00035 // CLASS NAME : NCPopupTable 00036 // 00037 // DESCRIPTION : 00038 // 00039 class NCPopupTable : public NCPopup { 00040 00041 NCPopupTable & operator=( const NCPopupTable & ); 00042 NCPopupTable ( const NCPopupTable & ); 00043 00044 private: 00045 00046 NCTable * sellist; 00047 00048 protected: 00049 00050 void createList( vector<string> & row ); 00051 00052 void addItem( const YCPValue & id, vector<string> & row ); 00053 00054 void setCurrentItem( int index ); 00055 int getCurrentItem() const; 00056 00057 virtual NCursesEvent wHandleHotkey( wint_t ch ); 00058 00059 protected: 00060 00061 NCPopupTable( const wpos at ); 00062 virtual ~NCPopupTable(); 00063 00064 virtual bool postAgain(); 00065 00066 public: 00067 void stripHotkeys(); 00068 }; 00069 00071 00072 00073 #endif // NCPopupTable_h