VR-Forces 4.2 Class Documentation
DtCsvDisDictionary.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2005 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 /*******************************************************************************
6 ** $RCSfile: disDictionary.h,v $ $Revision: 1.3 $ $State: Exp $
7 *******************************************************************************/
8 
11 
14 #pragma once
15 
16 #include <vrfGuiCore/vrfGuiCore.h>
17 
21 
22 #include <map>
23 #include <string>
24 
25 namespace makVrf
26 {
28  {
29  public:
30  DtDisEntry();
31  DtDisEntry(const std::string&);
32  virtual ~DtDisEntry();
33 
34  public:
35  virtual DtDisEntry* addDisEntry(int iVal, const std::string& sVal);
36  virtual DtDisEntry* find(int iVal);
37 
38  public:
39  std::map<int, DtDisEntry*> myEntries;
40  std::string myValue;
41  };
42 
44  {
45  public:
48  : DtEntityMapperKey(orig)
49  , myStrings(orig.myStrings)
50  {
51  }
52 
53  void addString(const std::string& str);
54  const std::vector<std::string>& strings() const;
55 
56  int& operator[](int i) { return DtEntityMapperKey::operator[](i); };
57  const int operator[](int i) const { return DtEntityMapperKey::operator[](i); };
58 
60  {
61  return new DtDisEntityTypeEntry(*this);
62  }
63 
64  protected:
65  std::vector<std::string> myStrings;
66  };
67 
69  {
70  public:
71  DtCsvDisDictionary(makVrv::DtDe&);
72  virtual ~DtCsvDisDictionary();
73 
74  virtual bool loadFromFile(const std::string& file);
75 
76  const DtOrderedKeyList<DtDisEntityTypeEntry*>& enumerationList() const;
77  DtOrderedKeyList<DtDisEntityTypeEntry*>& enumerationList();
78  const DtDisEntry& disEntries() const;
79  DtDisEntry& disEntries();
80 
81  const DtDisEntityTypeEntry* findEntry(const DtEntityMapperKey& entKey) const;
82  DtDisEntityTypeEntry* findEntry(const DtEntityMapperKey& entKey);
83  virtual std::string country(int c) const;
84 
85  virtual bool countryList(std::map<int, std::string>& list);
86  virtual bool kindList(std::map<int, std::string>& list);
87  virtual bool domainList(int kind, std::map<int, std::string>& list);
88  virtual bool categoryList(int kind, int domain, std::map<int, std::string>& list);
89  virtual bool subcategoryList(int kind, int domain, int country, int cat, std::map<int, std::string>& list);
90  virtual bool specificList(int kind, int domain, int country, int cat, int subcat, std::map<int, std::string>& list);
91  virtual bool extraList(int kind, int domain, int country, int cat, int subcat, int specific, std::map<int, std::string>& list);
92  virtual void fillList(DtDisEntry*, std::map<int, std::string>& list);
93 
95  virtual std::string enumerationStrings(const DtEntityType&);
96 
98  virtual std::string displayName(const DtEntityType&);
99 
100  static std::map<int, std::string>& countries();
101 
102  protected:
103  virtual void lineProcessed(int line);
104 
105  protected:
106  virtual int countLines(const char*);
107 
108  protected:
111  static std::map<int, std::string> theCountries;
112  };
113 
115  {
116  return myEntityKeys.find(entKey);
117  }
118 
120  {
121  return myEntityKeys.find(entKey);
122  }
123 
125  {
126  return myEntityKeys;
127  }
128 
130  {
131  return myEntityKeys;
132  }
133 
135  {
136  return myDisEntries;
137  }
138 
140  {
141  return myDisEntries;
142  }
143 
144  inline std::string DtCsvDisDictionary::country(int c) const
145  {
146  std::map<int, std::string>::const_iterator iter = countries().find(c);
147 
148  if (iter == countries().end())
149  {
150  return "";
151  }
152  else
153  {
154  return iter->second;
155  }
156  }
157 
158  inline void DtDisEntityTypeEntry::addString(const std::string& str)
159  {
160  myStrings.push_back(str);
161  }
162 
163  inline const std::vector<std::string>& DtDisEntityTypeEntry::strings() const
164  {
165  return myStrings;
166  }
167 }

Document ID: Generated on Sun Nov 24 19:49:21 EST 2013 from SVN revision 133924
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)