Code_TYMPAN  4.4.0
Industrial site acoustic simulation
TYNameManager.cpp
Go to the documentation of this file.
1 /*
2  * Copyright (C) <2012> <EDF-R&D> <FRANCE>
3  * This program is free software; you can redistribute it and/or modify
4  * it under the terms of the GNU General Public License as published by
5  * the Free Software Foundation; either version 2 of the License, or
6  * (at your option) any later version.
7  * This program is distributed in the hope that it will be useful,
8  * but WITHOUT ANY WARRANTY; without even the implied warranty of
9  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
10  * See the GNU General Public License for more details.
11  * You should have received a copy of the GNU General Public License along
12  * with this program; if not, write to the Free Software Foundation, Inc.,
13  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
14  */
15 
16 /*
17  *
18  */
19 
21 #include "TYNameManager.h"
22 #include <sstream>
23 
24 // Initialise a NULL.
26 
27 TYNameManager::TYNameManager() : _enable(true) {}
28 
30 {
31  _idMap.clear();
32 }
33 
35 {
36  if (!_pInstance)
37  {
38  _pInstance = new TYNameManager();
39  }
40 
41  return _pInstance;
42 }
43 
44 QString TYNameManager::generateName(const char* classname)
45 {
46  if (_enable)
47  {
49  {
50  std::string displayName;
51  unsigned int displayId = 0;
52 
53  IDMap::iterator it = _idMap.find(classname);
54  if (it == _idMap.end())
55  {
56  displayName =
57  (const char*)(OLocalizator::getString("DisplayName", classname).toUtf8().data());
58  displayId = 0;
59 
60  _idMap[classname] = IDCounter(displayName, 0);
61  }
62  else
63  {
64  displayName = it->second.first;
65  displayId = ++it->second.second;
66  }
67 
68  std::ostringstream oss;
69  oss << displayName << " " << displayId;
70 
71  return QString(oss.str().c_str());
72  }
73  }
74 
75  return "";
76 }
static bool isRessourceFile()
Definition: OLocalizator.h:57
static QString getString(const QString &classname, const QString &stringId)
Generateur de nom unique.
Definition: TYNameManager.h:41
QString generateName(const char *classname)
Retourne le nom de la classe associe a un nombre.
static TYNameManager * get()
Retourne l'instance singleton.
std::pair< std::string, unsigned int > IDCounter
Definition: TYNameManager.h:83
static LPTYNameManager _pInstance
Definition: TYNameManager.h:80