QGIS API Documentation 3.99.0-Master (26c88405ac0)
Loading...
Searching...
No Matches
qgsgui.cpp
Go to the documentation of this file.
1/***************************************************************************
2 qgsgui.cpp
3 ----------
4 begin : May 2017
5 copyright : (C) 2017 by Nyall Dawson
6 email : nyall dot dawson at gmail dot com
7 ***************************************************************************/
8
9/***************************************************************************
10 * *
11 * This program is free software; you can redistribute it and/or modify *
12 * it under the terms of the GNU General Public License as published by *
13 * the Free Software Foundation; either version 2 of the License, or *
14 * (at your option) any later version. *
15 * *
16 ***************************************************************************/
17
18
19#include "qgsgui.h"
20
24#include "qgscalloutsregistry.h"
30
31#include <QMessageBox>
32#include <QScreen>
33
34#include "moc_qgsgui.cpp"
35
36#ifdef Q_OS_MACOS
37#include "qgsmacnative.h"
38#elif defined( Q_OS_WIN )
39#ifndef __MINGW32__
40#include "qgswinnative.h"
41#else
42#include "qgsnative.h"
43#endif
44#elif defined( Q_OS_LINUX )
45#include "qgslinuxnative.h"
46#else
47#include "qgsnative.h"
48#endif
50#include "qgsshortcutsmanager.h"
52#include "qgslogger.h"
56#include "qgssettings.h"
59#include "qgsproject.h"
62#include "qgsprojectutils.h"
63#include "qgsmessagebar.h"
64#include "qgsmessagebaritem.h"
76#include "qgshistoryentry.h"
77#include "qgsstacsourceselectprovider.h"
83#include "qgsplotregistry.h"
84#include "qgsplotwidget.h"
85
86#include <QFileInfo>
87#include <QPushButton>
88#include <QToolButton>
89
91{
92 static QgsGui *sInstance( new QgsGui() );
93 return sInstance;
94}
95
97{
98 return instance()->mNative;
99}
100
102{
103 return instance()->mSettingsRegistryGui;
104}
105
107{
108 return instance()->mEditorWidgetRegistry;
109}
110
112{
113 return instance()->mRelationEditorRegistry;
114}
115
117{
118 return instance()->mShapeMapToolRegistry;
119}
120
122{
123 return instance()->mSourceSelectProviderRegistry;
124}
125
127{
128 return instance()->mSubsetStringEditorProviderRegistry;
129}
130
132{
133 return instance()->mProviderSourceWidgetProviderRegistry;
134}
135
137{
138 return instance()->mShortcutsManager;
139}
140
142{
143 return instance()->mLayerTreeEmbeddedWidgetRegistry;
144}
145
147{
148 return instance()->mMapLayerActionRegistry;
149}
150
152{
153 return instance()->mLayoutItemGuiRegistry;
154}
155
157{
158 return instance()->mAnnotationItemGuiRegistry;
159}
160
162{
163 return instance()->mAdvancedDigitizingToolsRegistry;
164}
165
167{
168 return instance()->mProcessingGuiRegistry;
169}
170
172{
173 return instance()->mNumericFormatGuiRegistry;
174}
175
177{
178 return instance()->mCodeEditorColorSchemeRegistry;
179}
180
181QgsProcessingFavoriteAlgorithmManager *QgsGui::processingFavoriteAlgorithmManager()
182{
183 return instance()->mProcessingFavoriteAlgorithmManager;
184}
185
186QgsProcessingRecentAlgorithmLog *QgsGui::processingRecentAlgorithmLog()
187{
188 return instance()->mProcessingRecentAlgorithmLog;
189}
190
192{
193 return instance()->mDataItemGuiProviderRegistry;
194}
195
197{
198 return instance()->mProjectStorageGuiRegistry;
199}
200
202{
203 return instance()->mProviderGuiRegistry;
204}
205
207{
208 return instance()->mSensorGuiRegistry;
209}
210
212{
213 return instance()->mHistoryProviderRegistry;
214}
215
217{
218 return instance()->mSettingsEditorRegistry;
219}
220
221void QgsGui::enableAutoGeometryRestore( QWidget *widget, const QString &key )
222{
223 if ( widget->objectName().isEmpty() )
224 {
225 QgsDebugError( QStringLiteral( "WARNING: No object name set. Best for it to be set objectName when using QgsGui::enableAutoGeometryRestore" ) );
226 }
227 instance()->mWidgetStateHelper->registerWidget( widget, key );
228}
229
230QgsWindowManagerInterface *QgsGui::windowManager()
231{
232 return instance()->mWindowManager.get();
233}
234
236{
237 return instance()->mInputControllerManager;
238}
239
241{
242 return instance()->mStoredQueryManager;
243}
244
245void QgsGui::setWindowManager( QgsWindowManagerInterface *manager )
246{
247 instance()->mWindowManager.reset( manager );
248}
249
251{
252 if ( QgsApplication::settingsLocaleUserLocale->value().startsWith( QLatin1String( "en" ) ) )
253 {
255 }
256 else
257 {
258 return QgsGui::HigFlags();
259 }
260}
261
263{
264 delete mProcessingGuiRegistry;
265 delete mDataItemGuiProviderRegistry;
266 delete mProcessingFavoriteAlgorithmManager;
267 delete mProcessingRecentAlgorithmLog;
268 delete mLayoutItemGuiRegistry;
269 delete mAnnotationItemGuiRegistry;
270 delete mAdvancedDigitizingToolsRegistry;
271 delete mLayerTreeEmbeddedWidgetRegistry;
272 delete mEditorWidgetRegistry;
273 delete mMapLayerActionRegistry;
274 delete mSourceSelectProviderRegistry;
275 delete mHistoryProviderRegistry;
276 delete mShortcutsManager;
277 delete mNative;
278 delete mNumericFormatGuiRegistry;
279 delete mWidgetStateHelper;
280 delete mProjectStorageGuiRegistry;
281 delete mProviderGuiRegistry;
282 delete mCodeEditorColorSchemeRegistry;
283 delete mSubsetStringEditorProviderRegistry;
284 delete mProviderSourceWidgetProviderRegistry;
285 delete mShapeMapToolRegistry;
286 delete mRelationEditorRegistry;
287 delete mInputControllerManager;
288 delete mSettingsRegistryGui;
289 delete mSensorGuiRegistry;
290 delete mStoredQueryManager;
291 delete mSettingsEditorRegistry;
292}
293
294QColor QgsGui::sampleColor( QPoint point )
295{
296 QScreen *screen = findScreenAt( point );
297 if ( !screen )
298 {
299 return QColor();
300 }
301
302 const int x = point.x() - screen->geometry().left();
303 const int y = point.y() - screen->geometry().top();
304 const QPixmap snappedPixmap = screen->grabWindow( 0, x, y, 1, 1 );
305 const QImage snappedImage = snappedPixmap.toImage();
306 return snappedImage.pixel( 0, 0 );
307}
308
309QScreen *QgsGui::findScreenAt( QPoint point )
310{
311 const QList<QScreen *> screens = QGuiApplication::screens();
312 for ( QScreen *screen : screens )
313 {
314 if ( screen->geometry().contains( point ) )
315 {
316 return screen;
317 }
318 }
319 return nullptr;
320}
321
323{
324#ifdef Q_OS_MAC
325 QgsMacNative *macNative = new QgsMacNative();
326 macNative->setIconPath( QgsApplication::iconsPath() + QStringLiteral( "qgis-icon-macos.png" ) );
327 mNative = macNative;
328#elif defined( Q_OS_WIN )
329#ifndef __MINGW32__
330 mNative = new QgsWinNative();
331#else
332 mNative = new QgsNative();
333#endif
334#elif defined( Q_OS_LINUX )
335 mNative = new QgsLinuxNative();
336#else
337 mNative = new QgsNative();
338#endif
339
340 mSettingsRegistryGui = new QgsSettingsRegistryGui();
341
342 mSettingsEditorRegistry = new QgsSettingsEditorWidgetRegistry();
343
344 mStoredQueryManager = new QgsStoredQueryManager();
345 mCodeEditorColorSchemeRegistry = new QgsCodeEditorColorSchemeRegistry();
346
347 // provider gui registry initialize QgsProviderRegistry too
348 mSensorGuiRegistry = new QgsSensorGuiRegistry();
349 mSensorGuiRegistry->populate();
350
351 mHistoryProviderRegistry = new QgsHistoryProviderRegistry();
352 mHistoryProviderRegistry->addDefaultProviders();
353
354 mInputControllerManager = new QgsInputControllerManager();
355
356 mProviderGuiRegistry = new QgsProviderGuiRegistry( QgsApplication::pluginPath() );
357 mProjectStorageGuiRegistry = new QgsProjectStorageGuiRegistry();
358 mDataItemGuiProviderRegistry = new QgsDataItemGuiProviderRegistry();
359 mSourceSelectProviderRegistry = new QgsSourceSelectProviderRegistry();
360 mNumericFormatGuiRegistry = new QgsNumericFormatGuiRegistry();
361 mSubsetStringEditorProviderRegistry = new QgsSubsetStringEditorProviderRegistry();
362 mProviderSourceWidgetProviderRegistry = new QgsProviderSourceWidgetProviderRegistry();
363
364 mProjectStorageGuiRegistry->initializeFromProviderGuiRegistry( mProviderGuiRegistry );
365 mDataItemGuiProviderRegistry->initializeFromProviderGuiRegistry( mProviderGuiRegistry );
366 mSourceSelectProviderRegistry->initializeFromProviderGuiRegistry( mProviderGuiRegistry );
367 mSourceSelectProviderRegistry->addProvider( new QgsLayerMetadataSourceSelectProvider() );
368 mSourceSelectProviderRegistry->addProvider( new QgsStacSourceSelectProvider() );
369 mSubsetStringEditorProviderRegistry->initializeFromProviderGuiRegistry( mProviderGuiRegistry );
370 mProviderSourceWidgetProviderRegistry->initializeFromProviderGuiRegistry( mProviderGuiRegistry );
371
372 mEditorWidgetRegistry = new QgsEditorWidgetRegistry();
373 mRelationEditorRegistry = new QgsRelationWidgetRegistry();
374 mShapeMapToolRegistry = new QgsMapToolShapeRegistry();
375 mShortcutsManager = new QgsShortcutsManager();
376 mLayerTreeEmbeddedWidgetRegistry = new QgsLayerTreeEmbeddedWidgetRegistry();
377 mMapLayerActionRegistry = new QgsMapLayerActionRegistry();
378 mLayoutItemGuiRegistry = new QgsLayoutItemGuiRegistry();
379
380 mAnnotationItemGuiRegistry = new QgsAnnotationItemGuiRegistry();
381 mAnnotationItemGuiRegistry->addDefaultItems();
382
383 mAdvancedDigitizingToolsRegistry = new QgsAdvancedDigitizingToolsRegistry();
384 mAdvancedDigitizingToolsRegistry->addDefaultTools();
385
386 mWidgetStateHelper = new QgsWidgetStateHelper();
387 mProcessingFavoriteAlgorithmManager = new QgsProcessingFavoriteAlgorithmManager();
388 mProcessingRecentAlgorithmLog = new QgsProcessingRecentAlgorithmLog();
389 mProcessingGuiRegistry = new QgsProcessingGuiRegistry();
390
391 qRegisterMetaType<QgsHistoryEntry>( "QgsHistoryEntry" );
392}
393
395{
398 if ( trustStatus == Qgis::ProjectTrustStatus::Undetermined && embeddedScriptMode == Qgis::EmbeddedScriptMode::Ask )
399 {
400 QgsProjectTrustDialog dialog( project );
401 dialog.exec();
402 trustStatus = QgsProjectUtils::checkUserTrust( project );
403 }
404
405 if ( messageBar )
406 {
407 if ( trustStatus == Qgis::ProjectTrustStatus::Trusted )
408 {
409 messageBar->pushMessage(
410 tr( "Security warning" ),
411 tr( "The loaded project contains embedded scripts which have been allowed execution." ),
413 );
414 }
415 else
416 {
417 messageBar->pushMessage(
418 tr( "Security warning" ),
419 tr( "The loaded project contains embedded scripts which have been denied execution." ),
421 );
422 }
423 }
424
425 return trustStatus == Qgis::ProjectTrustStatus::Trusted;
426}
427
429{
430 static std::once_flag initialized;
431 std::call_once( initialized, []() {
432 auto _initCalloutWidgetFunction = []( const QString &name, QgsCalloutWidgetFunc f ) {
434
435 QgsCalloutAbstractMetadata *abstractMetadata = registry->calloutMetadata( name );
436 if ( !abstractMetadata )
437 {
438 QgsDebugError( QStringLiteral( "Failed to find callout entry in registry: %1" ).arg( name ) );
439 }
440 QgsCalloutMetadata *metadata = dynamic_cast<QgsCalloutMetadata *>( abstractMetadata );
441 if ( !metadata )
442 {
443 QgsDebugError( QStringLiteral( "Failed to cast callout's metadata: " ).arg( name ) );
444 }
445 else
446 {
447 metadata->setWidgetFunction( f );
448 }
449 };
450
451 _initCalloutWidgetFunction( QStringLiteral( "simple" ), QgsSimpleLineCalloutWidget::create );
452 _initCalloutWidgetFunction( QStringLiteral( "manhattan" ), QgsManhattanLineCalloutWidget::create );
453 _initCalloutWidgetFunction( QStringLiteral( "curved" ), QgsCurvedLineCalloutWidget::create );
454 _initCalloutWidgetFunction( QStringLiteral( "balloon" ), QgsBalloonCalloutWidget::create );
455 } );
456}
457
459{
460 static std::once_flag initialized;
461 std::call_once( initialized, []() {
462 auto _initPlotWidgetFunction = []( const QString &name, QgsPlotWidgetCreateFunc f ) {
464
465 QgsPlotAbstractMetadata *abstractMetadata = registry->plotMetadata( name );
466 if ( !abstractMetadata )
467 {
468 QgsDebugError( QStringLiteral( "Failed to find plot entry in registry: %1" ).arg( name ) );
469 }
470 QgsPlotMetadata *metadata = dynamic_cast<QgsPlotMetadata *>( abstractMetadata );
471 if ( !metadata )
472 {
473 QgsDebugError( QStringLiteral( "Failed to cast plot's metadata: " ).arg( name ) );
474 }
475 else
476 {
477 metadata->setWidgetCreateFunction( std::move( f ) );
478 }
479 };
480
481 _initPlotWidgetFunction( QStringLiteral( "bar" ), QgsBarChartPlotWidget::create );
482 _initPlotWidgetFunction( QStringLiteral( "line" ), QgsLineChartPlotWidget::create );
483 _initPlotWidgetFunction( QStringLiteral( "pie" ), QgsPieChartPlotWidget::create );
484 } );
485}
486
488{
489#ifdef HAVE_WEBENGINE
490 return true;
491#else
492 return false;
493#endif
494}
495
497void QgsGui::emitOptionsChanged()
498{
499 emit optionsChanged();
500}
ProjectTrustStatus
Project trust status.
Definition qgis.h:452
@ Trusted
The project trust has not yet been determined by the user.
Definition qgis.h:454
@ Warning
Warning message.
Definition qgis.h:158
@ Info
Information message.
Definition qgis.h:157
EmbeddedScriptMode
Authorisation to run script embedded in projects.
Definition qgis.h:424
@ Always
Embedded scripts are always run.
Definition qgis.h:428
@ Never
Embedded scripts never run.
Definition qgis.h:425
@ Ask
User is prompted before running scripts.
Definition qgis.h:426
Registry of available advanced digitizing tools.
void addDefaultTools()
Adds the default tools shipped in QGIS.
Registry of available annotation item GUI behavior.
void addDefaultItems()
Populates the registry with default items.
static QString pluginPath()
Returns the path to the application plugin directory.
static const QgsSettingsEntryString * settingsLocaleUserLocale
Settings entry locale user locale.
static QgsCalloutRegistry * calloutRegistry()
Returns the application's callout registry, used for managing callout types.
static QString iconsPath()
Returns the path to the icons image directory.
static QgsPlotRegistry * plotRegistry()
Returns the application's plot registry, used for plot types.
static QgsPlotWidget * create(QWidget *parent)
Creates a new bar chart plot configuration widget.
Stores metadata about one callout renderer class.
Convenience metadata class that uses static functions to create callouts and their widgets.
void setWidgetFunction(QgsCalloutWidgetFunc f)
Registry of available callout classes.
QgsCalloutAbstractMetadata * calloutMetadata(const QString &type) const
Returns the metadata for specified the specified callout type.
A registry of color schemes for use in QgsCodeEditor widgets.
A registry for data item GUI providers that may affect how QgsDataItems behave within the application...
void initializeFromProviderGuiRegistry(QgsProviderGuiRegistry *providerGuiRegistry)
Initializes the registry.
A registry that manages all known edit widget factories.
static QgsMapToolShapeRegistry * mapToolShapeRegistry()
Returns the registry of shape map tools.
Definition qgsgui.cpp:116
static QgsEditorWidgetRegistry * editorWidgetRegistry()
Returns the global editor widget registry, used for managing all known edit widget factories.
Definition qgsgui.cpp:106
static QgsProviderSourceWidgetProviderRegistry * sourceWidgetProviderRegistry()
Returns the registry of provider source widget providers.
Definition qgsgui.cpp:131
static QgsProcessingGuiRegistry * processingGuiRegistry()
Returns the global processing gui registry, used for registering the GUI behavior of processing algor...
Definition qgsgui.cpp:166
static QgsShortcutsManager * shortcutsManager()
Returns the global shortcuts manager, used for managing a QAction and QShortcut sequences.
Definition qgsgui.cpp:136
static void setWindowManager(QgsWindowManagerInterface *manager)
Sets the global window manager.
Definition qgsgui.cpp:245
void optionsChanged()
This signal is emitted whenever the application options have been changed.
static QgsInputControllerManager * inputControllerManager()
Returns the global input controller manager.
Definition qgsgui.cpp:235
static QgsProcessingFavoriteAlgorithmManager * processingFavoriteAlgorithmManager()
Returns the global Processing favorite algorithm manager, used for tracking favorite Processing algor...
Definition qgsgui.cpp:181
static QgsLayerTreeEmbeddedWidgetRegistry * layerTreeEmbeddedWidgetRegistry()
Returns the global layer tree embedded widget registry, used for registering widgets that may be embe...
Definition qgsgui.cpp:141
static QScreen * findScreenAt(QPoint point)
Returns the screen at the given global point (pixel).
Definition qgsgui.cpp:309
static QgsAnnotationItemGuiRegistry * annotationItemGuiRegistry()
Returns the global annotation item GUI registry, used for registering the GUI behavior of annotation ...
Definition qgsgui.cpp:156
static QgsMapLayerActionRegistry * mapLayerActionRegistry()
Returns the global map layer action registry, used for registering map layer actions.
Definition qgsgui.cpp:146
static QgsGui * instance()
Returns a pointer to the singleton instance.
Definition qgsgui.cpp:90
static QgsProviderGuiRegistry * providerGuiRegistry()
Returns the registry of GUI-related components of data providers.
Definition qgsgui.cpp:201
static QgsRelationWidgetRegistry * relationWidgetRegistry()
Returns the global relation widget registry, used for managing all known relation widget factories.
Definition qgsgui.cpp:111
static QgsSensorGuiRegistry * sensorGuiRegistry()
Returns the registry of GUI-related components for sensors.
Definition qgsgui.cpp:206
static QgsAdvancedDigitizingToolsRegistry * advancedDigitizingToolsRegistry()
Returns the global advanced digitizing tools registry, used for registering advanced digitizing tools...
Definition qgsgui.cpp:161
static void enableAutoGeometryRestore(QWidget *widget, const QString &key=QString())
Register the widget to allow its position to be automatically saved and restored when open and closed...
Definition qgsgui.cpp:221
static QgsHistoryProviderRegistry * historyProviderRegistry()
Returns the global history provider registry, used for tracking history providers.
Definition qgsgui.cpp:211
static bool allowExecutionOfEmbeddedScripts(QgsProject *project, QgsMessageBar *messageBar=nullptr)
Returns true if python embedded in a project is currently allowed to be loaded.
Definition qgsgui.cpp:394
@ HigMenuTextIsTitleCase
Menu action texts should be title case.
Definition qgsgui.h:280
@ HigDialogTitleIsTitleCase
Dialog titles should be title case.
Definition qgsgui.h:281
static QgsStoredQueryManager * storedQueryManager()
Returns the global stored SQL query manager.
Definition qgsgui.cpp:240
static QgsNative * nativePlatformInterface()
Returns the global native interface, which offers abstraction to the host OS's underlying public inte...
Definition qgsgui.cpp:96
static bool hasWebEngine()
Checks whether QWebEngineView is available to display HTML content.
Definition qgsgui.cpp:487
QgsGui(const QgsGui &other)=delete
static QgsWindowManagerInterface * windowManager()
Returns the global window manager, if set.
Definition qgsgui.cpp:230
static QgsDataItemGuiProviderRegistry * dataItemGuiProviderRegistry()
Returns the global data item GUI provider registry, used for tracking providers which affect the brow...
Definition qgsgui.cpp:191
~QgsGui() override
Definition qgsgui.cpp:262
static QgsProcessingRecentAlgorithmLog * processingRecentAlgorithmLog()
Returns the global processing recent algorithm log, used for tracking recently used processing algori...
Definition qgsgui.cpp:186
QFlags< HigFlag > HigFlags
Definition qgsgui.h:283
static QgsSubsetStringEditorProviderRegistry * subsetStringEditorProviderRegistry()
Returns the registry of subset string editors of data providers.
Definition qgsgui.cpp:126
static QgsProjectStorageGuiRegistry * projectStorageGuiRegistry()
Returns the global GUI-related project storage registry.
Definition qgsgui.cpp:196
static QgsGui::HigFlags higFlags()
Returns the platform's HIG flags.
Definition qgsgui.cpp:250
static QgsLayoutItemGuiRegistry * layoutItemGuiRegistry()
Returns the global layout item GUI registry, used for registering the GUI behavior of layout items.
Definition qgsgui.cpp:151
static void initPlotWidgets()
Initializes plot widgets.
Definition qgsgui.cpp:458
static void initCalloutWidgets()
Initializes callout widgets.
Definition qgsgui.cpp:428
static QgsSettingsRegistryGui * settingsRegistryGui()
Returns the gui's settings registry, used for managing gui settings.
Definition qgsgui.cpp:101
static QgsSourceSelectProviderRegistry * sourceSelectProviderRegistry()
Returns the global source select provider registry, used for managing all known source select widget ...
Definition qgsgui.cpp:121
static QgsCodeEditorColorSchemeRegistry * codeEditorColorSchemeRegistry()
Returns the global code editor color scheme registry, used for registering the color schemes for QgsC...
Definition qgsgui.cpp:176
static QgsNumericFormatGuiRegistry * numericFormatGuiRegistry()
Returns the global numeric format gui registry, used for registering the GUI widgets associated with ...
Definition qgsgui.cpp:171
static QgsSettingsEditorWidgetRegistry * settingsEditorWidgetRegistry()
Returns the registry of settings editors.
Definition qgsgui.cpp:216
static QColor sampleColor(QPoint point)
Samples the color on screen at the specified global point (pixel).
Definition qgsgui.cpp:294
A registry for objects which track user history (i.e.
void addDefaultProviders()
Adds the default history providers to the registry.
Manages input control devices.
Source select provider for layer metadata.
Registry of widgets that may be embedded into layer tree view.
Registry of available layout item GUI behavior.
static QgsPlotWidget * create(QWidget *parent)
Creates a new line chart plot configuration widget.
A registry which tracks map layer actions.
Keeps track of the registered shape map tools.
A bar for displaying non-blocking messages to the user.
void pushMessage(const QString &text, Qgis::MessageLevel level=Qgis::MessageLevel::Info, int duration=-1)
A convenience method for pushing a message with the specified text to the bar.
A registry for widgets which configure QgsNumericFormat objects.
static QgsPlotWidget * create(QWidget *parent)
Creates a new line chart plot configuration widget.
Stores metadata about a plot class.
Convenience metadata class that uses static functions to create plots.
void setWidgetCreateFunction(QgsPlotWidgetCreateFunc function)
Sets the classes' plot widget creation function.
Registry of available plot types.
QgsPlotAbstractMetadata * plotMetadata(const QString &type) const
Returns the metadata for the specified plot type.
A registry for widgets for use with the Processing framework.
A registry / canonical manager of GUI parts of project storage backends.
void initializeFromProviderGuiRegistry(QgsProviderGuiRegistry *providerGuiRegistry)
Initializes the registry.
A dialog to handle granting of trust to projects containing embedded script.
static Qgis::ProjectTrustStatus checkUserTrust(QgsProject *project)
Returns the current trust status of the specified project.
Encapsulates a QGIS project, including sets of map layers and their styles, layouts,...
Definition qgsproject.h:109
A registry / canonical manager of GUI parts of data providers.
A registry that keeps a list of provider source widget providers.
void initializeFromProviderGuiRegistry(QgsProviderGuiRegistry *providerGuiRegistry)
Initializes the registry.
Keeps track of the registered relations widgets.
Registry of available sensor GUI behavior.
bool populate()
Populates the registry with standard sensor types.
A registry that manages editor widgets for settings.
static const QgsSettingsEntryEnumFlag< Qgis::EmbeddedScriptMode > * settingsCodeExecutionBehaviorUndeterminedProjects
Settings entry for behavior handling embedded scripts within projects.
Used for settings introspection and collects all QgsSettingsEntry instances of GUI.
Shortcuts manager is a class that contains a list of QActions and QShortcuts that have been registere...
A registry for QgsSourceSelectProvider source select providers.
void initializeFromProviderGuiRegistry(QgsProviderGuiRegistry *providerGuiRegistry)
Initializes the registry.
void addProvider(QgsSourceSelectProvider *provider)
Add a provider implementation. Takes ownership of the object.
A manager for stored SQL queries.
A registry for subset string editor providers.
void initializeFromProviderGuiRegistry(QgsProviderGuiRegistry *providerGuiRegistry)
Initializes the registry.
A helper class to save and restore the geometry of QWidgets in the application.
void registerWidget(QWidget *widget, const QString &key=QString())
Register a widget to have it geometry state automatically saved and restored.
QgsCalloutWidget *(* QgsCalloutWidgetFunc)(QgsMapLayer *)
#define QgsDebugError(str)
Definition qgslogger.h:57
std::function< QgsPlotWidget *(QWidget *parent)> QgsPlotWidgetCreateFunc