File: qgsapplicationexitblockerinterface.sip.in

package info (click to toggle)
qgis 3.40.10%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 1,183,672 kB
  • sloc: cpp: 1,595,771; python: 372,544; xml: 23,474; sh: 3,761; perl: 3,664; ansic: 2,257; sql: 2,137; yacc: 1,068; lex: 577; javascript: 540; lisp: 411; makefile: 161
file content (79 lines) | stat: -rw-r--r-- 2,948 bytes parent folder | download | duplicates (12)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
/************************************************************************
 * This file has been generated automatically from                      *
 *                                                                      *
 * src/gui/qgsapplicationexitblockerinterface.h                         *
 *                                                                      *
 * Do not edit manually ! Edit header and run scripts/sipify.py again   *
 ************************************************************************/



class QgsApplicationExitBlockerInterface
{
%Docstring(signature="appended")
An interface that may be implemented to allow plugins or scripts to
temporarily block the QGIS application from exiting.

This interface allows plugins to implement custom logic to determine
whether it is safe for the application to exit, e.g. by checking whether
the plugin or script has any unsaved changes which should be saved or
discarded before allowing QGIS to exit.

:py:class:`QgsApplicationExitBlockerInterface` are registered via the
iface object:

Example
-------------------------------------

.. code-block:: python

       class MyPluginExitBlocker(QgsApplicationExitBlockerInterface):

          def allowExit(self):
              if self.has_unsaved_changes():
                  # show a warning prompt
                  # ...
                  # prevent QGIS application from exiting
                  return False

              # allow QGIS application to exit
              return True

       my_blocker = MyPluginExitBlocker()
       iface.registerApplicationExitBlocker(my_blocker)

.. versionadded:: 3.16
%End

%TypeHeaderCode
#include "qgsapplicationexitblockerinterface.h"
%End
  public:
    virtual ~QgsApplicationExitBlockerInterface();

    virtual bool allowExit() = 0;
%Docstring
Called whenever the QGIS application has been asked to exit by a user.

The subclass can use this method to implement custom logic handling
whether it is safe for the application to exit, e.g. by checking whether
the plugin or script has any unsaved changes which should be saved or
discarded before allowing QGIS to exit.

The implementation should return ``True`` if it is safe for QGIS to
exit, or ``False`` if it wishes to prevent the application from exiting.

.. note::

   It is safe to use GUI widgets in implementations of this function, including message
   boxes or custom dialogs with event loops.
%End
};

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