/usr/include/qgis/qgslegendinterface.h is in libqgis-dev 1.7.4+1.7.5~20120320-1.1+b1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
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 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 | /***************************************************************************
qgslegendinterface.h
--------------------------------------
Date : 19-Nov-2009
Copyright : (C) 2009 by Andres Manz
Email : manz dot andres at gmail dot com
****************************************************************************/
/***************************************************************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
***************************************************************************/
/* $Id$ */
#ifndef QGSLEGENDINTERFACE_H
#define QGSLEGENDINTERFACE_H
#include <QObject>
#include <QPair>
#include <QStringList>
class QgsMapLayer;
class QTreeWidgetItem;
//Information about relationship between groups and layers
//key: group name (or null strings for single layers without groups)
//value: containter with layer ids contained in the group
typedef QPair< QString, QList<QString> > GroupLayerInfo;
/** \ingroup gui
* QgsLegendInterface
* Abstract base class to make QgsLegend available to plugins.
*
* \note added in 1.4
*/
class GUI_EXPORT QgsLegendInterface : public QObject
{
Q_OBJECT
public:
/** Constructor */
QgsLegendInterface();
/** Virtual destructor */
virtual ~QgsLegendInterface();
//! Return a string list of groups
virtual QStringList groups() = 0;
//! Return the relationship between groups and layers in the legend
virtual QList< GroupLayerInfo > groupLayerRelationship() { return QList< GroupLayerInfo >(); }
//! Return all layers in the project in legend order
//! @note added in 1.5
virtual QList< QgsMapLayer * > layers() const = 0;
//! Check if a group exists
//! @note added in 1.5
virtual bool groupExists( int groupIndex ) = 0;
//! Check if a group is expanded
//! @note added in 1.5
virtual bool isGroupExpanded( int groupIndex ) = 0;
//! Check if a group is visible
//! @note added in 1.5
virtual bool isGroupVisible( int groupIndex ) = 0;
//! Check if a layer is visible
//! @note added in 1.5
virtual bool isLayerVisible( QgsMapLayer * ml ) = 0;
signals:
//! emitted when a group index has changed
void groupIndexChanged( int oldIndex, int newIndex );
public slots:
//! Add a new group
//! a parent group can be given to nest the new group in it
virtual int addGroup( QString name, bool expand = true, QTreeWidgetItem* parent = 0 ) = 0;
//! Add a new group
//! a parent group index has to be given to nest the new group in it
virtual int addGroup( QString name, bool expand, int parentIndex ) = 0;
//! Remove group on index
virtual void removeGroup( int groupIndex ) = 0;
//! Move a layer to a group
virtual void moveLayer( QgsMapLayer * ml, int groupIndex ) = 0;
//! Collapse or expand a group
//! @note added in 1.5
virtual void setGroupExpanded( int groupIndex, bool expand ) = 0;
//! Set the visibility of a group
//! @note added in 1.5
virtual void setGroupVisible( int groupIndex, bool visible ) = 0;
//! Set the visibility of a layer
//! @note added in 1.5
virtual void setLayerVisible( QgsMapLayer * ml, bool visible ) = 0;
//! Refresh layer symbology
//! @note added in 1.5
virtual void refreshLayerSymbology( QgsMapLayer *ml ) = 0;
};
#endif
|