QElectroTech 0.200.1-dev
Loading...
Searching...
No Matches
nameslist.h
Go to the documentation of this file.
1/*
2 Copyright 2006-2026 The QElectroTech Team
3 This file is part of QElectroTech.
4
5 QElectroTech is free software: you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation, either version 2 of the License, or
8 (at your option) any later version.
9
10 QElectroTech is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
14
15 You should have received a copy of the GNU General Public License
16 along with QElectroTech. If not, see <http://www.gnu.org/licenses/>.
17*/
18#ifndef NAMES_LIST_H
19#define NAMES_LIST_H
20#include "pugixml/src/pugixml.hpp"
21
22#include <QtXml>
37class NamesList {
38 // constructors, destructor
39 public:
40 NamesList();
41 virtual ~NamesList();
42
43 // attributes
44 private:
45 QMap<QString, QString> map_names;
46
47 public:
48 static int MetaTypeId;
49
50 // methods
51 public:
52 // methods relatives a la gestion de la liste
53 void addName(const QString &, const QString &);
54 void removeName(const QString &);
55 void clearNames();
56 QList<QString> langs() const;
57 bool isEmpty() const;
58 int count() const;
59 QString &operator[](const QString &);
60 const QString operator[](const QString &) const;
61 bool operator!=(const NamesList &) const;
62 bool operator==(const NamesList &) const;
63 QString name(const QString & = QString()) const;
64
65 // methods relatives a XML
66 void fromXml(const QDomElement &, const QHash<QString, QString> & = QHash<QString, QString>());
67 void fromXml(const pugi::xml_node &xml_element, const QHash<QString, QString> &xml_options = QHash<QString, QString>());
68 QDomElement toXml(QDomDocument &, const QHash<QString, QString> & = QHash<QString, QString>()) const;
69
70 protected:
71 QHash<QString, QString> getXmlOptions(const QHash<QString, QString> & = QHash<QString, QString>()) const;
72};
74#endif
Definition nameslist.h:37
int count() const
Definition nameslist.cpp:87
virtual ~NamesList()
Definition nameslist.cpp:35
QMap< QString, QString > map_names
Definition nameslist.h:45
QString & operator[](const QString &)
Definition nameslist.cpp:97
QString name(const QString &=QString()) const
NamesList::name Return the adequate name regarding the current system locale. By order of preference,...
Definition nameslist.cpp:261
static int MetaTypeId
Definition nameslist.h:48
bool isEmpty() const
Definition nameslist.cpp:79
QDomElement toXml(QDomDocument &, const QHash< QString, QString > &=QHash< QString, QString >()) const
Definition nameslist.cpp:185
void clearNames()
Definition nameslist.cpp:63
bool operator==(const NamesList &) const
Definition nameslist.cpp:243
QList< QString > langs() const
Definition nameslist.cpp:71
void fromXml(const QDomElement &, const QHash< QString, QString > &=QHash< QString, QString >())
Definition nameslist.cpp:126
bool operator!=(const NamesList &) const
Definition nameslist.cpp:234
QHash< QString, QString > getXmlOptions(const QHash< QString, QString > &=QHash< QString, QString >()) const
Definition nameslist.cpp:215
void addName(const QString &, const QString &)
Definition nameslist.cpp:46
void removeName(const QString &)
Definition nameslist.cpp:56
NamesList()
Definition nameslist.cpp:28
Q_DECLARE_METATYPE(NamesList)