Pokered Save Editor 2
Pokemon Red & Blue save file editor - Qt 6 C++/QML
Toggle main menu visibility
Loading...
Searching...
No Matches
mapselectmodel.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
AreaMap
;
23
25
struct
MapSelectEntry
{
26
MapSelectEntry
(QString
name
,
int
ind
);
27
28
QString
name
;
29
int
ind
;
30
};
31
39
class
MapSelectModel
:
public
QAbstractListModel
40
{
41
Q_OBJECT
42
43
public
:
45
enum
ItemRoles
{
46
IndRole
= Qt::UserRole + 1,
47
NameRole
,
48
};
49
50
MapSelectModel
(
AreaMap
*
map
);
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<MapSelectEntry*>
mapListCache
;
57
58
Q_INVOKABLE
int
mapToListIndex
(
int
ind);
59
60
public
slots:
61
void
rebuild
();
62
63
public
:
64
AreaMap
*
map
;
65
};
AreaMap
Identity, size, pointers, and edge connections of the current map.
Definition
areamap.h:44
MapSelectModel::map
AreaMap * map
The live area map this picker targets.
Definition
mapselectmodel.h:64
MapSelectModel::rowCount
virtual int rowCount(const QModelIndex &parent) const override
Row count.
Definition
mapselectmodel.cpp:45
MapSelectModel::rebuild
void rebuild()
Rebuild the cached list.
Definition
mapselectmodel.cpp:104
MapSelectModel::ItemRoles
ItemRoles
Picker columns (mapped in roleNames()).
Definition
mapselectmodel.h:45
MapSelectModel::NameRole
@ NameRole
Definition
mapselectmodel.h:47
MapSelectModel::IndRole
@ IndRole
Definition
mapselectmodel.h:46
MapSelectModel::roleNames
virtual QHash< int, QByteArray > roleNames() const override
Role -> QML name.
Definition
mapselectmodel.cpp:79
MapSelectModel::mapToListIndex
int mapToListIndex(int ind)
Row index for map ind.
Definition
mapselectmodel.cpp:89
MapSelectModel::data
virtual QVariant data(const QModelIndex &index, int role) const override
Row+role value.
Definition
mapselectmodel.cpp:54
MapSelectModel::MapSelectModel
MapSelectModel(AreaMap *map)
Definition
mapselectmodel.cpp:35
MapSelectModel::mapListCache
QVector< MapSelectEntry * > mapListCache
Cached picker rows.
Definition
mapselectmodel.h:56
MapSelectEntry::MapSelectEntry
MapSelectEntry(QString name, int ind)
Definition
mapselectmodel.cpp:30
MapSelectEntry::ind
int ind
Map index.
Definition
mapselectmodel.h:29
MapSelectEntry::name
QString name
Display name.
Definition
mapselectmodel.h:28
projects
app
src
mvc
mapselectmodel.h
Generated by
1.17.0