Class: QgsDataItemGuiProvider¶
-
class
qgis.gui.
QgsDataItemGuiProvider
¶ Bases:
sip.wrapper
Abstract base class for providers which affect how QgsDataItem items behave within the application GUI.
Providers must be registered via
QgsDataItemGuiProviderRegistry
.New in version 3.6: Enums
Methods
Called when a user double clicks on an
item
.Returns the provider’s name.
Called when the given context
menu
is being populated for the givenitem
, allowing the provider to add its own actions and submenus to the context menu.Signals
Attributes
-
handleDoubleClick
(self, item: QgsDataItem, context: QgsDataItemGuiContext) → bool¶ Called when a user double clicks on an
item
. Providers should return true if the double-click was handled and do not want other providers to handle the double-click, and to prevent the default double-click behavior for items.
-
name
(self) → str¶ Returns the provider’s name.
-
populateContextMenu
(self, item: QgsDataItem, menu: QMenu, selectedItems: object, context: QgsDataItemGuiContext)¶ Called when the given context
menu
is being populated for the givenitem
, allowing the provider to add its own actions and submenus to the context menu. Additionally, providers could potentially alter menus and actions added by other providers if desired, or use standard QMenu API to insert their items and submenus into the desired location within the context menu.The
selectedItems
list contains a list of ALL currently selected items within the browser view. Subclasses can utilize this list in order to create actions which operate on multiple items at once, e.g. to allow deletion of multiple layers from a database at once.When creating a context menu, this method is called for EVERY QgsDataItemGuiProvider within the QgsDataItemGuiProviderRegistry. It is the QgsDataItemGuiProvider subclass’ responsibility to test the
item
andselectedItems
for their properties and classes and decide what actions (if any) are appropriate to add to the contextmenu
.Care must be taken to correctly parent newly created sub menus and actions to the provided
menu
to avoid memory leaks.The
context
argument gives the wider context under which the context menu is being shown, and contains accessors for useful objects like the application message bar.The base class method has no effect.
-