Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

KeyNames.h

Go to the documentation of this file.
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_ */

Generated on Sat Nov 5 16:16:43 2005 for OPIE by  doxygen 1.4.2