ManaPlus
src
gui
models
extendednamesmodel.cpp
Go to the documentation of this file.
1
/*
2
* The ManaPlus Client
3
* Copyright (C) 2012-2019 The ManaPlus Developers
4
* Copyright (C) 2019-2021 Andrei Karas
5
*
6
* This file is part of The ManaPlus Client.
7
*
8
* This program is free software; you can redistribute it and/or modify
9
* it under the terms of the GNU General Public License as published by
10
* the Free Software Foundation; either version 2 of the License, or
11
* any later version.
12
*
13
* This program is distributed in the hope that it will be useful,
14
* but WITHOUT ANY WARRANTY; without even the implied warranty of
15
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
* GNU General Public License for more details.
17
*
18
* You should have received a copy of the GNU General Public License
19
* along with this program. If not, see <http://www.gnu.org/licenses/>.
20
*/
21
22
#include "
gui/models/extendednamesmodel.h
"
23
24
#include "
utils/cast.h
"
25
#include "
utils/foreach.h
"
26
27
#include "
debug.h
"
28
29
ExtendedNamesModel::ExtendedNamesModel
() :
30
mNames
(),
31
mImages()
32
{
33
}
34
35
ExtendedNamesModel::~ExtendedNamesModel
()
36
{
37
clear
();
38
}
39
40
int
ExtendedNamesModel::getNumberOfElements
()
41
{
42
return
CAST_S32
(
mNames
.size());
43
}
44
45
std::string
ExtendedNamesModel::getElementAt
(
int
i)
46
{
47
if
(i >=
getNumberOfElements
() || i < 0)
48
return
"???"
;
49
return
mNames
[
CAST_SIZE
(i)];
50
}
51
52
const
Image
*
ExtendedNamesModel::getImageAt
(
int
i)
53
{
54
if
(i >=
CAST_S32
(
mImages
.size()) || i < 0)
55
return
nullptr
;
56
57
return
mImages
[
CAST_SIZE
(i)];
58
}
59
60
void
ExtendedNamesModel::clear
()
61
{
62
mNames
.clear();
63
FOR_EACH
(STD_VECTOR<Image*>::iterator, it,
mImages
)
64
{
65
if
(*it !=
nullptr
)
66
(*it)->decRef();
67
}
68
mImages
.clear();
69
}
cast.h
CAST_S32
#define CAST_S32
Definition:
cast.h:30
CAST_SIZE
#define CAST_SIZE
Definition:
cast.h:34
ExtendedNamesModel::getElementAt
std::string getElementAt(int i)
Definition:
extendednamesmodel.cpp:45
ExtendedNamesModel::ExtendedNamesModel
ExtendedNamesModel()
Definition:
extendednamesmodel.cpp:29
ExtendedNamesModel::~ExtendedNamesModel
~ExtendedNamesModel()
Definition:
extendednamesmodel.cpp:35
ExtendedNamesModel::getNumberOfElements
int getNumberOfElements()
Definition:
extendednamesmodel.cpp:40
ExtendedNamesModel::mNames
StringVect mNames
Definition:
extendednamesmodel.h:59
ExtendedNamesModel::clear
void clear()
Definition:
extendednamesmodel.cpp:60
ExtendedNamesModel::getImageAt
const Image * getImageAt(int i)
Definition:
extendednamesmodel.cpp:52
ExtendedNamesModel::mImages
std::vector< Image * > mImages
Definition:
extendednamesmodel.h:60
Image
debug.h
extendednamesmodel.h
foreach.h
FOR_EACH
#define FOR_EACH(type, iter, array)
Definition:
foreach.h:25
anonymous_namespace{badgesdb.cpp}::mNames
BadgesInfos mNames
Definition:
badgesdb.cpp:37
Generated on Wed Mar 17 2021 19:19:06 for ManaPlus by
1.9.1