QGIS API Documentation
4.3.0-Master (52aa6503bed)
Toggle main menu visibility
Loading...
Searching...
No Matches
src
gui
qgsdataitemguiproviderutils.h
Go to the documentation of this file.
1
/***************************************************************************
2
qgsdataitemguiproviderutils.h
3
--------------------------------------
4
Date : June 2024
5
Copyright : (C) 2024 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 QGSDATAITEMGUIPROVIDERUTILS_H
17
#define QGSDATAITEMGUIPROVIDERUTILS_H
18
19
#include <functional>
20
21
#include "
qgis.h
"
22
#include "qgis_gui.h"
23
#include "
qgis_sip.h
"
24
#include "
qgsdataitem.h
"
25
#include "
qgsdataitemguiprovider.h
"
26
27
#include <QPointer>
28
29
class
QgsDataItem
;
30
39
class
GUI_EXPORT
QgsDataItemGuiProviderUtils
40
{
41
public
:
42
#ifndef SIP_RUN
43
49
template
<
class
T>
static
void
deleteConnections
(
const
QList<T *> &items,
const
std::function<
void
(
const
QString & )> &deleteConnection,
QgsDataItemGuiContext
context )
50
{
51
( void ) context;
52
if
( items.empty() )
53
return
;
54
55
QStringList connectionNames;
56
connectionNames.reserve( items.size() );
57
for
( T *item : items )
58
{
59
connectionNames << item->name();
60
}
61
QPointer<QgsDataItem> firstParent( items.at( 0 )->parent() );
62
deleteConnectionsPrivate( connectionNames, deleteConnection, std::move( firstParent ) );
63
}
64
73
static
const
QString uniqueName(
const
QString &name,
const
QStringList &connectionNames );
74
80
static
bool
handleDropUriForConnection(
81
std::unique_ptr< QgsAbstractDatabaseProviderConnection > connection,
82
const
QgsMimeDataUtils::Uri
&sourceUri,
83
const
QString &destinationSchema,
84
QgsDataItemGuiContext
context,
85
const
QString &shortTitle,
86
const
QString &longTitle,
87
const
QVariantMap &destinationProviderOptions,
88
const
std::function<
void
()> &onSuccessfulCompletion,
89
const
std::function<
void
(
Qgis::VectorExportResult
error,
const
QString &errorMessage )> &onError,
90
QObject *connectionContext
91
);
92
98
static
void
handleImportVectorLayerForConnection(
99
std::unique_ptr< QgsAbstractDatabaseProviderConnection > connection,
100
const
QString &destinationSchema,
101
QgsDataItemGuiContext
context,
102
const
QString &shortTitle,
103
const
QString &longTitle,
104
const
QVariantMap &destinationProviderOptions,
105
const
std::function<
void
()> &onSuccessfulCompletion,
106
const
std::function<
void
(
Qgis::VectorExportResult
error,
const
QString &errorMessage )> &onError,
107
QObject *connectionContext
108
);
109
119
static
void
addToSubMenu( QMenu *mainMenu, QAction *actionToAdd,
const
QString &subMenuName );
120
126
static
void
refreshChildWithName(
QgsDataItem
*item,
const
QString &name );
127
#endif
128
129
private
:
130
static
void
deleteConnectionsPrivate(
const
QStringList &connectionNames,
const
std::function<
void
(
const
QString & )> &deleteConnection, QPointer<QgsDataItem> firstParent );
131
};
132
133
#endif
// QGSDATAITEMGUIPROVIDERUTILS_H
Qgis::VectorExportResult
VectorExportResult
Vector layer export result codes.
Definition
qgis.h:1153
QgsDataItemGuiContext
Encapsulates the context in which a QgsDataItem is shown within the application GUI.
Definition
qgsdataitemguiprovider.h:44
QgsDataItemGuiProviderUtils
Utility functions for QgsDataItemGuiProviders.
Definition
qgsdataitemguiproviderutils.h:40
QgsDataItemGuiProviderUtils::deleteConnections
static void deleteConnections(const QList< T * > &items, const std::function< void(const QString &)> &deleteConnection, QgsDataItemGuiContext context)
Handles deletion of a list of connection items.
Definition
qgsdataitemguiproviderutils.h:49
QgsDataItem
Base class for all items in the model.
Definition
qgsdataitem.h:50
qgis.h
qgis_sip.h
qgsdataitem.h
qgsdataitemguiprovider.h
QgsMimeDataUtils::Uri
Definition
qgsmimedatautils.h:45
Generated on
for QGIS API Documentation by
1.17.0