Pokered Save Editor 2
Pokemon Red & Blue save file editor - Qt 6 C++/QML
Toggle main menu visibility
Loading...
Searching...
No Matches
itemselectmodel.h
Go to the documentation of this file.
1
/*
2
* Copyright 2020 Twilight
3
*
4
* Licensed under the Apache License, Version 2.0 (the "License");
5
* you may not use this file except in compliance with the License.
6
* You may obtain a copy of the License at
7
*
8
* http://www.apache.org/licenses/LICENSE-2.0
9
*
10
* Unless required by applicable law or agreed to in writing, software
11
* distributed under the License is distributed on an "AS IS" BASIS,
12
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
* See the License for the specific language governing permissions and
14
* limitations under the License.
15
*/
16
#pragma once
17
#include <QObject>
18
#include <QString>
19
#include <QAbstractListModel>
20
#include <QVector>
21
22
class
PlayerPokedex
;
23
25
struct
ItemSelectEntryData
{
26
ItemSelectEntryData
(QString
name
,
int
ind
);
27
28
QString
name
;
29
int
ind
;
30
};
31
38
class
ItemSelectModel
:
public
QAbstractListModel
39
{
40
Q_OBJECT
41
42
public
:
44
enum
ItemRoles
{
45
IndRole
= Qt::UserRole + 1,
46
NameRole
,
47
InfoRole
,
48
};
49
50
ItemSelectModel
();
51
52
virtual
int
rowCount
(
const
QModelIndex& parent)
const override
;
53
virtual
QVariant
data
(
const
QModelIndex& index,
int
role)
const override
;
54
virtual
QHash<int, QByteArray>
roleNames
()
const override
;
55
56
QVector<ItemSelectEntryData*>
itemListCache
;
57
58
Q_INVOKABLE
int
itemToListIndex
(
int
ind);
59
Q_INVOKABLE QString
infoForInd
(
int
ind)
const
;
60
};
ItemSelectModel::infoForInd
QString infoForInd(int ind) const
Detailed-tooltip text for item ind (empty if none).
Definition
itemselectmodel.cpp:158
ItemSelectModel::ItemSelectModel
ItemSelectModel()
Definition
itemselectmodel.cpp:34
ItemSelectModel::rowCount
virtual int rowCount(const QModelIndex &parent) const override
Row count.
Definition
itemselectmodel.cpp:111
ItemSelectModel::itemToListIndex
int itemToListIndex(int ind)
Row index for item ind.
Definition
itemselectmodel.cpp:166
ItemSelectModel::ItemRoles
ItemRoles
Picker columns (mapped in roleNames()).
Definition
itemselectmodel.h:44
ItemSelectModel::InfoRole
@ InfoRole
Definition
itemselectmodel.h:47
ItemSelectModel::NameRole
@ NameRole
Definition
itemselectmodel.h:46
ItemSelectModel::IndRole
@ IndRole
Definition
itemselectmodel.h:45
ItemSelectModel::data
virtual QVariant data(const QModelIndex &index, int role) const override
Row+role value.
Definition
itemselectmodel.cpp:120
ItemSelectModel::itemListCache
QVector< ItemSelectEntryData * > itemListCache
Cached picker rows.
Definition
itemselectmodel.h:56
ItemSelectModel::roleNames
virtual QHash< int, QByteArray > roleNames() const override
Role -> QML name.
Definition
itemselectmodel.cpp:147
PlayerPokedex
The player's Pokedex: a seen flag and an owned flag per species.
Definition
playerpokedex.h:37
ItemSelectEntryData::name
QString name
Display name.
Definition
itemselectmodel.h:28
ItemSelectEntryData::ind
int ind
Item index.
Definition
itemselectmodel.h:29
ItemSelectEntryData::ItemSelectEntryData
ItemSelectEntryData(QString name, int ind)
Definition
itemselectmodel.cpp:29
projects
app
src
mvc
itemselectmodel.h
Generated by
1.17.0