/************************************************************************
 * This file has been generated automatically from                      *
 *                                                                      *
 * src/gui/qgsgui.h                                                     *
 *                                                                      *
 * Do not edit manually ! Edit header and run scripts/sipify.pl again   *
 ************************************************************************/





class QgsGui : QObject
{
%Docstring(signature="appended")
:py:class:`QgsGui` is a singleton class containing various registry and other global members
related to GUI classes.

.. versionadded:: 3.0
%End

%TypeHeaderCode
#include "qgsgui.h"
%End
  public:

    enum ProjectCrsBehavior
    {
      UseCrsOfFirstLayerAdded,
      UsePresetCrs,
    };



    static QgsGui *instance();
%Docstring
Returns a pointer to the singleton instance.
%End


    static QgsSettingsRegistryGui *settingsRegistryGui() /KeepReference/;
%Docstring
Returns the gui's settings registry, used for managing gui settings.

.. versionadded:: 3.22
%End

    static QgsEditorWidgetRegistry *editorWidgetRegistry() /KeepReference/;
%Docstring
Returns the global editor widget registry, used for managing all known edit widget factories.
%End

    static QgsSourceSelectProviderRegistry *sourceSelectProviderRegistry() /KeepReference/;
%Docstring
Returns the global source select provider registry, used for managing all known source select widget factories.
%End

    static QgsShortcutsManager *shortcutsManager();
%Docstring
Returns the global shortcuts manager, used for managing a QAction and QShortcut sequences.
%End

    static QgsLayerTreeEmbeddedWidgetRegistry *layerTreeEmbeddedWidgetRegistry() /KeepReference/;
%Docstring
Returns the global layer tree embedded widget registry, used for registering widgets that may be embedded into layer tree view.
%End

    static QgsMapLayerActionRegistry *mapLayerActionRegistry() /KeepReference/;
%Docstring
Returns the global map layer action registry, used for registering map layer actions.
%End

    static QgsLayoutItemGuiRegistry *layoutItemGuiRegistry() /KeepReference/;
%Docstring
Returns the global layout item GUI registry, used for registering the GUI behavior of layout items.
%End

    static QgsAnnotationItemGuiRegistry *annotationItemGuiRegistry() /KeepReference/;
%Docstring
Returns the global annotation item GUI registry, used for registering the GUI behavior of annotation items.

.. versionadded:: 3.22
%End

    static QgsProcessingGuiRegistry *processingGuiRegistry() /KeepReference/;
%Docstring
Returns the global processing gui registry, used for registering the GUI behavior of processing algorithms.

.. versionadded:: 3.2
%End

    static QgsNumericFormatGuiRegistry *numericFormatGuiRegistry() /KeepReference/;
%Docstring
Returns the global numeric format gui registry, used for registering the GUI widgets associated with :py:class:`QgsNumericFormats`.

.. versionadded:: 3.12
%End

    static QgsCodeEditorColorSchemeRegistry *codeEditorColorSchemeRegistry() /KeepReference/;
%Docstring
Returns the global code editor color scheme registry, used for registering the color schemes for :py:class:`QgsCodeEditor` widgets.

.. versionadded:: 3.16
%End

    static QgsProcessingRecentAlgorithmLog *processingRecentAlgorithmLog();
%Docstring
Returns the global processing recent algorithm log, used for tracking recently used processing algorithms.

.. versionadded:: 3.4
%End

    static QgsDataItemGuiProviderRegistry *dataItemGuiProviderRegistry() /KeepReference/;
%Docstring
Returns the global data item GUI provider registry, used for tracking providers which affect the browser
GUI.

.. versionadded:: 3.6
%End

    static QgsProjectStorageGuiRegistry *projectStorageGuiRegistry() /KeepReference/;
%Docstring
Returns the global GUI-related project storage registry

.. versionadded:: 3.10
%End

    static QgsProviderGuiRegistry *providerGuiRegistry() /KeepReference/;
%Docstring
Returns the registry of GUI-related components of data providers

.. versionadded:: 3.10
%End

    static QgsSubsetStringEditorProviderRegistry *subsetStringEditorProviderRegistry() /KeepReference/;
%Docstring
Returns the registry of subset string editors of data providers

.. versionadded:: 3.18
%End

    static QgsProviderSourceWidgetProviderRegistry *sourceWidgetProviderRegistry() /KeepReference/;
%Docstring
Returns the registry of provider source widget providers.

.. versionadded:: 3.18
%End

    static QgsRelationWidgetRegistry *relationWidgetRegistry() /KeepReference/;
%Docstring
Returns the global relation widget registry, used for managing all known relation widget factories.

.. versionadded:: 3.18
%End

    static void enableAutoGeometryRestore( QWidget *widget, const QString &key = QString() );
%Docstring
Register the widget to allow its position to be automatically saved and restored when open and closed.
Use this to avoid needing to call :py:func:`~QgsGui.saveGeometry` and :py:func:`~QgsGui.restoreGeometry` on your widget.
%End

    static QgsWindowManagerInterface *windowManager();
%Docstring
Returns the global window manager, if set.

.. seealso:: :py:func:`setWindowManager`

.. versionadded:: 3.4
%End

    static void setWindowManager( QgsWindowManagerInterface *manager /Transfer/ );
%Docstring
Sets the global window ``manager``. Ownership is transferred to the QgsGui instance.

.. seealso:: :py:func:`windowManager`

.. versionadded:: 3.4
%End

    enum HigFlag
    {
      HigMenuTextIsTitleCase,
      HigDialogTitleIsTitleCase
    };
    typedef QFlags<QgsGui::HigFlag> HigFlags;


    static QgsGui::HigFlags higFlags();
%Docstring
Returns the platform's HIG flags.

.. versionadded:: 3.4
%End

    ~QgsGui();

    static QColor sampleColor( QPoint point );
%Docstring
Samples the color on screen at the specified global ``point`` (pixel).

.. versionadded:: 3.10
%End

    static QScreen *findScreenAt( QPoint point );
%Docstring
Returns the screen at the given global ``point`` (pixel).

.. versionadded:: 3.10
%End



  signals:

    void optionsChanged();
%Docstring
This signal is emitted whenever the application options have been changed.

This signal is a "blanket" signal, and will be emitted whenever the options dialog
has been accepted regardless of whether or not individual settings are changed.
It is designed as a "last resort" fallback only, allowing widgets to respond
to possible settings changes.

.. versionadded:: 3.16
%End

  private:
    QgsGui( const QgsGui &other );
};

QFlags<QgsGui::HigFlag> operator|(QgsGui::HigFlag f1, QFlags<QgsGui::HigFlag> f2);


/************************************************************************
 * This file has been generated automatically from                      *
 *                                                                      *
 * src/gui/qgsgui.h                                                     *
 *                                                                      *
 * Do not edit manually ! Edit header and run scripts/sipify.pl again   *
 ************************************************************************/
