VR-Forces 4.7 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties 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, int stopAt = 5);
96 
97  static std::map<int, std::string>& countries();
98 
99  virtual DtString articulatedPart(int) const;
100 
101  protected:
102  virtual void lineProcessed(int line);
103 
104  protected:
105  virtual int countLines(const char*);
106  virtual void initializeArticulatedParts();
107 
108  protected:
111  static std::map<int, std::string> theCountries;
112 
113  typedef std::map<int, DtString> ArticulatedPartMap;
115  };
116 
118  {
119  return myEntityKeys.find(entKey);
120  }
121 
123  {
124  return myEntityKeys.find(entKey);
125  }
126 
128  {
129  return myEntityKeys;
130  }
131 
133  {
134  return myEntityKeys;
135  }
136 
138  {
139  return myDisEntries;
140  }
141 
143  {
144  return myDisEntries;
145  }
146 
147  inline std::string DtCsvDisDictionary::country(int c) const
148  {
149  std::map<int, std::string>::const_iterator iter = countries().find(c);
150 
151  if (iter == countries().end())
152  {
153  return "";
154  }
155  else
156  {
157  return iter->second;
158  }
159  }
160 
161  inline void DtDisEntityTypeEntry::addString(const std::string& str)
162  {
163  myStrings.push_back(str);
164  }
165 
166  inline const std::vector<std::string>& DtDisEntityTypeEntry::strings() const
167  {
168  return myStrings;
169  }
170 }

Document ID: Generated on Fri Apr 26 21:53:14 EDT 2019 from SVN revision 197883
Copyright © 2005-2019 VT MAK. All Rights Reserved (www.mak.com)