QGIS API Documentation
4.3.0-Master (16eddb2670e)
Toggle main menu visibility
Loading...
Searching...
No Matches
src
core
qgsrecentstylehandler.h
Go to the documentation of this file.
1
/***************************************************************************
2
qgsrecentstylehandler.h
3
------------------------
4
begin : September 2021
5
copyright : (C) 2021 by 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 QGSRECENTSTYLEHANDLER_H
17
#define QGSRECENTSTYLEHANDLER_H
18
19
#include <memory>
20
#include <unordered_map>
21
22
#include "
qgis.h
"
23
#include "qgis_core.h"
24
#include "
qgis_sip.h
"
25
#include "
qgssymbol.h
"
26
27
class
QgsSymbol
;
28
39
class
CORE_EXPORT
QgsRecentStyleHandler
40
{
41
public
:
48
QgsRecentStyleHandler
();
49
50
QgsRecentStyleHandler
(
const
QgsRecentStyleHandler
&other ) =
delete
;
51
QgsRecentStyleHandler
&
operator=
(
const
QgsRecentStyleHandler
&other ) =
delete
;
52
53
~QgsRecentStyleHandler
();
54
75
void
pushRecentSymbol
(
const
QString &identifier,
QgsSymbol
*symbol
SIP_TRANSFER
);
76
85
QgsSymbol
*
recentSymbol
(
const
QString &identifier )
const
SIP_FACTORY
;
86
94
template
<
class
SymbolType> std::unique_ptr< SymbolType >
recentSymbol
(
const
QString &identifier )
const
SIP_SKIP
95
{
96
std::unique_ptr< QgsSymbol > tmpSymbol(
recentSymbol
( identifier ) );
97
return
qgis::unique_ptr_dynamic_cast<SymbolType>( std::move( tmpSymbol ) );
98
}
99
100
private
:
101
#ifdef SIP_RUN
102
QgsRecentStyleHandler
(
const
QgsRecentStyleHandler
&other );
103
#endif
104
105
std::unordered_map< QString, std::unique_ptr< QgsSymbol > > mRecentSymbols;
106
};
107
108
#endif
// QGSRECENTSTYLEHANDLER_H
QgsRecentStyleHandler
Handles and tracks style items recently used in the QGIS GUI.
Definition
qgsrecentstylehandler.h:40
QgsRecentStyleHandler::QgsRecentStyleHandler
QgsRecentStyleHandler(const QgsRecentStyleHandler &other)=delete
QgsRecentStyleHandler::pushRecentSymbol
void pushRecentSymbol(const QString &identifier, QgsSymbol *symbol)
Pushes a recently used symbol with the specified identifier.
Definition
qgsrecentstylehandler.cpp:25
QgsRecentStyleHandler::QgsRecentStyleHandler
QgsRecentStyleHandler()
Creates a new recent style handler.
QgsRecentStyleHandler::recentSymbol
std::unique_ptr< SymbolType > recentSymbol(const QString &identifier) const
Returns a copy of the recently used symbol with the specified identifier, or nullptr if no symbol wit...
Definition
qgsrecentstylehandler.h:94
QgsRecentStyleHandler::~QgsRecentStyleHandler
~QgsRecentStyleHandler()
QgsRecentStyleHandler::operator=
QgsRecentStyleHandler & operator=(const QgsRecentStyleHandler &other)=delete
QgsRecentStyleHandler::recentSymbol
QgsSymbol * recentSymbol(const QString &identifier) const
Returns a copy of the recently used symbol with the specified identifier, or nullptr if no symbol wit...
Definition
qgsrecentstylehandler.cpp:30
QgsSymbol
Abstract base class for all rendered symbols.
Definition
qgssymbol.h:227
qgis.h
qgis_sip.h
SIP_SKIP
#define SIP_SKIP
Definition
qgis_sip.h:138
SIP_TRANSFER
#define SIP_TRANSFER
Definition
qgis_sip.h:35
SIP_FACTORY
#define SIP_FACTORY
Definition
qgis_sip.h:83
qgssymbol.h
Generated on
for QGIS API Documentation by
1.17.0