QGIS API Documentation 3.39.0-Master (3aed037ce22)
Loading...
Searching...
No Matches
qgsgui.h
Go to the documentation of this file.
1/***************************************************************************
2 qgsgui.h
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#ifndef QGSGUI_H
19#define QGSGUI_H
20
21#include "qgis_gui.h"
22#include "qgis_sip.h"
23#include <QWidget>
24#include <memory>
25
32class QgsNative;
37class QgsProcessingFavoriteAlgorithmManager;
38class QgsProcessingRecentAlgorithmLog;
39class QgsWindowManagerInterface;
45class QgsMessageBar;
54
60class GUI_EXPORT QgsGui : public QObject
61{
62 Q_OBJECT
63
64 public:
65
70 {
71 UseCrsOfFirstLayerAdded = 1,
72 UsePresetCrs = 2,
73 };
74 Q_ENUM( ProjectCrsBehavior )
75
76 QgsGui( const QgsGui &other ) = delete;
77 QgsGui &operator=( const QgsGui &other ) = delete;
78
82 static QgsGui *instance();
83
89 SIP_SKIP static QgsNative *nativePlatformInterface();
90
95 static QgsSettingsRegistryGui *settingsRegistryGui() SIP_KEEPREFERENCE;
96
100 static QgsEditorWidgetRegistry *editorWidgetRegistry() SIP_KEEPREFERENCE;
101
105 static QgsSourceSelectProviderRegistry *sourceSelectProviderRegistry() SIP_KEEPREFERENCE;
106
110 static QgsShortcutsManager *shortcutsManager();
111
115 static QgsLayerTreeEmbeddedWidgetRegistry *layerTreeEmbeddedWidgetRegistry() SIP_KEEPREFERENCE;
116
120 static QgsMapLayerActionRegistry *mapLayerActionRegistry() SIP_KEEPREFERENCE;
121
125 static QgsLayoutItemGuiRegistry *layoutItemGuiRegistry() SIP_KEEPREFERENCE;
126
132 static QgsAnnotationItemGuiRegistry *annotationItemGuiRegistry() SIP_KEEPREFERENCE;
133
138 static QgsProcessingGuiRegistry *processingGuiRegistry() SIP_KEEPREFERENCE;
139
144 static QgsNumericFormatGuiRegistry *numericFormatGuiRegistry() SIP_KEEPREFERENCE;
145
150 static QgsCodeEditorColorSchemeRegistry *codeEditorColorSchemeRegistry() SIP_KEEPREFERENCE;
151
156 static QgsProcessingRecentAlgorithmLog *processingRecentAlgorithmLog();
157
162 static QgsProcessingFavoriteAlgorithmManager *processingFavoriteAlgorithmManager();
163
169 static QgsDataItemGuiProviderRegistry *dataItemGuiProviderRegistry() SIP_KEEPREFERENCE;
170
175 static QgsProjectStorageGuiRegistry *projectStorageGuiRegistry() SIP_KEEPREFERENCE;
176
181 static QgsProviderGuiRegistry *providerGuiRegistry() SIP_KEEPREFERENCE;
182
187 static QgsSensorGuiRegistry *sensorGuiRegistry() SIP_KEEPREFERENCE;
188
193 static QgsSubsetStringEditorProviderRegistry *subsetStringEditorProviderRegistry() SIP_KEEPREFERENCE;
194
199 static QgsProviderSourceWidgetProviderRegistry *sourceWidgetProviderRegistry() SIP_KEEPREFERENCE;
200
205 static QgsRelationWidgetRegistry *relationWidgetRegistry() SIP_KEEPREFERENCE;
206
212 static QgsMapToolShapeRegistry *mapToolShapeRegistry() SIP_SKIP;
213
218 static QgsHistoryProviderRegistry *historyProviderRegistry() SIP_KEEPREFERENCE;
219
224 static QgsSettingsEditorWidgetRegistry *settingsEditorWidgetRegistry() SIP_KEEPREFERENCE;
225
230 static void enableAutoGeometryRestore( QWidget *widget, const QString &key = QString() );
231
237 static QgsWindowManagerInterface *windowManager();
238
244 static void setWindowManager( QgsWindowManagerInterface *manager SIP_TRANSFER );
245
250 static QgsInputControllerManager *inputControllerManager() SIP_KEEPREFERENCE;
251
257 {
258 HigMenuTextIsTitleCase = 1 << 0,
259 HigDialogTitleIsTitleCase = 1 << 1
260 };
261 Q_DECLARE_FLAGS( HigFlags, HigFlag )
262
263
267 static QgsGui::HigFlags higFlags();
268
269 ~QgsGui();
270
276 static QColor sampleColor( QPoint point );
277
283 static QScreen *findScreenAt( QPoint point );
284
294 static bool pythonMacroAllowed( void ( *lambda )() = nullptr, QgsMessageBar *messageBar = nullptr ) SIP_SKIP;
295
302 static void initCalloutWidgets() SIP_SKIP;
303
305 void emitOptionsChanged() SIP_SKIP;
307
308 signals:
309
320 void optionsChanged();
321
322 private:
323
324 QgsGui();
325
326 QgsSettingsRegistryGui *mSettingsRegistryGui = nullptr;
327 QgsProviderGuiRegistry *mProviderGuiRegistry = nullptr;
328 QgsWidgetStateHelper *mWidgetStateHelper = nullptr;
329 QgsNative *mNative = nullptr;
330 QgsEditorWidgetRegistry *mEditorWidgetRegistry = nullptr;
331 QgsSourceSelectProviderRegistry *mSourceSelectProviderRegistry = nullptr;
332 QgsShortcutsManager *mShortcutsManager = nullptr;
333 QgsLayerTreeEmbeddedWidgetRegistry *mLayerTreeEmbeddedWidgetRegistry = nullptr;
334 QgsMapLayerActionRegistry *mMapLayerActionRegistry = nullptr;
335 QgsLayoutItemGuiRegistry *mLayoutItemGuiRegistry = nullptr;
336 QgsAnnotationItemGuiRegistry *mAnnotationItemGuiRegistry = nullptr;
337 QgsProcessingGuiRegistry *mProcessingGuiRegistry = nullptr;
338 QgsProcessingFavoriteAlgorithmManager *mProcessingFavoriteAlgorithmManager = nullptr;
339 QgsProcessingRecentAlgorithmLog *mProcessingRecentAlgorithmLog = nullptr;
340 QgsNumericFormatGuiRegistry *mNumericFormatGuiRegistry = nullptr;
341 QgsDataItemGuiProviderRegistry *mDataItemGuiProviderRegistry = nullptr;
342 QgsCodeEditorColorSchemeRegistry *mCodeEditorColorSchemeRegistry = nullptr;
343 QgsProjectStorageGuiRegistry *mProjectStorageGuiRegistry = nullptr;
344 QgsSubsetStringEditorProviderRegistry *mSubsetStringEditorProviderRegistry = nullptr;
345 QgsProviderSourceWidgetProviderRegistry *mProviderSourceWidgetProviderRegistry = nullptr;
346 QgsRelationWidgetRegistry *mRelationEditorRegistry = nullptr;
347 QgsMapToolShapeRegistry *mShapeMapToolRegistry = nullptr;
348 QgsHistoryProviderRegistry *mHistoryProviderRegistry = nullptr;
349 QgsSensorGuiRegistry *mSensorGuiRegistry = nullptr;
350 QgsSettingsEditorWidgetRegistry *mSettingsEditorRegistry = nullptr;
351 QgsInputControllerManager *mInputControllerManager = nullptr;
352 std::unique_ptr< QgsWindowManagerInterface > mWindowManager;
353
354#ifdef SIP_RUN
355 QgsGui( const QgsGui &other );
356#endif
357
358};
359
361
362#endif // QGSGUI_H
Registry of available annotation item GUI behavior.
A registry of color schemes for use in QgsCodeEditor widgets.
This class keeps a list of data item GUI providers that may affect how QgsDataItems behave within the...
This class manages all known edit widget factories.
QgsGui is a singleton class containing various registry and other global members related to GUI class...
Definition qgsgui.h:61
HigFlag
HIG flags, which indicate the Human Interface Guidelines for the current platform.
Definition qgsgui.h:257
QFlags< HigFlag > HigFlags
Definition qgsgui.h:261
ProjectCrsBehavior
Defines the behavior to use when setting the CRS for a newly created project.
Definition qgsgui.h:70
The QgsHistoryProviderRegistry is a registry for objects which track user history (i....
Manages input control devices.
Registry of widgets that may be embedded into layer tree view.
Registry of available layout item GUI behavior.
This class tracks map layer actions.
Keeps track of the registered shape map tools.
A bar for displaying non-blocking messages to the user.
The QgsNumericFormatGuiRegistry is a home for widgets for configuring QgsNumericFormat objects.
The QgsProcessingGuiRegistry is a home for widgets for processing configuration widgets.
A registry / canonical manager of GUI parts of project storage backends.
A registry / canonical manager of GUI parts of data providers.
This class keeps a list of provider source widget providers.
Keeps track of the registered relations widgets.
Registry of available sensor GUI behavior.
This class manages editor widgets for settings.
QgsSettingsRegistryGui is used for settings introspection and collects all QgsSettingsEntry instances...
Shortcuts manager is a class that contains a list of QActions and QShortcuts that have been registere...
This class keeps a list of source select providers that may add items to the QgsDataSourceManagerDial...
This class keeps a list of subset string editor providers.
QgsWidgetStateHelper is a helper class to save and restore the geometry of QWidgets in the applicatio...
#define SIP_KEEPREFERENCE
Definition qgis_sip.h:86
#define SIP_ENUM_BASETYPE(type)
Definition qgis_sip.h:278
#define SIP_SKIP
Definition qgis_sip.h:126
#define SIP_TRANSFER
Definition qgis_sip.h:36
Q_DECLARE_OPERATORS_FOR_FLAGS(QgsTextRendererUtils::CurvedTextFlags)