QGIS API Documentation 3.99.0-Master (d270888f95f)
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#include <QString>
34
35#include "moc_qgsgui.cpp"
36
37using namespace Qt::StringLiterals;
38
39#ifdef Q_OS_MACOS
40#include "qgsmacnative.h"
41#elif defined( Q_OS_WIN )
42#ifndef __MINGW32__
43#include "qgswinnative.h"
44#else
45#include "qgsnative.h"
46#endif
47#elif defined( Q_OS_LINUX )
48#include "qgslinuxnative.h"
49#else
50#include "qgsnative.h"
51#endif
53#include "qgsshortcutsmanager.h"
55#include "qgslogger.h"
59#include "qgssettings.h"
62#include "qgsproject.h"
65#include "qgsprojectutils.h"
66#include "qgsmessagebar.h"
67#include "qgsmessagebaritem.h"
79#include "qgshistoryentry.h"
80#include "qgsstacsourceselectprovider.h"
86#include "qgsplotregistry.h"
87#include "qgsplotwidget.h"
88
89#include <QFileInfo>
90#include <QPushButton>
91#include <QToolButton>
92
94{
95 static QgsGui *sInstance( new QgsGui() );
96 return sInstance;
97}
98
100{
101 return instance()->mNative;
102}
103
105{
106 return instance()->mSettingsRegistryGui;
107}
108
110{
111 return instance()->mEditorWidgetRegistry;
112}
113
115{
116 return instance()->mRelationEditorRegistry;
117}
118
120{
121 return instance()->mShapeMapToolRegistry;
122}
123
125{
126 return instance()->mSourceSelectProviderRegistry;
127}
128
130{
131 return instance()->mSubsetStringEditorProviderRegistry;
132}
133
135{
136 return instance()->mProviderSourceWidgetProviderRegistry;
137}
138
140{
141 return instance()->mShortcutsManager;
142}
143
145{
146 return instance()->mLayerTreeEmbeddedWidgetRegistry;
147}
148
150{
151 return instance()->mMapLayerActionRegistry;
152}
153
155{
156 return instance()->mLayoutItemGuiRegistry;
157}
158
160{
161 return instance()->mAnnotationItemGuiRegistry;
162}
163
165{
166 return instance()->mAdvancedDigitizingToolsRegistry;
167}
168
170{
171 return instance()->mProcessingGuiRegistry;
172}
173
175{
176 return instance()->mNumericFormatGuiRegistry;
177}
178
180{
181 return instance()->mCodeEditorColorSchemeRegistry;
182}
183
184QgsProcessingFavoriteAlgorithmManager *QgsGui::processingFavoriteAlgorithmManager()
185{
186 return instance()->mProcessingFavoriteAlgorithmManager;
187}
188
189QgsProcessingRecentAlgorithmLog *QgsGui::processingRecentAlgorithmLog()
190{
191 return instance()->mProcessingRecentAlgorithmLog;
192}
193
195{
196 return instance()->mDataItemGuiProviderRegistry;
197}
198
200{
201 return instance()->mProjectStorageGuiRegistry;
202}
203
205{
206 return instance()->mProviderGuiRegistry;
207}
208
210{
211 return instance()->mSensorGuiRegistry;
212}
213
215{
216 return instance()->mHistoryProviderRegistry;
217}
218
220{
221 return instance()->mSettingsEditorRegistry;
222}
223
224void QgsGui::enableAutoGeometryRestore( QWidget *widget, const QString &key )
225{
226 if ( widget->objectName().isEmpty() )
227 {
228 QgsDebugError( u"WARNING: No object name set. Best for it to be set objectName when using QgsGui::enableAutoGeometryRestore"_s );
229 }
230 instance()->mWidgetStateHelper->registerWidget( widget, key );
231}
232
233QgsWindowManagerInterface *QgsGui::windowManager()
234{
235 return instance()->mWindowManager.get();
236}
237
239{
240 return instance()->mInputControllerManager;
241}
242
244{
245 return instance()->mStoredQueryManager;
246}
247
248void QgsGui::setWindowManager( QgsWindowManagerInterface *manager )
249{
250 instance()->mWindowManager.reset( manager );
251}
252
254{
255 if ( QgsApplication::settingsLocaleUserLocale->value().startsWith( "en"_L1 ) )
256 {
258 }
259 else
260 {
261 return QgsGui::HigFlags();
262 }
263}
264
266{
267 delete mProcessingGuiRegistry;
268 delete mDataItemGuiProviderRegistry;
269 delete mProcessingFavoriteAlgorithmManager;
270 delete mProcessingRecentAlgorithmLog;
271 delete mLayoutItemGuiRegistry;
272 delete mAnnotationItemGuiRegistry;
273 delete mAdvancedDigitizingToolsRegistry;
274 delete mLayerTreeEmbeddedWidgetRegistry;
275 delete mEditorWidgetRegistry;
276 delete mMapLayerActionRegistry;
277 delete mSourceSelectProviderRegistry;
278 delete mHistoryProviderRegistry;
279 delete mShortcutsManager;
280 delete mNative;
281 delete mNumericFormatGuiRegistry;
282 delete mWidgetStateHelper;
283 delete mProjectStorageGuiRegistry;
284 delete mProviderGuiRegistry;
285 delete mCodeEditorColorSchemeRegistry;
286 delete mSubsetStringEditorProviderRegistry;
287 delete mProviderSourceWidgetProviderRegistry;
288 delete mShapeMapToolRegistry;
289 delete mRelationEditorRegistry;
290 delete mInputControllerManager;
291 delete mSettingsRegistryGui;
292 delete mSensorGuiRegistry;
293 delete mStoredQueryManager;
294 delete mSettingsEditorRegistry;
295}
296
297QColor QgsGui::sampleColor( QPoint point )
298{
299 QScreen *screen = findScreenAt( point );
300 if ( !screen )
301 {
302 return QColor();
303 }
304
305 const int x = point.x() - screen->geometry().left();
306 const int y = point.y() - screen->geometry().top();
307 const QPixmap snappedPixmap = screen->grabWindow( 0, x, y, 1, 1 );
308 const QImage snappedImage = snappedPixmap.toImage();
309 return snappedImage.pixel( 0, 0 );
310}
311
312QScreen *QgsGui::findScreenAt( QPoint point )
313{
314 const QList<QScreen *> screens = QGuiApplication::screens();
315 for ( QScreen *screen : screens )
316 {
317 if ( screen->geometry().contains( point ) )
318 {
319 return screen;
320 }
321 }
322 return nullptr;
323}
324
326{
327#ifdef Q_OS_MAC
328 QgsMacNative *macNative = new QgsMacNative();
329 macNative->setIconPath( QgsApplication::iconsPath() + u"qgis-icon-macos.png"_s );
330 mNative = macNative;
331#elif defined( Q_OS_WIN )
332#ifndef __MINGW32__
333 mNative = new QgsWinNative();
334#else
335 mNative = new QgsNative();
336#endif
337#elif defined( Q_OS_LINUX )
338 mNative = new QgsLinuxNative();
339#else
340 mNative = new QgsNative();
341#endif
342
343 mSettingsRegistryGui = new QgsSettingsRegistryGui();
344
345 mSettingsEditorRegistry = new QgsSettingsEditorWidgetRegistry();
346
347 mStoredQueryManager = new QgsStoredQueryManager();
348 mCodeEditorColorSchemeRegistry = new QgsCodeEditorColorSchemeRegistry();
349
350 // provider gui registry initialize QgsProviderRegistry too
351 mSensorGuiRegistry = new QgsSensorGuiRegistry();
352 mSensorGuiRegistry->populate();
353
354 mHistoryProviderRegistry = new QgsHistoryProviderRegistry();
355 mHistoryProviderRegistry->addDefaultProviders();
356
357 mInputControllerManager = new QgsInputControllerManager();
358
359 mProviderGuiRegistry = new QgsProviderGuiRegistry( QgsApplication::pluginPath() );
360 mProjectStorageGuiRegistry = new QgsProjectStorageGuiRegistry();
361 mDataItemGuiProviderRegistry = new QgsDataItemGuiProviderRegistry();
362 mSourceSelectProviderRegistry = new QgsSourceSelectProviderRegistry();
363 mNumericFormatGuiRegistry = new QgsNumericFormatGuiRegistry();
364 mSubsetStringEditorProviderRegistry = new QgsSubsetStringEditorProviderRegistry();
365 mProviderSourceWidgetProviderRegistry = new QgsProviderSourceWidgetProviderRegistry();
366
367 mProjectStorageGuiRegistry->initializeFromProviderGuiRegistry( mProviderGuiRegistry );
368 mDataItemGuiProviderRegistry->initializeFromProviderGuiRegistry( mProviderGuiRegistry );
369 mSourceSelectProviderRegistry->initializeFromProviderGuiRegistry( mProviderGuiRegistry );
370 mSourceSelectProviderRegistry->addProvider( new QgsLayerMetadataSourceSelectProvider() );
371 mSourceSelectProviderRegistry->addProvider( new QgsStacSourceSelectProvider() );
372 mSubsetStringEditorProviderRegistry->initializeFromProviderGuiRegistry( mProviderGuiRegistry );
373 mProviderSourceWidgetProviderRegistry->initializeFromProviderGuiRegistry( mProviderGuiRegistry );
374
375 mEditorWidgetRegistry = new QgsEditorWidgetRegistry();
376 mRelationEditorRegistry = new QgsRelationWidgetRegistry();
377 mShapeMapToolRegistry = new QgsMapToolShapeRegistry();
378 mShortcutsManager = new QgsShortcutsManager();
379 mLayerTreeEmbeddedWidgetRegistry = new QgsLayerTreeEmbeddedWidgetRegistry();
380 mMapLayerActionRegistry = new QgsMapLayerActionRegistry();
381 mLayoutItemGuiRegistry = new QgsLayoutItemGuiRegistry();
382
383 mAnnotationItemGuiRegistry = new QgsAnnotationItemGuiRegistry();
384 mAnnotationItemGuiRegistry->addDefaultItems();
385
386 mAdvancedDigitizingToolsRegistry = new QgsAdvancedDigitizingToolsRegistry();
387 mAdvancedDigitizingToolsRegistry->addDefaultTools();
388
389 mWidgetStateHelper = new QgsWidgetStateHelper();
390 mProcessingFavoriteAlgorithmManager = new QgsProcessingFavoriteAlgorithmManager();
391 mProcessingRecentAlgorithmLog = new QgsProcessingRecentAlgorithmLog();
392 mProcessingGuiRegistry = new QgsProcessingGuiRegistry();
393
394 qRegisterMetaType<QgsHistoryEntry>( "QgsHistoryEntry" );
395}
396
398{
401 if ( trustStatus == Qgis::ProjectTrustStatus::Undetermined && embeddedScriptMode == Qgis::EmbeddedScriptMode::Ask )
402 {
403 QgsProjectTrustDialog dialog( project );
404 dialog.exec();
405 trustStatus = QgsProjectUtils::checkUserTrust( project );
406 }
407
408 if ( messageBar )
409 {
410 if ( trustStatus == Qgis::ProjectTrustStatus::Trusted )
411 {
412 messageBar->pushMessage(
413 tr( "Security warning" ),
414 tr( "The loaded project contains embedded scripts which have been allowed execution." ),
416 );
417 }
418 else
419 {
420 messageBar->pushMessage(
421 tr( "Security warning" ),
422 tr( "The loaded project contains embedded scripts which have been denied execution." ),
424 );
425 }
426 }
427
428 return trustStatus == Qgis::ProjectTrustStatus::Trusted;
429}
430
432{
433 static std::once_flag initialized;
434 std::call_once( initialized, []() {
435 auto _initCalloutWidgetFunction = []( const QString &name, QgsCalloutWidgetFunc f ) {
437
438 QgsCalloutAbstractMetadata *abstractMetadata = registry->calloutMetadata( name );
439 if ( !abstractMetadata )
440 {
441 QgsDebugError( u"Failed to find callout entry in registry: %1"_s.arg( name ) );
442 }
443 QgsCalloutMetadata *metadata = dynamic_cast<QgsCalloutMetadata *>( abstractMetadata );
444 if ( !metadata )
445 {
446 QgsDebugError( u"Failed to cast callout's metadata: "_s.arg( name ) );
447 }
448 else
449 {
450 metadata->setWidgetFunction( f );
451 }
452 };
453
454 _initCalloutWidgetFunction( u"simple"_s, QgsSimpleLineCalloutWidget::create );
455 _initCalloutWidgetFunction( u"manhattan"_s, QgsManhattanLineCalloutWidget::create );
456 _initCalloutWidgetFunction( u"curved"_s, QgsCurvedLineCalloutWidget::create );
457 _initCalloutWidgetFunction( u"balloon"_s, QgsBalloonCalloutWidget::create );
458 } );
459}
460
462{
463 static std::once_flag initialized;
464 std::call_once( initialized, []() {
465 auto _initPlotWidgetFunction = []( const QString &name, QgsPlotWidgetCreateFunc f ) {
467
468 QgsPlotAbstractMetadata *abstractMetadata = registry->plotMetadata( name );
469 if ( !abstractMetadata )
470 {
471 QgsDebugError( u"Failed to find plot entry in registry: %1"_s.arg( name ) );
472 }
473 QgsPlotMetadata *metadata = dynamic_cast<QgsPlotMetadata *>( abstractMetadata );
474 if ( !metadata )
475 {
476 QgsDebugError( u"Failed to cast plot's metadata: "_s.arg( name ) );
477 }
478 else
479 {
480 metadata->setWidgetCreateFunction( std::move( f ) );
481 }
482 };
483
484 _initPlotWidgetFunction( u"bar"_s, QgsBarChartPlotWidget::create );
485 _initPlotWidgetFunction( u"line"_s, QgsLineChartPlotWidget::create );
486 _initPlotWidgetFunction( u"pie"_s, QgsPieChartPlotWidget::create );
487 } );
488}
489
491{
492#ifdef HAVE_WEBENGINE
493 return true;
494#else
495 return false;
496#endif
497}
498
500void QgsGui::emitOptionsChanged()
501{
502 emit optionsChanged();
503}
ProjectTrustStatus
Project trust status.
Definition qgis.h:471
@ Trusted
The project trust has not yet been determined by the user.
Definition qgis.h:473
@ Warning
Warning message.
Definition qgis.h:161
@ Info
Information message.
Definition qgis.h:160
EmbeddedScriptMode
Authorisation to run script embedded in projects.
Definition qgis.h:443
@ Always
Embedded scripts are always run.
Definition qgis.h:447
@ Never
Embedded scripts never run.
Definition qgis.h:444
@ Ask
User is prompted before running scripts.
Definition qgis.h:445
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:119
static QgsEditorWidgetRegistry * editorWidgetRegistry()
Returns the global editor widget registry, used for managing all known edit widget factories.
Definition qgsgui.cpp:109
static QgsProviderSourceWidgetProviderRegistry * sourceWidgetProviderRegistry()
Returns the registry of provider source widget providers.
Definition qgsgui.cpp:134
static QgsProcessingGuiRegistry * processingGuiRegistry()
Returns the global processing gui registry, used for registering the GUI behavior of processing algor...
Definition qgsgui.cpp:169
static QgsShortcutsManager * shortcutsManager()
Returns the global shortcuts manager, used for managing a QAction and QShortcut sequences.
Definition qgsgui.cpp:139
static void setWindowManager(QgsWindowManagerInterface *manager)
Sets the global window manager.
Definition qgsgui.cpp:248
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:238
static QgsProcessingFavoriteAlgorithmManager * processingFavoriteAlgorithmManager()
Returns the global Processing favorite algorithm manager, used for tracking favorite Processing algor...
Definition qgsgui.cpp:184
static QgsLayerTreeEmbeddedWidgetRegistry * layerTreeEmbeddedWidgetRegistry()
Returns the global layer tree embedded widget registry, used for registering widgets that may be embe...
Definition qgsgui.cpp:144
static QScreen * findScreenAt(QPoint point)
Returns the screen at the given global point (pixel).
Definition qgsgui.cpp:312
static QgsAnnotationItemGuiRegistry * annotationItemGuiRegistry()
Returns the global annotation item GUI registry, used for registering the GUI behavior of annotation ...
Definition qgsgui.cpp:159
static QgsMapLayerActionRegistry * mapLayerActionRegistry()
Returns the global map layer action registry, used for registering map layer actions.
Definition qgsgui.cpp:149
static QgsGui * instance()
Returns a pointer to the singleton instance.
Definition qgsgui.cpp:93
static QgsProviderGuiRegistry * providerGuiRegistry()
Returns the registry of GUI-related components of data providers.
Definition qgsgui.cpp:204
static QgsRelationWidgetRegistry * relationWidgetRegistry()
Returns the global relation widget registry, used for managing all known relation widget factories.
Definition qgsgui.cpp:114
static QgsSensorGuiRegistry * sensorGuiRegistry()
Returns the registry of GUI-related components for sensors.
Definition qgsgui.cpp:209
static QgsAdvancedDigitizingToolsRegistry * advancedDigitizingToolsRegistry()
Returns the global advanced digitizing tools registry, used for registering advanced digitizing tools...
Definition qgsgui.cpp:164
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:224
static QgsHistoryProviderRegistry * historyProviderRegistry()
Returns the global history provider registry, used for tracking history providers.
Definition qgsgui.cpp:214
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:397
@ HigMenuTextIsTitleCase
Menu action texts should be title case.
Definition qgsgui.h:283
@ HigDialogTitleIsTitleCase
Dialog titles should be title case.
Definition qgsgui.h:284
static QgsStoredQueryManager * storedQueryManager()
Returns the global stored SQL query manager.
Definition qgsgui.cpp:243
static QgsNative * nativePlatformInterface()
Returns the global native interface, which offers abstraction to the host OS's underlying public inte...
Definition qgsgui.cpp:99
static bool hasWebEngine()
Checks whether QWebEngineView is available to display HTML content.
Definition qgsgui.cpp:490
QgsGui(const QgsGui &other)=delete
static QgsWindowManagerInterface * windowManager()
Returns the global window manager, if set.
Definition qgsgui.cpp:233
static QgsDataItemGuiProviderRegistry * dataItemGuiProviderRegistry()
Returns the global data item GUI provider registry, used for tracking providers which affect the brow...
Definition qgsgui.cpp:194
~QgsGui() override
Definition qgsgui.cpp:265
static QgsProcessingRecentAlgorithmLog * processingRecentAlgorithmLog()
Returns the global processing recent algorithm log, used for tracking recently used processing algori...
Definition qgsgui.cpp:189
QFlags< HigFlag > HigFlags
Definition qgsgui.h:286
static QgsSubsetStringEditorProviderRegistry * subsetStringEditorProviderRegistry()
Returns the registry of subset string editors of data providers.
Definition qgsgui.cpp:129
static QgsProjectStorageGuiRegistry * projectStorageGuiRegistry()
Returns the global GUI-related project storage registry.
Definition qgsgui.cpp:199
static QgsGui::HigFlags higFlags()
Returns the platform's HIG flags.
Definition qgsgui.cpp:253
static QgsLayoutItemGuiRegistry * layoutItemGuiRegistry()
Returns the global layout item GUI registry, used for registering the GUI behavior of layout items.
Definition qgsgui.cpp:154
static void initPlotWidgets()
Initializes plot widgets.
Definition qgsgui.cpp:461
static void initCalloutWidgets()
Initializes callout widgets.
Definition qgsgui.cpp:431
static QgsSettingsRegistryGui * settingsRegistryGui()
Returns the gui's settings registry, used for managing gui settings.
Definition qgsgui.cpp:104
static QgsSourceSelectProviderRegistry * sourceSelectProviderRegistry()
Returns the global source select provider registry, used for managing all known source select widget ...
Definition qgsgui.cpp:124
static QgsCodeEditorColorSchemeRegistry * codeEditorColorSchemeRegistry()
Returns the global code editor color scheme registry, used for registering the color schemes for QgsC...
Definition qgsgui.cpp:179
static QgsNumericFormatGuiRegistry * numericFormatGuiRegistry()
Returns the global numeric format gui registry, used for registering the GUI widgets associated with ...
Definition qgsgui.cpp:174
static QgsSettingsEditorWidgetRegistry * settingsEditorWidgetRegistry()
Returns the registry of settings editors.
Definition qgsgui.cpp:219
static QColor sampleColor(QPoint point)
Samples the color on screen at the specified global point (pixel).
Definition qgsgui.cpp:297
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:112
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:59
std::function< QgsPlotWidget *(QWidget *parent)> QgsPlotWidgetCreateFunc