/usr/include/Wt/Chart/WAbstractChartModel is in libwt-dev 3.3.6+dfsg-1.1.
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 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 | // This may look like C code, but it's really -*- C++ -*-
/*
* Copyright (C) 2016 Emweb bvba, Herent, Belgium.
*
* See the LICENSE file for terms of use.
*/
#ifndef WABSTRACT_CHART_MODEL_H_
#define WABSTRACT_CHART_MODEL_H_
#include "Wt/WObject"
#include "Wt/WColor"
#include "Wt/WModelIndex"
#include "Wt/WSignal"
#include "Wt/WString"
namespace Wt {
namespace Chart {
/*! \class WAbstractChartModel Wt/Chart/WAbstractChartModel Wt/Chart/WAbstractChartModel
* \brief An abstract model for use with %Wt's charts.
*
* This abstract model is used by WAbstractChart as data model.
*
* \ingroup charts
*/
class WT_API WAbstractChartModel : public WObject {
public:
/*! \brief Creates a new chart model.
*/
WAbstractChartModel(WObject *parent = 0);
virtual ~WAbstractChartModel();
/*! \brief Returns data at a given row and column.
*
* This value determines the position of a data point
* on the chart.
*/
virtual double data(int row, int column) const = 0;
/*! \brief Returns display data at a given row and column.
*
* This value should be a textual representation of the
* value returned by data(). This defaults to the string
* representation of the double returned by data().
*/
virtual WString displayData(int row, int column) const;
/*! \brief Returns the given column's header data.
*
* This is used as the name in the legend for a data series.
*
* Defaults to an empty string.
*/
virtual WString headerData(int column) const;
/*! \brief Returns the tooltip text to use on a given row and column.
*
* Defaults to an empty string, signifying that no tooltip
* should be shown.
*/
virtual WString toolTip(int row, int column) const;
/*! \brief Returns the item flags for the given row and column.
*
* Only the ItemIsXHTMLText and ItemHasDeferredTooltip flags
* are supported for charts.
*
* ItemIsXHTMLText determines whether the tooltip text should be
* rendered as XHTML or as plain text, and ItemHasDeferredTooltip
* makes it so that tooltips are only loaded on demand.
*
* \note An XHTML text tooltip will be forced to be deferred. Non-deferred
* XHTML tooltips are not supported.
*
* \note When not using deferred tooltips, the HTML <area> tag will be
* used. If there are many tooltips and the chart is interactive
* this may cause client-side performance issues. If deferred tooltips
* are used, this will cause some load on the server, as it calculates
* server-side what marker or bar the user is hovering over.
*/
virtual WFlags<ItemFlag> flags(int row, int column) const;
/*! \brief Returns the link for a given row and column.
*
* Defaults to an empty link, signifying that no link should be shown.
*/
virtual WLink *link(int row, int column) const;
/*!\brief Returns the marker pen color to use for a given row and column.
*
* This is used as the color of the outline of markers when drawing
* a PointSeries. The default is null, indicating that the default color,
* as determined by WDataSeries::markerPen(), should be used.
*
* \sa WDataSeries::setMarkerPen()
*/
virtual const WColor *markerPenColor(int row, int column) const;
/*!\brief Returns the marker brush color to use for a given row and column.
*
* This is used as the color of the brush used when drawing a
* PointSeries. The default is null, indicating that the default color,
* as determined by WDataSeries::markerBrush(), should be used.
*
* \sa WDataSeries::setMarkerBrush()
*/
virtual const WColor *markerBrushColor(int row, int column) const;
/*!\brief Returns the bar pen color to use for a given row and column.
*
* This is used as the color of the outline of bars when drawing a
* BarSeries. The default is null, indicating that the default color,
* as determined by WDataSeries::pen(), should be used.
*
* \sa WDataSeries::setPen()
*/
virtual const WColor *barPenColor(int row, int column) const;
/*!\brief Returns the bar brush color to use for a given row and column.
*
* This is used as the color of the brush used when drawing a
* BarSeries. The default is null, indicating that the default color,
* as determined by WDataSeries::brush(), should be used.
*
* \sa WDataSeries::setBrush()
*/
virtual const WColor *barBrushColor(int row, int column) const;
/*!\brief Returns the marker scale factor to use for a given row and column.
*
* This is used to scale the size of the marker when drawing a
* PointSeries. The default is null, indicating that the default scale should be used.
*/
virtual const double *markerScaleFactor(int row, int column) const;
/*! \brief Returns the number of columns.
*
* \sa rowCount()
*/
virtual int columnCount() const = 0;
/*! \brief Returns the number of rows.
*
* \sa columnCount()
*/
virtual int rowCount() const = 0;
/*! \brief A signal that notifies of any change to the model.
*
* Implementations should trigger this signal in order to update the chart.
*/
virtual Signal<>& changed() { return changed_; }
private:
Signal<> changed_;
};
}
}
#endif // WABSTRACT_CHART_MODEL_H_
|