VR-Forces 4.0.4 Class Documentation
include/tmqt/disDictionary.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 2005 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 /*******************************************************************************
00006 ** $RCSfile: disDictionary.h,v $ $Revision: 1.3 $ $State: Exp $
00007 *******************************************************************************/
00008 
00011 
00014 
00015 #ifndef DtDisDictionary_H_
00016 #define DtDisDictionary_H_
00017 
00018 #include "ngutil/entityMapperKey.h"
00019 #include "ngutil/orderedKeyList.h"
00020 
00021 #include <QtCore/QObject>
00022 #include <QtCore/QString>
00023 #include <QtCore/QHash>
00024 #include <QtCore/QVector>
00025 
00026 #include <vlutil/vlString.h>
00027 
00028 #include "tmqt/tmqtDefines.h"
00029 class DT_DLL_tmqt DtDisEntry
00030 {
00031 public:
00032    DtDisEntry();
00033    DtDisEntry(const QString&);
00034    virtual ~DtDisEntry();
00035 
00036 public:
00037    virtual DtDisEntry* addDisEntry(int iVal, const QString& sVal);
00038    virtual DtDisEntry* find(int iVal);
00039 
00040 public:
00041    QHash<int, DtDisEntry*> myEntries;
00042    DtString       myValue;
00043 };
00044 
00045 class DT_DLL_tmqt DtDisEntityTypeEntry : public DtEntityMapperKey
00046 {
00047 public:
00048    DtDisEntityTypeEntry(const DtEntityMapperKey& key) : DtEntityMapperKey(key) {};
00049 
00050    void addString(const DtString& str);
00051    const QVector<DtString>& strings() const;
00052 
00053    int& operator[](int i) { return DtEntityMapperKey::operator[](i); };
00054    const int operator[](int i) const  { return DtEntityMapperKey::operator[](i); };
00055 
00056 protected:
00057    QVector<DtString> myStrings;
00058 };
00059 
00060 class DT_DLL_tmqt DtDisDictionary : public QObject
00061 {
00062    Q_OBJECT
00063 
00064 public:
00065    DtDisDictionary();
00066    virtual ~DtDisDictionary();
00067 
00068    virtual bool loadFromFile(const QString& file, bool showProgress = true);
00069 
00070    const DtOrderedKeyList<DtDisEntityTypeEntry*>& enumerationList() const;
00071    DtOrderedKeyList<DtDisEntityTypeEntry*>& enumerationList();
00072    const DtDisEntry& disEntries() const;
00073    DtDisEntry& disEntries();
00074 
00075    const DtDisEntityTypeEntry* findEntry(const DtEntityMapperKey& entKey) const;
00076    DtDisEntityTypeEntry* findEntry(const DtEntityMapperKey& entKey);
00077    QString findCountry(int c);
00078 
00079    static QHash<int, QString>& countries();
00080 
00081 protected:
00082    virtual int countLines(const char*);
00083 
00084 protected:
00085    DtDisEntry                             myDisEntries;
00086    DtOrderedKeyList<DtDisEntityTypeEntry*> myEntityKeys;
00087    static QHash<int, QString>               gCountries;
00088 };
00089 
00090 inline const DtDisEntityTypeEntry* DtDisDictionary::findEntry(const DtEntityMapperKey& entKey) const
00091 {
00092    return myEntityKeys.find(entKey);
00093 }
00094 
00095 inline DtDisEntityTypeEntry* DtDisDictionary::findEntry(const DtEntityMapperKey& entKey)
00096 {
00097    return myEntityKeys.find(entKey);
00098 }
00099 
00100 inline const DtOrderedKeyList<DtDisEntityTypeEntry*>& DtDisDictionary::enumerationList() const
00101 {
00102    return myEntityKeys;
00103 }
00104 
00105 inline DtOrderedKeyList<DtDisEntityTypeEntry*>& DtDisDictionary::enumerationList()
00106 {
00107    return myEntityKeys;
00108 }
00109 
00110 inline const DtDisEntry& DtDisDictionary::disEntries() const
00111 {
00112    return myDisEntries;
00113 }
00114 
00115 inline DtDisEntry& DtDisDictionary::disEntries()
00116 {
00117    return myDisEntries;
00118 }
00119 
00120 inline QString DtDisDictionary::findCountry(int c)
00121 {
00122    return countries().value(c);
00123 }
00124 
00125 inline void DtDisEntityTypeEntry::addString(const DtString& str)
00126 {
00127    myStrings.append(str);
00128 }
00129 
00130 inline const QVector<DtString>& DtDisEntityTypeEntry::strings() const
00131 {
00132    return myStrings;
00133 }
00134 
00135 #endif

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)