QGIS API Documentation  2.6.0-Brighton
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Public Member Functions | List of all members
QgsComposerAttributeTable Class Reference

A table class that displays a vector attribute table. More...

#include <qgscomposerattributetable.h>

Inheritance diagram for QgsComposerAttributeTable:
Inheritance graph
[legend]

Public Member Functions

 QgsComposerAttributeTable (QgsComposition *composition)
 ~QgsComposerAttributeTable ()
virtual int type () const
 return correct graphics item type.
virtual void paint (QPainter *painter, const QStyleOptionGraphicsItem *itemStyle, QWidget *pWidget)
 Reimplementation of QCanvasItem::paint.
bool writeXML (QDomElement &elem, QDomDocument &doc) const
 Writes properties specific to attribute tables.
bool readXML (const QDomElement &itemElem, const QDomDocument &doc)
 Reads the properties specific to an attribute table from xml.
void setVectorLayer (QgsVectorLayer *layer)
 Sets the vector layer from which to display feature attributes.
QgsVectorLayervectorLayer () const
 Returns the vector layer the attribute table is currently using.
void resetColumns ()
 Resets the attribute table's columns to match the vector layer's fields.
void setComposerMap (const QgsComposerMap *map)
 Sets the composer map to use to limit the extent of features shown in the attribute table.
const QgsComposerMapcomposerMap () const
 Returns the composer map whose extents are controlling the features shown in the table.
void setMaximumNumberOfFeatures (int features)
 Sets the maximum number of features shown by the table.
int maximumNumberOfFeatures () const
 Returns the maximum number of features to be shown by the table.
void setDisplayOnlyVisibleFeatures (bool visibleOnly)
 Sets attribute table to only show features which are visible in a composer map item.
bool displayOnlyVisibleFeatures () const
 Returns true if the table is set to show only features visible on a corresponding composer map item.
bool filterFeatures () const
 Returns true if a feature filter is active on the attribute table.
void setFilterFeatures (bool filter)
 Sets whether the feature filter is active for the attribute table.
QString featureFilter () const
 Returns the current expression used to filter features for the table.
void setFeatureFilter (const QString &expression)
 Sets the expression used for filtering features in the table.
Q_DECL_DEPRECATED QSet< int > displayAttributes () const
 Returns the attributes fields which are shown by the table.
void setDisplayAttributes (const QSet< int > &attr, bool refresh=true)
 Sets the attributes to display in the table.
Q_DECL_DEPRECATED QMap< int,
QString > 
fieldAliasMap () const
 Returns the attribute field aliases, which control how fields are named in the table's header row.
Q_DECL_DEPRECATED void setFieldAliasMap (const QMap< int, QString > &map)
 Sets the attribute field aliases, which control how fields are named in the table's header row.
void setSceneRect (const QRectF &rectangle)
 Adapts mMaximumNumberOfFeatures depending on the rectangle height.
Q_DECL_DEPRECATED void setSortAttributes (const QList< QPair< int, bool > > att)
 Sets the attributes to use to sort the table's features.
QList< QPair< int, bool > > sortAttributes () const
 Returns the attributes used to sort the table's features.
bool getFeatureAttributes (QList< QgsAttributeMap > &attributeMaps)
 Queries the attribute table's vector layer for attributes to show in the table.
- Public Member Functions inherited from QgsComposerTable
 QgsComposerTable (QgsComposition *composition)
virtual ~QgsComposerTable ()
void setLineTextDistance (double d)
 Sets the margin distance between cell borders and their contents.
double lineTextDistance () const
 Returns the margin distance between cell borders and their contents.
void setHeaderFont (const QFont &f)
 Sets the font used to draw header text in the table.
QFont headerFont () const
 Returns the font used to draw header text in the table.
void setHeaderFontColor (const QColor &color)
 Sets the color used to draw header text in the table.
QColor headerFontColor () const
 Returns the color used to draw header text in the table.
void setHeaderHAlignment (const HeaderHAlignment alignment)
 Sets the horizontal alignment for table headers.
HeaderHAlignment headerHAlignment () const
 Returns the horizontal alignment for table headers.
void setContentFont (const QFont &f)
 Sets the font used to draw text in table body cells.
QFont contentFont () const
 Returns the font used to draw text in table body cells.
void setContentFontColor (const QColor &color)
 Sets the color used to draw text in table body cells.
QColor contentFontColor () const
 Returns the color used to draw text in table body cells.
void setShowGrid (bool show)
 Sets whether grid lines should be drawn in the table.
bool showGrid () const
 Returns whether grid lines are drawn in the table.
void setGridStrokeWidth (double w)
 Sets the width for grid lines in the table.
double gridStrokeWidth () const
 Returns the width of grid lines in the table.
void setGridColor (const QColor &c)
 Sets color used for grid lines in the table.
QColor gridColor () const
 Returns the color used for grid lines in the table.
virtual QMap< int, QString > headerLabels () const
 Returns the text used in the column headers for the table.
QList< QgsComposerTableColumn * > * columns ()
 Returns a pointer to the list of QgsComposerTableColumns shown in the table.
void setColumns (QList< QgsComposerTableColumn * > columns)
 Replaces the columns in the table with a specified list of QgsComposerTableColumns.
- Public Member Functions inherited from QgsComposerItem
 QgsComposerItem (QgsComposition *composition, bool manageZValue=true)
 Constructor.
 QgsComposerItem (qreal x, qreal y, qreal width, qreal height, QgsComposition *composition, bool manageZValue=true)
 Constructor with box position and composer object.
virtual ~QgsComposerItem ()
virtual bool isRemoved () const
 Returns whether this item has been removed from the composition.
void setIsRemoved (const bool removed)
 Sets whether this item has been removed from the composition.
virtual void setSelected (bool s)
 Set selected, selected item should be highlighted.
virtual bool selected () const
 Is selected.
void move (double dx, double dy)
 Moves item in canvas coordinates.
virtual void moveContent (double dx, double dy)
 Move Content of item.
virtual Q_DECL_DEPRECATED void zoomContent (int delta, double x, double y)
 Zoom content of item.
virtual void zoomContent (const double factor, const QPointF point, const ZoomMode mode=QgsComposerItem::Zoom)
 Zoom content of item.
int page () const
 Gets the page the item is currently on.
QPointF pagePos () const
 Returns the item's position relative to its current page.
void updatePagePos (double newPageWidth, double newPageHeight)
 Moves the item so that it retains its relative position on the page when the paper size changes.
void setItemPosition (double x, double y, ItemPositionMode itemPoint=UpperLeft, int page=-1)
 Moves the item to a new position (in canvas coordinates)
void setItemPosition (double x, double y, double width, double height, ItemPositionMode itemPoint=UpperLeft, bool posIncludesFrame=false, int page=-1)
 Sets item position and width / height in one go.
ItemPositionMode lastUsedPositionMode ()
 Returns item's last used position mode.
bool _writeXML (QDomElement &itemElem, QDomDocument &doc) const
 Writes parameter that are not subclass specific in document.
bool _readXML (const QDomElement &itemElem, const QDomDocument &doc)
 Reads parameter that are not subclass specific in document.
bool hasFrame () const
 Whether this item has a frame or not.
void setFrameEnabled (const bool drawFrame)
 Set whether this item has a frame drawn around it or not.
virtual void setFrameOutlineColor (const QColor &color)
 Sets frame outline color.
QColor frameOutlineColor () const
 Returns the frame's outline color.
virtual void setFrameOutlineWidth (const double outlineWidth)
 Sets frame outline width.
double frameOutlineWidth () const
 Returns the frame's outline width.
Qt::PenJoinStyle frameJoinStyle () const
 Returns the join style used for drawing the item's frame.
void setFrameJoinStyle (const Qt::PenJoinStyle style)
 Sets join style used when drawing the item's frame.
virtual double estimatedFrameBleed () const
 Returns the estimated amount the item's frame bleeds outside the item's actual rectangle.
virtual QRectF rectWithFrame () const
 Returns the item's rectangular bounds, including any bleed caused by the item's frame.
bool hasBackground () const
 Whether this item has a Background or not.
void setBackgroundEnabled (const bool drawBackground)
 Set whether this item has a Background drawn around it or not.
QColor backgroundColor () const
 Gets the background color for this item.
void setBackgroundColor (const QColor &backgroundColor)
 Sets the background color for this item.
QPainter::CompositionMode blendMode () const
 Returns the item's composition blending mode.
void setBlendMode (const QPainter::CompositionMode blendMode)
 Sets the item's composition blending mode.
int transparency () const
 Returns the item's transparency.
void setTransparency (const int transparency)
 Sets the item's transparency.
bool effectsEnabled () const
 Returns whether effects (eg blend modes) are enabled for the item.
void setEffectsEnabled (const bool effectsEnabled)
 Sets whether effects (eg blend modes) are enabled for the item.
virtual void addItem (QgsComposerItem *item)
 Composite operations for item groups do nothing per default.
virtual void removeItems ()
virtual void beginItemCommand (const QString &text)
void beginCommand (const QString &commandText, QgsComposerMergeCommand::Context c=QgsComposerMergeCommand::Unknown)
 Starts new composer undo command.
virtual void endItemCommand ()
void endCommand ()
 Finish current command and push it onto the undo stack.
void cancelCommand ()
Q_DECL_DEPRECATED void drawText (QPainter *p, double x, double y, const QString &text, const QFont &font, const QColor &c=QColor()) const
 Draws Text.
Q_DECL_DEPRECATED void drawText (QPainter *p, const QRectF &rect, const QString &text, const QFont &font, Qt::AlignmentFlag halignment=Qt::AlignLeft, Qt::AlignmentFlag valignment=Qt::AlignTop, int flags=Qt::TextWordWrap) const
 Like the above, but with a rectangle for multiline text.
Q_DECL_DEPRECATED double textWidthMillimeters (const QFont &font, const QString &text) const
 Returns the font width in millimeters (considers upscaling and downscaling with FONT_WORKAROUND_SCALE.
Q_DECL_DEPRECATED double fontHeightCharacterMM (const QFont &font, const QChar &c) const
 Returns the font height of a character in millimeters.
Q_DECL_DEPRECATED double fontAscentMillimeters (const QFont &font) const
 Returns the font ascent in Millimeters (considers upscaling and downscaling with FONT_WORKAROUND_SCALE.
Q_DECL_DEPRECATED double fontDescentMillimeters (const QFont &font) const
 Returns the font descent in Millimeters (considers upscaling and downscaling with FONT_WORKAROUND_SCALE.
Q_DECL_DEPRECATED double fontHeightMillimeters (const QFont &font) const
 Returns the font height in Millimeters (considers upscaling and downscaling with FONT_WORKAROUND_SCALE.
Q_DECL_DEPRECATED double pixelFontSize (double pointSize) const
 Calculates font size in mm from a font point size.
Q_DECL_DEPRECATED QFont scaledFontPixelSize (const QFont &font) const
 Returns a font where size is in pixel and font size is upscaled with FONT_WORKAROUND_SCALE.
void setPositionLock (const bool lock)
 Locks / unlocks the item position for mouse drags.
bool positionLock () const
 Returns whether position lock for mouse drags is enabled returns true if item is locked for mouse movement and resizing.
double itemRotation (const QgsComposerObject::PropertyValueType valueType=QgsComposerObject::EvaluatedValue) const
 Returns the current rotation for the composer item.
Q_DECL_DEPRECATED double rotation () const
 Returns the rotation for the composer item.
virtual void updateItem ()
 Updates item, with the possibility to do custom update for subclasses.
QString id () const
 Get item's id (which is not necessarly unique)
virtual void setId (const QString &id)
 Set item's id (which is not necessarly unique)
QString uuid () const
 Get item identification name.
virtual QString displayName () const
 Get item display name.
virtual void setVisibility (const bool visible)
 Sets visibility for item.
bool excludeFromExports (const QgsComposerObject::PropertyValueType valueType=QgsComposerObject::EvaluatedValue)
 Returns whether the item should be excluded from composer exports and prints.
virtual void setExcludeFromExports (const bool exclude)
 Sets whether the item should be excluded from composer exports and prints.
bool isGroupMember () const
 Returns whether this item is part of a group.
void setIsGroupMember (const bool isGroupMember)
 Sets whether this item is part of a group.
virtual int numberExportLayers () const
 Get the number of layers that this item requires for exporting as layers.
virtual void setCurrentExportLayer (const int layerIdx=-1)
 Sets the current layer to draw for exporting.
- Public Member Functions inherited from QgsComposerObject
 QgsComposerObject (QgsComposition *composition)
 Constructor.
virtual ~QgsComposerObject ()
const QgsCompositioncomposition () const
 Returns the composition the item is attached to.
QgsCompositioncomposition ()
QgsDataDefineddataDefinedProperty (const DataDefinedProperty property) const
 Returns a reference to the data defined settings for one of the item's data defined properties.
void setDataDefinedProperty (const DataDefinedProperty property, const bool active, const bool useExpression, const QString &expression, const QString &field)
 Sets parameters for a data defined property for the item.

Additional Inherited Members

- Public Types inherited from QgsComposerTable
enum  HeaderHAlignment { FollowColumn, HeaderLeft, HeaderCenter, HeaderRight }
- Public Slots inherited from QgsComposerTable
virtual void refreshAttributes ()
 Refreshes the attributes shown in the table by querying the vector layer for new data.
virtual void adjustFrameToSize ()
 Adapts the size of the frame to match the content.
- Signals inherited from QgsComposerItem
void itemRotationChanged (double newRotation)
 Is emitted on item rotation change.
void sizeChanged ()
 Emitted if the rectangle changes.
void frameChanged ()
 Emitted if the item's frame style changes.
void lockChanged ()
 Emitted if the item's lock status changes.
- Protected Member Functions inherited from QgsComposerTable
virtual bool calculateMaxColumnWidths (QMap< int, double > &maxWidthMap, const QList< QgsAttributeMap > &attributeMaps) const
 Calculates the maximum width of text shown in columns.
void adaptItemFrame (const QMap< int, double > &maxWidthMap, const QList< QgsAttributeMap > &attributeMaps)
 Adapts the size of the item frame to match the table's content.
void drawHorizontalGridLines (QPainter *p, int nAttributes)
 Draws the horizontal grid lines for the table.
void drawVerticalGridLines (QPainter *p, const QMap< int, double > &maxWidthMap)
 Draws the vertical grid lines for the table.
bool tableWriteXML (QDomElement &itemElem, QDomDocument &doc) const
 Writes common table properties to xml for storage.
bool tableReadXML (const QDomElement &itemElem, const QDomDocument &doc)
 Reads the table's common properties from xml.
- Protected Attributes inherited from QgsComposerTable
double mLineTextDistance
 Distance between table lines and text.
QFont mHeaderFont
QColor mHeaderFontColor
QFont mContentFont
QColor mContentFontColor
HeaderHAlignment mHeaderHAlignment
bool mShowGrid
double mGridStrokeWidth
QColor mGridColor
QList< QgsAttributeMapmAttributeMaps
QMap< int, double > mMaxColumnWidthMap
QList< QgsComposerTableColumn * > mColumns

Detailed Description

A table class that displays a vector attribute table.

Constructor & Destructor Documentation

QgsComposerAttributeTable::QgsComposerAttributeTable ( QgsComposition composition)
QgsComposerAttributeTable::~QgsComposerAttributeTable ( )

Member Function Documentation

const QgsComposerMap* QgsComposerAttributeTable::composerMap ( ) const
inline

Returns the composer map whose extents are controlling the features shown in the table.

The extents of the map are only used if displayOnlyVisibleFeatures() is true.

Returns
composer map controlling the attribute table
See Also
setComposerMap
displayOnlyVisibleFeatures
QSet< int > QgsComposerAttributeTable::displayAttributes ( ) const

Returns the attributes fields which are shown by the table.

Returns
a QSet of integers refering to the attributes in the vector layer. If result is an empty QSet than all feature attributes will be shown.
See Also
setDisplayAttributes
Deprecated:
use QgsComposerTable::columns() instead
bool QgsComposerAttributeTable::displayOnlyVisibleFeatures ( ) const
inline

Returns true if the table is set to show only features visible on a corresponding composer map item.

Returns
true if table only shows visible features
See Also
composerMap
setDisplayOnlyVisibleFeatures
QString QgsComposerAttributeTable::featureFilter ( ) const
inline

Returns the current expression used to filter features for the table.

The filter is only active if filterFeatures() is true.

Returns
feature filter expression
Note
added in 2.3
See Also
setFeatureFilter
filterFeatures
QMap< int, QString > QgsComposerAttributeTable::fieldAliasMap ( ) const

Returns the attribute field aliases, which control how fields are named in the table's header row.

Returns
a QMap of integers to strings, where the string is the field's alias and the integer is the field index from the associated vector layer.
See Also
setFieldAliasMap
Deprecated:
use QgsComposerTable::columns() instead
bool QgsComposerAttributeTable::filterFeatures ( ) const
inline

Returns true if a feature filter is active on the attribute table.

Returns
bool state of the feature filter
Note
added in 2.3
See Also
setFilterFeatures
featureFilter
bool QgsComposerAttributeTable::getFeatureAttributes ( QList< QgsAttributeMap > &  attributeMaps)
virtual

Queries the attribute table's vector layer for attributes to show in the table.

Parameters
attributeMapslist of QgsAttributeMaps where the fetched feature attributes will be stored
Returns
true if attributes were successfully fetched
Note
not available in python bindings

Reimplemented from QgsComposerTable.

int QgsComposerAttributeTable::maximumNumberOfFeatures ( ) const
inline

Returns the maximum number of features to be shown by the table.

Returns
maximum number of features
See Also
setMaximumNumberOfFeatures
void QgsComposerAttributeTable::paint ( QPainter *  painter,
const QStyleOptionGraphicsItem *  itemStyle,
QWidget *  pWidget 
)
virtual

Reimplementation of QCanvasItem::paint.

Reimplemented from QgsComposerTable.

bool QgsComposerAttributeTable::readXML ( const QDomElement &  itemElem,
const QDomDocument &  doc 
)
virtual

Reads the properties specific to an attribute table from xml.

Parameters
itemElema QDomElement holding the attribute table's desired properties.
docQDomDocument for the source xml.
See Also
writeXML

Implements QgsComposerTable.

void QgsComposerAttributeTable::resetColumns ( )

Resets the attribute table's columns to match the vector layer's fields.

Note
added in 2.3
See Also
setVectorLayer
void QgsComposerAttributeTable::setComposerMap ( const QgsComposerMap map)

Sets the composer map to use to limit the extent of features shown in the attribute table.

This setting only has an effect if setDisplayOnlyVisibleFeatures is set to true. Changing the composer map forces the table to refetch features from its vector layer, and may result in the table changing size to accommodate the new displayed feature attributes.

Parameters
mapQgsComposerMap which drives the extents of the table's features
See Also
composerMap
setDisplayOnlyVisibleFeatures
void QgsComposerAttributeTable::setDisplayAttributes ( const QSet< int > &  attr,
bool  refresh = true 
)

Sets the attributes to display in the table.

Parameters
attrQSet of integer values refering to the attributes from the vector layer to show. Set to an empty QSet to show all feature attributes.
refreshset to true to force the table to refetch features from its vector layer and immediately update the display of the table. This may result in the table changing size to accommodate the new displayed feature attributes.
See Also
displayAttributes
void QgsComposerAttributeTable::setDisplayOnlyVisibleFeatures ( bool  visibleOnly)

Sets attribute table to only show features which are visible in a composer map item.

Changing this setting forces the table to refetch features from its vector layer, and may result in the table changing size to accommodate the new displayed feature attributes.

Parameters
visibleOnlyset to true to show only visible features
See Also
displayOnlyVisibleFeatures
setComposerMap
void QgsComposerAttributeTable::setFeatureFilter ( const QString &  expression)

Sets the expression used for filtering features in the table.

The filter is only active if filterFeatures() is set to true. Changing this setting forces the table to refetch features from its vector layer, and may result in the table changing size to accommodate the new displayed feature attributes.

Parameters
expressionfilter to use for selecting which features to display in the table
Note
added in 2.3
See Also
featureFilter
setFilterFeatures
void QgsComposerAttributeTable::setFieldAliasMap ( const QMap< int, QString > &  map)

Sets the attribute field aliases, which control how fields are named in the table's header row.

Parameters
mapQMap of integers to strings, where the string is the alias to use for the corresponding field, and the integer is the field index from the vector layer
See Also
fieldAliasMap
Deprecated:
use QgsComposerTable::columns() instead
void QgsComposerAttributeTable::setFilterFeatures ( bool  filter)

Sets whether the feature filter is active for the attribute table.

Changing this setting forces the table to refetch features from its vector layer, and may result in the table changing size to accommodate the new displayed feature attributes.

Parameters
filterSet to true to enable the feature filter
Note
added in 2.3
See Also
filterFeatures
setFeatureFilter
void QgsComposerAttributeTable::setMaximumNumberOfFeatures ( int  features)

Sets the maximum number of features shown by the table.

Changing this setting may result in the attribute table changing its size to accommodate the new number of rows, and requires the table to refetch features from its vector layer.

Parameters
featuresmaximum number of features to show in the table
See Also
maximumNumberOfFeatures
void QgsComposerAttributeTable::setSceneRect ( const QRectF &  rectangle)
virtual

Adapts mMaximumNumberOfFeatures depending on the rectangle height.

Calling this forces the table to refetch features from its vector layer and immediately updates the display of the table.

See Also
maximumNumberOfFeatures
setMaximumNumberOfFeatures

Reimplemented from QgsComposerItem.

void QgsComposerAttributeTable::setSortAttributes ( const QList< QPair< int, bool > >  att)

Sets the attributes to use to sort the table's features.

Parameters
attQList integers/bool pairs, where the integer refers to the attribute index and the bool sets the sort order for the attribute. If true the attribute is sorted ascending, if false, the attribute is sorted in descending order. Note that features are sorted after the maximum number of displayed features have been fetched from the vector layer's provider.
See Also
sortAttributes
Deprecated:
use QgsComposerTable::columns() instead
Note
not available in python bindings
void QgsComposerAttributeTable::setVectorLayer ( QgsVectorLayer layer)

Sets the vector layer from which to display feature attributes.

Parameters
layerVector layer for attribute table
See Also
vectorLayer
QList< QPair< int, bool > > QgsComposerAttributeTable::sortAttributes ( ) const

Returns the attributes used to sort the table's features.

Returns
a QList of integer/bool pairs, where the integer refers to the attribute index and the bool to the sort order for the attribute. If true the attribute is sorted ascending, if false, the attribute is sorted in descending order.
Note
not available in python bindings
virtual int QgsComposerAttributeTable::type ( ) const
inlinevirtual

return correct graphics item type.

Reimplemented from QgsComposerTable.

QgsVectorLayer* QgsComposerAttributeTable::vectorLayer ( ) const
inline

Returns the vector layer the attribute table is currently using.

Returns
attribute table's current vector layer
See Also
setVectorLayer
bool QgsComposerAttributeTable::writeXML ( QDomElement &  elem,
QDomDocument &  doc 
) const
virtual

Writes properties specific to attribute tables.

Parameters
eleman existing QDomElement in which to store the attribute table's properties.
docQDomDocument for the destination xml.
See Also
readXML

Implements QgsComposerTable.


The documentation for this class was generated from the following files: