QGIS API Documentation
4.3.0-Master (52380286b7c)
Toggle main menu visibility
Loading...
Searching...
No Matches
src
core
qgsbookmarkmodel.h
Go to the documentation of this file.
1
/***************************************************************************
2
qgsbookmarkmodel.h
3
------------------
4
Date : Septemeber 2019
5
Copyright : (C) 2019 Nyall Dawson
6
Email : nyall dot dawson at gmail dot com
7
***************************************************************************
8
* *
9
* This program is free software; you can redistribute it and/or modify *
10
* it under the terms of the GNU General Public License as published by *
11
* the Free Software Foundation; either version 2 of the License, or *
12
* (at your option) any later version. *
13
* *
14
***************************************************************************/
15
16
#ifndef QGSBOOKMARKMODEL_H
17
#define QGSBOOKMARKMODEL_H
18
19
#include "qgis_core.h"
20
#include "
qgis_sip.h
"
21
22
#include <QAbstractTableModel>
23
#include <QSortFilterProxyModel>
24
25
class
QgsBookmarkManager
;
26
class
QgsBookmark
;
27
42
class
CORE_EXPORT
QgsBookmarkManagerModel
:
public
QAbstractTableModel
43
{
44
Q_OBJECT
45
46
public
:
47
// *INDENT-OFF*
48
55
enum class
CustomRole
SIP_MONKEYPATCH_SCOPEENUM_UNNEST
(
QgsBookmarkManagerModel
, CustomRoles ) : int
56
{
57
Extent
SIP_MONKEYPATCH_COMPAT_NAME
( RoleExtent ) = Qt::UserRole,
58
Name
SIP_MONKEYPATCH_COMPAT_NAME
( RoleName ),
59
Id
SIP_MONKEYPATCH_COMPAT_NAME
( RoleId ),
60
Group
SIP_MONKEYPATCH_COMPAT_NAME
( RoleGroup ),
61
Rotation
SIP_MONKEYPATCH_COMPAT_NAME
( RoleRotation ),
62
};
63
Q_ENUM( CustomRole )
64
// *INDENT-ON*
65
66
67
enum
Columns
68
{
69
ColumnName
,
70
ColumnGroup
,
71
ColumnXMin
,
72
ColumnYMin
,
73
ColumnXMax
,
74
ColumnYMax
,
75
ColumnRotation
,
76
ColumnCrs
,
77
ColumnStore
,
78
};
79
85
QgsBookmarkManagerModel
(
QgsBookmarkManager
*manager,
QgsBookmarkManager
*projectManager =
nullptr
, QObject *parent
SIP_TRANSFERTHIS
=
nullptr
);
86
87
int
rowCount(
const
QModelIndex &parent = QModelIndex() )
const override
;
88
int
columnCount(
const
QModelIndex &parent = QModelIndex() )
const override
;
89
QVariant data(
const
QModelIndex &index,
int
role = Qt::DisplayRole )
const override
;
90
Qt::ItemFlags flags(
const
QModelIndex &index )
const override
;
91
bool
setData(
const
QModelIndex &index,
const
QVariant &value,
int
role = Qt::EditRole )
override
;
92
bool
insertRows(
int
row,
int
count,
const
QModelIndex &parent = QModelIndex() )
override
;
93
bool
removeRows(
int
row,
int
count,
const
QModelIndex &parent = QModelIndex() )
override
;
94
QVariant headerData(
int
section, Qt::Orientation orientation,
int
role = Qt::DisplayRole )
const override
;
95
96
private
slots:
97
void
bookmarkAboutToBeAdded(
const
QString &
id
);
98
void
bookmarkAdded(
const
QString &
id
);
99
void
bookmarkAboutToBeRemoved(
const
QString &
id
);
100
void
bookmarkRemoved(
const
QString &
id
);
101
void
bookmarkChanged(
const
QString &
id
);
102
103
private
:
104
bool
mBlocked =
false
;
105
QgsBookmarkManager
*mManager =
nullptr
;
106
QgsBookmarkManager
*mProjectManager =
nullptr
;
107
QgsBookmark
bookmarkForIndex(
const
QModelIndex &index )
const
;
108
};
109
118
class
CORE_EXPORT
QgsBookmarkManagerProxyModel
:
public
QSortFilterProxyModel
119
{
120
Q_OBJECT
121
122
public
:
128
QgsBookmarkManagerProxyModel
(
QgsBookmarkManager
*manager,
QgsBookmarkManager
*projectManager =
nullptr
, QObject *parent
SIP_TRANSFERTHIS
=
nullptr
);
129
130
private
:
131
QgsBookmarkManagerModel
*mModel =
nullptr
;
132
};
133
134
#endif
// QGSBOOKMARKMODEL_H
QgsBookmarkManagerModel
Implements a model for the contents of QgsBookmarkManager objects.
Definition
qgsbookmarkmodel.h:43
QgsBookmarkManagerModel::Columns
Columns
Model columns.
Definition
qgsbookmarkmodel.h:68
QgsBookmarkManagerModel::ColumnName
@ ColumnName
Name column.
Definition
qgsbookmarkmodel.h:69
QgsBookmarkManagerModel::ColumnXMin
@ ColumnXMin
Extent x-minimum.
Definition
qgsbookmarkmodel.h:71
QgsBookmarkManagerModel::ColumnRotation
@ ColumnRotation
Rotation of the map.
Definition
qgsbookmarkmodel.h:75
QgsBookmarkManagerModel::ColumnCrs
@ ColumnCrs
CRS of extent.
Definition
qgsbookmarkmodel.h:76
QgsBookmarkManagerModel::ColumnGroup
@ ColumnGroup
Group column.
Definition
qgsbookmarkmodel.h:70
QgsBookmarkManagerModel::ColumnYMin
@ ColumnYMin
Extent y-minimum.
Definition
qgsbookmarkmodel.h:72
QgsBookmarkManagerModel::ColumnStore
@ ColumnStore
Manager storing the bookmark (true if stored in project bookmark manager).
Definition
qgsbookmarkmodel.h:77
QgsBookmarkManagerModel::ColumnXMax
@ ColumnXMax
Extent x-maximum.
Definition
qgsbookmarkmodel.h:73
QgsBookmarkManagerModel::ColumnYMax
@ ColumnYMax
Extent y-maximum.
Definition
qgsbookmarkmodel.h:74
QgsBookmarkManagerModel::QgsBookmarkManagerModel
QgsBookmarkManagerModel(QgsBookmarkManager *manager, QgsBookmarkManager *projectManager=nullptr, QObject *parent=nullptr)
Constructor for QgsBookmarkManagerModel, associated with a main manager (usually the application book...
Definition
qgsbookmarkmodel.cpp:28
QgsBookmarkManagerModel::CustomRole
CustomRole
Custom model roles.
Definition
qgsbookmarkmodel.h:56
QgsBookmarkManagerProxyModel::QgsBookmarkManagerProxyModel
QgsBookmarkManagerProxyModel(QgsBookmarkManager *manager, QgsBookmarkManager *projectManager=nullptr, QObject *parent=nullptr)
Constructor for QgsBookmarkManagerProxyModel, associated with a main manager (usually the application...
Definition
qgsbookmarkmodel.cpp:387
QgsBookmarkManager
Manages storage of a set of bookmarks.
Definition
qgsbookmarkmanager.h:173
QgsBookmark
Represents a spatial bookmark, with a name, CRS and extent.
Definition
qgsbookmarkmanager.h:42
qgis_sip.h
SIP_TRANSFERTHIS
#define SIP_TRANSFERTHIS
Definition
qgis_sip.h:52
SIP_MONKEYPATCH_SCOPEENUM_UNNEST
#define SIP_MONKEYPATCH_SCOPEENUM_UNNEST(OUTSIDE_CLASS, FORMERNAME)
Definition
qgis_sip.h:270
SIP_MONKEYPATCH_COMPAT_NAME
#define SIP_MONKEYPATCH_COMPAT_NAME(FORMERNAME)
Definition
qgis_sip.h:272
Generated on
for QGIS API Documentation by
1.17.0