VR-Forces 4.5 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
csvDisDictionary.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2016 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
11 #pragma once
12 
13 #include <vrfGuiCore/vrfGuiCore.h>
14 
18 
19 #include <map>
20 #include <string>
21 
22 namespace makVrf
23 {
25  {
26  public:
27  DtDisEntry();
28  DtDisEntry(const std::string&);
29  virtual ~DtDisEntry();
30 
31  public:
32  virtual DtDisEntry* addDisEntry(int iVal, const std::string& sVal);
33  virtual DtDisEntry* find(int iVal);
34 
35  public:
36  std::map<int, DtDisEntry*> myEntries;
37  std::string myValue;
38  };
39 
41  {
42  public:
45  : DtEntityMapperKey(orig)
46  , myStrings(orig.myStrings)
47  {
48  }
49 
50  void addString(const std::string& str);
51  const std::vector<std::string>& strings() const;
52 
53  int& operator[](int i) { return DtEntityMapperKey::operator[](i); };
54  const int operator[](int i) const { return DtEntityMapperKey::operator[](i); };
55 
57  {
58  return new DtDisEntityTypeEntry(*this);
59  }
60 
61  protected:
62  std::vector<std::string> myStrings;
63  };
64 
66  {
67  public:
69  virtual ~DtCsvDisDictionary();
70 
71  virtual bool loadFromFile(const std::string& file);
72 
73  const DtOrderedKeyList<DtDisEntityTypeEntry*>& enumerationList() const;
74  DtOrderedKeyList<DtDisEntityTypeEntry*>& enumerationList();
75  const DtDisEntry& disEntries() const;
76  DtDisEntry& disEntries();
77 
78  const DtDisEntityTypeEntry* findEntry(const DtEntityMapperKey& entKey) const;
79  DtDisEntityTypeEntry* findEntry(const DtEntityMapperKey& entKey);
80  virtual std::string country(int c) const;
81 
82  virtual bool countryList(std::map<int, std::string>& list);
83  virtual bool kindList(std::map<int, std::string>& list);
84  virtual bool domainList(int kind, std::map<int, std::string>& list);
85  virtual bool categoryList(int kind, int domain, std::map<int, std::string>& list);
86  virtual bool subcategoryList(int kind, int domain, int country, int cat, std::map<int, std::string>& list);
87  virtual bool specificList(int kind, int domain, int country, int cat, int subcat, std::map<int, std::string>& list);
88  virtual bool extraList(int kind, int domain, int country, int cat, int subcat, int specific, std::map<int, std::string>& list);
89  virtual void fillList(DtDisEntry*, std::map<int, std::string>& list);
90 
92  virtual std::string enumerationStrings(const DtEntityType&);
93 
95  virtual std::string displayName(const DtEntityType&, bool includeKind = true);
96 
97  static std::map<int, std::string>& countries();
98 
99  protected:
100  virtual void lineProcessed(int line);
101 
102  protected:
103  virtual int countLines(const char*);
104 
105  protected:
108  static std::map<int, std::string> theCountries;
109  };
110 
112  {
113  return myEntityKeys.find(entKey);
114  }
115 
117  {
118  return myEntityKeys.find(entKey);
119  }
120 
122  {
123  return myEntityKeys;
124  }
125 
127  {
128  return myEntityKeys;
129  }
130 
132  {
133  return myDisEntries;
134  }
135 
137  {
138  return myDisEntries;
139  }
140 
141  inline std::string DtCsvDisDictionary::country(int c) const
142  {
143  std::map<int, std::string>::const_iterator iter = countries().find(c);
144 
145  if (iter == countries().end())
146  {
147  return "";
148  }
149  else
150  {
151  return iter->second;
152  }
153  }
154 
155  inline void DtDisEntityTypeEntry::addString(const std::string& str)
156  {
157  myStrings.push_back(str);
158  }
159 
160  inline const std::vector<std::string>& DtDisEntityTypeEntry::strings() const
161  {
162  return myStrings;
163  }
164 }

Document ID: Generated on Thu Mar 23 18:54:12 EDT 2017 from SVN revision 174804
Copyright © 2005-2017 VT MÄK. All Rights Reserved (www.mak.com)