100 Commits

Author SHA1 Message Date
Nyall Dawson
3a578d6712 Header update 2024-08-13 20:28:55 +10:00
Nyall Dawson
28943f9c1b Remove a bunch of useless default constructor doxygen 2024-07-23 02:08:28 +10:00
Even Rouault
f3ef66d073
Header files: remove all mentions of '\since QGIS 3.0' 2024-02-19 11:35:07 +01:00
Even Rouault
15ea5c46bc
Header files: remove all mentions of '\since QGIS 3.0' 2024-02-18 20:57:23 +01:00
Even Rouault
02caeb9db7
Header files: remove all mentions of '\since QGIS 2.' 2024-02-18 20:46:01 +01:00
uclaros
d8996ae33b Add 3D map canvas handling methods to QgisInterface 2024-01-19 06:51:53 -08:00
Nyall Dawson
ad60cb3a26 [api] Add iface.blockActiveLayerChanges
Sets whether changes to the active layer should be temporarily
blocked. Exposes a previously private optimisation for use
by plugins.

This is a low-level method, designed to avoid unnecessary work when adding lots
of layers at once. Clients which will be adding many layers may call blockActiveLayerChanges( TRUE ) upfront,
add all the layers, and then follow up with a call to blockActiveLayerChanges( FALSE ). This will defer emitting
the active layer changed signal until they've added all layers, and only emit the signal once for
the final layer added.
2024-01-16 06:00:43 +10:00
Loïc Bartoletti
bc6fdf73a8 Add \since QGIS 3.34
3.34 here, since it has been backported

Co-authored-by: Nicolas Godet <39594821+nicogodet@users.noreply.github.com>
2023-12-21 07:09:36 +10:00
Loïc Bartoletti
f009536438 QgisInterface: add meshMenu to iface.
Fixes #55604
2023-12-21 07:09:36 +10:00
Nyall Dawson
9f57fb2ef0 Rename "tiled mesh" to "tiled scene"
Better reflects that these types can contain lines and point
data, not just meshes
2023-08-05 21:31:49 +10:00
Nyall Dawson
6c4409d71f Expand documentation 2023-07-05 09:43:32 +10:00
Nyall Dawson
151ab7e886 Support tiled mesh layers in app layer creation functions 2023-07-05 09:43:32 +10:00
Nyall Dawson
1142e8ffac
Move QgsMapLayerType enum to Qgis.LayerType (#51874)
For consistency with other enums
2023-02-16 13:02:57 +01:00
Nyall Dawson
15e0c6abe4 Add direct iface methods to add/remove project import/export actions 2023-02-15 14:26:26 +10:00
Nyall Dawson
aa5644d1d5 Add interface method to retrieve Project - Import/Export submenu
Allows a stable way for plugins to insert actions into this menu
2023-02-15 14:26:26 +10:00
Nyall Dawson
d4c69f44d8 Add interface method to open Data Source Manager at a specific page 2023-02-15 04:40:20 +10:00
Harrissou Sant-anna
33467dde16 Mention Elevation page in layer properties as reachable programmatically 2023-01-17 05:06:45 +10:00
Yoann Quenach de Quivillic
f6c0bda4c5 Add userProfileManager in QgisInterface (iface)
Fixes #48337
2023-01-06 10:46:50 +01:00
Nyall Dawson
41588cadb2 Connection is transferred 2022-11-04 11:24:05 +10:00
Harrissou Sant-anna
83a9715e1a Connect every layer properties tabs to their respective documentation
when the section is available
and fix some links
2022-10-20 13:44:26 +10:00
Denis Rouzaud
efcf169a09 fix since 3.24 -> 3.26 2022-02-21 17:05:13 +01:00
Denis Rouzaud
be0fe08c2e better dox for deprecated interface actions methods 2022-01-28 06:30:26 +01:00
Denis Rouzaud
e37e985b58 sipify 2022-01-28 06:30:24 +01:00
Harrissou Sant-anna
b8de4d389e
Add version mention 2022-01-20 21:37:13 +01:00
Harrissou Sant-anna
0ef51feccf
Dedicated method allowing to add plugins to the Mesh menu 2022-01-20 15:07:15 +01:00
Nyall Dawson
8cf4903204 Don't expose QgsMapToolModifyAnnotation to python
We want to leave this private for now, to give flexibility to change
api if/when needed
2021-09-10 15:01:26 +10:00
Nyall Dawson
48715202f7 When the modify annotation tool is used to select an annotation item,
show a panel in the layer styling dock allowing users to modify
the appearance of the annotation
2021-09-07 10:35:02 +10:00
Keigo Imai
c34cfeb43b update sip file 2021-07-23 11:30:34 +10:00
Keigo Imai
811a0353a5 Add activeDecorations to iface object
Allow plugins and scripts to export animations with decorations
2021-07-23 11:30:34 +10:00
Ivan Ivanov
27883030c6
Update python/gui/auto_generated/qgisinterface.sip.in
Co-authored-by: Matthias Kuhn <matthias@opengis.ch>
2021-04-07 11:15:34 +03:00
Ivan Ivanov
294b01a6f1 Added docstring describing the page argument of showLayerProperties
One can get a list of page names by executing the following command:
grep \"mOptsPage ./build/src/ui/ui_qgs*layerpropertiesbase.h
2021-04-07 10:51:31 +03:00
Ivan Ivanov
3057966086 Open a specific page in the layer properties dialog using the iface instance 2021-04-06 19:37:10 +03:00
Denis Rouzaud
ba8a445850 run sipify 2021-03-22 21:13:52 +01:00
Nyall Dawson
cc5cbabaa3 Avoid API break 2021-02-09 20:12:37 +10:00
Harrissou Sant-anna
3a952a6981 Remove Add ArcGIS map service button
after it's merged with feature service

(cherry picked from commit 82797ac8d28e50a03c2190d7a8df1d740f688c5f)
2021-02-09 20:12:37 +10:00
Nyall Dawson
50b9beaad6 [sipify] Catch more class references and insert :py:class: annotations 2021-01-31 05:41:22 +10:00
Nyall Dawson
0d33fe4c99 Documentation improvements, add SIP_DEPRECATED annotations 2021-01-02 15:48:54 +10:00
TurboGraphxBeige
e25d857a50 Re-add actionZoomToLayer 2021-01-02 07:04:48 +10:00
Peter Petrik
b796dbb07b add some basic skelet for point cloud data providers 2020-10-27 05:29:14 +10:00
Peter Petrik
de6f4d6ad8 hook point cloud layer type to the rest of the code 2020-10-27 05:29:14 +10:00
Nyall Dawson
e0321be23f Add iface method and new class for delegating all responsibility
and logic for activating a custom map tool and ensuring it can
only be enabled in the right circumstances to QGIS app

If a plugin has to do this, it's a nightmare of code and hacks (partly
because of the number of changing circumstances it needs to respond
to, and partly because a lot of the useful functions available
for handling this behavior is locked away in private methods
in qgisapp.cpp)

So instead make an abstract base class for map tool handlers and
an iface method for register/unregistering them.

From the dox:

An abstract base class for map tool handlers which automatically handle all the necessary
logic for toggling the map tool and enabling/disabling the associated action
when the QGIS application is in a state permissible for the tool.

Creating these handlers avoids a lot of complex setup code and manual connections
which are otherwise necessary to ensure that a map tool is correctly activated and
deactivated when the state of the QGIS application changes (e.g. when the active
layer is changed, when edit modes are toggled, when other map tools are switched
to, etc).

- ### Example

\code{.py}
  class MyMapTool(QgsMapTool):
     ...

  class MyMapToolHandler(QgsAbstractMapToolHandler):

     def __init__(self, tool, action):
         super().__init__(tool, action)

     def isCompatibleWithLayer(self, layer, context):
         # this tool can only be activated when an editable vector layer is selected
         return isinstance(layer, QgsVectorLayer) and layer.isEditable()

  my_tool = MyMapTool()
  my_action = QAction('My Map Tool')

  my_handler = MyMapToolHandler(my_tool, my_action)
  iface.registerMapToolHandler(my_handler)
\endcode
2020-10-23 19:03:51 +10:00
Nyall Dawson
abacccb7e9 Add mapToolActionGroup to iface object
Any actions added by plugins for toggling a map tool should also
be added to this action group so that they behave identically
to the native, in-built map tool actions.
2020-10-23 03:57:34 +10:00
Nyall Dawson
5565a6858d Some doxygen grammar fixes 2020-10-21 09:32:15 +10:00
Nyall Dawson
746ee315bd Fix boolean literal presentation in dox/PyQGIS docs 2020-10-16 16:03:26 +10:00
Nyall Dawson
df6c8d74cd Allow plugins and scripts to register custom logic to prevent
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.
2020-10-06 17:04:49 +10:00
nirvn
445d78f7cc Add a plugin interface to add pages to the project properties dialog 2020-09-17 13:48:57 +07:00
Nyall Dawson
97915e3203 Add a iface method to directly set a specific GPS connection to connect
to in the GPS Information panel

Allows for plugins to create subclasses of QgsGpsConnection and then
hook these into the existing GPS panel widget
2020-08-05 18:52:29 +10:00
Ivan Ivanov
c0f8dea17a Sipify 2020-06-18 05:53:23 +10:00
Nyall Dawson
81a9db9f57 [sipify] Fix creation of cross references 2020-06-15 13:43:58 +10:00
Alexander Bruy
c93049afd1 add "Selection" toolbar to the QGIS main window and move all
selection-related actions to it (fix #21045, refs #20350)
2020-05-13 10:18:47 +10:00