/usr/include/qgis/qgscomposertable.h is in libqgis-dev 2.0.1-2build2.
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 | /***************************************************************************
qgscomposertable.h
------------------
begin : January 2010
copyright : (C) 2010 by Marco Hugentobler
email : marco at hugis dot net
***************************************************************************/
/***************************************************************************
* *
* 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. *
* *
***************************************************************************/
#ifndef QGSCOMPOSERTABLE_H
#define QGSCOMPOSERTABLE_H
#include "qgscomposeritem.h"
#include "qgscomposition.h"
#include "qgsfeature.h"
#include <QSet>
/**A class to display feature attributes in the print composer*/
class CORE_EXPORT QgsComposerTable: public QgsComposerItem
{
public:
QgsComposerTable( QgsComposition* composition );
virtual ~QgsComposerTable();
/** return correct graphics item type. Added in v1.7 */
virtual int type() const { return ComposerTable; }
/** \brief Reimplementation of QCanvasItem::paint*/
virtual void paint( QPainter* painter, const QStyleOptionGraphicsItem* itemStyle, QWidget* pWidget );
virtual bool writeXML( QDomElement& elem, QDomDocument & doc ) const = 0;
virtual bool readXML( const QDomElement& itemElem, const QDomDocument& doc ) = 0;
void setLineTextDistance( double d ) { mLineTextDistance = d; }
double lineTextDistance() const { return mLineTextDistance; }
void setHeaderFont( const QFont& f ) { mHeaderFont = f;}
QFont headerFont() const { return mHeaderFont; }
void setContentFont( const QFont& f ) { mContentFont = f; }
QFont contentFont() const { return mContentFont; }
void setShowGrid( bool show ) { mShowGrid = show;}
bool showGrid() const { return mShowGrid; }
void setGridStrokeWidth( double w ) { mGridStrokeWidth = w; }
double gridStrokeWidth() const { return mGridStrokeWidth; }
void setGridColor( const QColor& c ) { mGridColor = c; }
QColor gridColor() const { return mGridColor; }
/**Adapts the size of the frame to match the content. This is normally done in the paint method, but sometimes
it needs to be done before the first render*/
void adjustFrameToSize();
protected:
/**Distance between table lines and text*/
double mLineTextDistance;
QFont mHeaderFont;
QFont mContentFont;
bool mShowGrid;
double mGridStrokeWidth;
QColor mGridColor;
/**Retrieves feature attributes*/
//! @note not available in python bindings
virtual bool getFeatureAttributes( QList<QgsAttributeMap>& attributeMaps ) { Q_UNUSED( attributeMaps ); return false; }
virtual QMap<int, QString> getHeaderLabels() const { return QMap<int, QString>(); } //= 0;
/**Calculate the maximum width values of the vector attributes*/
virtual bool calculateMaxColumnWidths( QMap<int, double>& maxWidthMap, const QList<QgsAttributeMap>& attributeMaps ) const;
/**Adapts the size of the item frame to match the content*/
//! @note not available in python bindings
void adaptItemFrame( const QMap<int, double>& maxWidthMap, const QList<QgsAttributeMap>& attributeMaps );
void drawHorizontalGridLines( QPainter* p, int nAttributes );
//! @note not available in python bindings
void drawVerticalGridLines( QPainter* p, const QMap<int, double>& maxWidthMap );
bool tableWriteXML( QDomElement& itemElem, QDomDocument& doc ) const;
bool tableReadXML( const QDomElement& itemElem, const QDomDocument& doc );
};
#endif // QGSCOMPOSERTABLE_H
|