00001 #ifndef _KEY_NAMES_H_ 00002 #define _KEY_NAMES_H_ 00003 00004 #include <qstring.h> 00005 #include <qmap.h> 00006 #include <qnamespace.h> 00007 00008 class KeyNames 00009 { 00010 public: 00011 static const QString& getName(int code){ 00012 if(namemap.isEmpty()) setNameMap(); 00013 if(namemap.contains(code)){ 00014 return(namemap[code]); 00015 } else { 00016 return(QString::null); 00017 } 00018 } 00019 static void clearName(){ 00020 namemap.clear(); 00021 } 00022 static int getCode(const QString& s){ 00023 if(codemap.isEmpty()) setCodeMap(); 00024 if(codemap.contains(s)){ 00025 return(codemap[s]); 00026 } else { 00027 return(0); 00028 } 00029 } 00030 static void setCode(const QString& s, int code){ 00031 if(codemap.contains(s) == false){ 00032 codemap.insert(s, code); 00033 } 00034 } 00035 static void clearCode(){ 00036 codemap.clear(); 00037 } 00038 static void reset(){ 00039 clearCode(); 00040 } 00041 private: 00042 static QMap<QString, int> codemap; 00043 static QMap<int, QString> namemap; 00044 00045 static void setCodeMap(); 00046 static void setNameMap(); 00047 }; 00048 00049 #endif /* _KEY_NAMES_H_ */
1.4.2