QGIS/python/gui/layertree/qgslayertreeview.sip

203 lines
5.6 KiB
Plaintext
Raw Normal View History

2017-06-08 15:37:13 +02:00
/************************************************************************
* This file has been generated automatically from *
* *
* src/gui/layertree/qgslayertreeview.h *
* *
* Do not edit manually ! Edit header and run scripts/sipify.pl again *
************************************************************************/
2014-05-22 01:09:14 +07:00
class QgsLayerTreeView : QTreeView
{
2017-06-08 15:37:13 +02:00
%Docstring
2017-12-15 10:36:55 -04:00
The QgsLayerTreeView class extends QTreeView and provides some additional functionality
when working with a layer tree.
2017-06-08 15:37:13 +02:00
2017-12-15 10:36:55 -04:00
The view updates expanded state of layer tree nodes and also listens to changes
to expanded states in the layer tree.
2017-06-08 15:37:13 +02:00
2017-12-15 10:36:55 -04:00
The view keeps track of the current layer and emits a signal when the current layer has changed.
2017-06-08 15:37:13 +02:00
2017-12-15 10:36:55 -04:00
Allows the client to specify a context menu provider with custom actions. Also it comes
with a set of default actions that can be used when building context menu.
2017-06-08 15:37:13 +02:00
2017-12-05 20:04:14 -04:00
.. seealso:: :py:class:`QgsLayerTreeModel`
2017-12-15 10:36:55 -04:00
2017-06-08 15:37:13 +02:00
.. versionadded:: 2.4
%End
2014-05-22 01:09:14 +07:00
%TypeHeaderCode
2017-06-08 15:37:13 +02:00
#include "qgslayertreeview.h"
2014-05-22 01:09:14 +07:00
%End
%ConvertToSubClassCode
2017-06-08 15:37:13 +02:00
if ( sipCpp->inherits( "QgsLayerTreeView" ) )
sipType = sipType_QgsLayerTreeView;
else
sipType = 0;
%End
public:
explicit QgsLayerTreeView( QWidget *parent /TransferThis/ = 0 );
%Docstring
Constructor for QgsLayerTreeView
%End
~QgsLayerTreeView();
virtual void setModel( QAbstractItemModel *model );
2017-06-08 15:37:13 +02:00
%Docstring
Overridden setModel() from base class. Only QgsLayerTreeModel is an acceptable model.
%End
QgsLayerTreeModel *layerTreeModel() const;
2017-06-08 15:37:13 +02:00
%Docstring
Get access to the model casted to QgsLayerTreeModel
%End
QgsLayerTreeViewDefaultActions *defaultActions();
2017-06-08 15:37:13 +02:00
%Docstring
Get access to the default actions that may be used with the tree view
%End
void setMenuProvider( QgsLayerTreeViewMenuProvider *menuProvider /Transfer/ );
2017-06-08 15:37:13 +02:00
%Docstring
Set provider for context menu. Takes ownership of the instance
%End
QgsLayerTreeViewMenuProvider *menuProvider() const;
2017-06-08 15:37:13 +02:00
%Docstring
Return pointer to the context menu provider. May be null
%End
QgsMapLayer *currentLayer() const;
2017-06-08 15:37:13 +02:00
%Docstring
Get currently selected layer. May be null
%End
void setCurrentLayer( QgsMapLayer *layer );
2017-06-08 15:37:13 +02:00
%Docstring
Set currently selected layer. Null pointer will deselect any layer.
%End
QgsLayerTreeNode *currentNode() const;
2017-06-08 15:37:13 +02:00
%Docstring
Get current node. May be null
%End
QgsLayerTreeGroup *currentGroupNode() const;
2017-06-08 15:37:13 +02:00
%Docstring
Get current group node. If a layer is current node, the function will return parent group. May be null.
%End
QgsLayerTreeModelLegendNode *currentLegendNode() const;
2017-06-08 15:37:13 +02:00
%Docstring
2017-12-15 10:36:55 -04:00
Get current legend node. May be null if current node is not a legend node.
2017-06-08 15:37:13 +02:00
.. versionadded:: 2.14
%End
2017-06-08 15:37:13 +02:00
QList<QgsLayerTreeNode *> selectedNodes( bool skipInternal = false ) const;
%Docstring
2017-12-15 10:36:55 -04:00
Return list of selected nodes
2017-12-15 21:36:08 -04:00
:param skipInternal: If true, will ignore nodes which have an ancestor in the selection
2017-06-08 15:37:13 +02:00
%End
QList<QgsLayerTreeLayer *> selectedLayerNodes() const;
%Docstring
Return list of selected nodes filtered to just layer nodes
%End
2017-06-08 15:37:13 +02:00
QList<QgsMapLayer *> selectedLayers() const;
%Docstring
Get list of selected layers
%End
public slots:
void refreshLayerSymbology( const QString &layerId );
2017-06-08 15:37:13 +02:00
%Docstring
Force refresh of layer symbology. Normally not needed as the changes of layer's renderer are monitored by the model
%End
void expandAllNodes();
2017-06-08 15:37:13 +02:00
%Docstring
2017-12-15 10:36:55 -04:00
Enhancement of QTreeView.expandAll() that also records expanded state in layer tree nodes
2017-06-08 15:37:13 +02:00
.. versionadded:: 2.18
%End
void collapseAllNodes();
2017-06-08 15:37:13 +02:00
%Docstring
2017-12-15 10:36:55 -04:00
Enhancement of QTreeView.collapseAll() that also records expanded state in layer tree nodes
2017-06-08 15:37:13 +02:00
.. versionadded:: 2.18
%End
signals:
void currentLayerChanged( QgsMapLayer *layer );
2017-06-08 15:37:13 +02:00
%Docstring
Emitted when a current layer is changed
%End
2015-02-03 02:21:52 +01:00
protected:
2017-06-08 15:37:13 +02:00
virtual void contextMenuEvent( QContextMenuEvent *event );
2015-02-03 02:21:52 +01:00
void updateExpandedStateFromNode( QgsLayerTreeNode *node );
2015-02-03 02:21:52 +01:00
QgsMapLayer *layerForIndex( const QModelIndex &index ) const;
2017-06-08 15:37:13 +02:00
virtual void mouseReleaseEvent( QMouseEvent *event );
virtual void keyPressEvent( QKeyEvent *event );
2017-07-07 08:54:00 +10:00
virtual void dropEvent( QDropEvent *event );
protected slots:
void modelRowsInserted( const QModelIndex &index, int start, int end );
void modelRowsRemoved();
void updateExpandedStateToNode( const QModelIndex &index );
void onCurrentChanged();
void onExpandedChanged( QgsLayerTreeNode *node, bool expanded );
void onModelReset();
2017-06-08 15:37:13 +02:00
protected:
};
class QgsLayerTreeViewMenuProvider
{
2017-06-08 15:37:13 +02:00
%Docstring
2017-12-15 10:36:55 -04:00
Implementation of this interface can be implemented to allow QgsLayerTreeView
instance to provide custom context menus (opened upon right-click).
2017-06-08 15:37:13 +02:00
2017-12-05 20:04:14 -04:00
.. seealso:: :py:class:`QgsLayerTreeView`
2017-12-15 10:36:55 -04:00
2017-06-08 15:37:13 +02:00
.. versionadded:: 2.4
%End
2017-06-08 15:37:13 +02:00
%TypeHeaderCode
#include "qgslayertreeview.h"
%End
public:
virtual ~QgsLayerTreeViewMenuProvider();
virtual QMenu *createContextMenu() = 0 /Factory/;
2017-06-08 15:37:13 +02:00
%Docstring
Return a newly created menu instance (or null pointer on error)
%End
2014-05-22 01:09:14 +07:00
};
2017-06-08 15:37:13 +02:00
/************************************************************************
* This file has been generated automatically from *
* *
* src/gui/layertree/qgslayertreeview.h *
* *
* Do not edit manually ! Edit header and run scripts/sipify.pl again *
************************************************************************/