KD Chart 2  [rev.2.7]
Public Types | Signals | Public Member Functions | List of all members
KDChart::AttributesModel Class Reference

A proxy model used for decorating data with attributes. More...

#include <KDChartAttributesModel.h>

Inheritance diagram for KDChart::AttributesModel:
Inheritance graph
[legend]
Collaboration diagram for KDChart::AttributesModel:
Collaboration graph
[legend]

Public Types

enum  PaletteType {
  PaletteTypeDefault = 0,
  PaletteTypeRainbow = 1,
  PaletteTypeSubdued = 2
}
 

Signals

void attributesChanged (const QModelIndex &, const QModelIndex &)
 

Public Member Functions

 AttributesModel (QAbstractItemModel *model, QObject *parent=0)
 
int columnCount (const QModelIndex &) const override
 [reimplemented] More...
 
bool compare (const AttributesModel *other) const
 Returns true if both, all of the attributes set, and the palette set is equal in both of the AttributeModels. More...
 
bool compareAttributes (int role, const QVariant &a, const QVariant &b) const
 
QVariant data (int role) const
 Returns the data that were specified at global level, or the default data, or QVariant(). More...
 
QVariant data (int column, int role) const
 Returns the data that were specified at per column level, or the globally set data, or the default data, or QVariant(). More...
 
QVariant data (const QModelIndex &, int role=Qt::DisplayRole) const override
 [reimplemented] More...
 
int datasetDimension () const
 
virtual QVariant defaultHeaderData (int section, Qt::Orientation orientation, int role=Qt::DisplayRole) const
 Returns default values for the header data. More...
 
QVariant headerData (int section, Qt::Orientation orientation, int role=Qt::DisplayRole) const override
 [reimplemented] More...
 
QModelIndex index (int row, int col, const QModelIndex &index) const override
 
void initFrom (const AttributesModel *other)
 Copies the internal data (maps and palette) of another AttributesModel* into this one. More...
 
bool isKnownAttributesRole (int role) const
 Returns whether the given role corresponds to one of the known internally used ones. More...
 
QModelIndex mapFromSource (const QModelIndex &sourceIndex) const override
 
QModelIndex mapToSource (const QModelIndex &proxyIndex) const override
 
QVariant modelData (int role) const
 
PaletteType paletteType () const
 
QModelIndex parent (const QModelIndex &index) const override
 
bool resetData (const QModelIndex &index, int role=Qt::DisplayRole)
 Remove any explicit attributes settings that might have been specified before. More...
 
bool resetHeaderData (int section, Qt::Orientation orientation, int role=Qt::DisplayRole)
 Remove any explicit attributes settings that might have been specified before. More...
 
int rowCount (const QModelIndex &) const override
 [reimplemented] More...
 
bool setData (const QModelIndex &index, const QVariant &value, int role=Qt::DisplayRole) override
 [reimplemented] More...
 
void setDatasetDimension (int dimension)
 Set the dimension of the dataset in the source model. More...
 
void setDefaultForRole (int role, const QVariant &value)
 Define the default value for a certain role. More...
 
bool setHeaderData (int section, Qt::Orientation orientation, const QVariant &value, int role=Qt::DisplayRole) override
 [reimplemented] More...
 
bool setModelData (const QVariant value, int role)
 
void setPaletteType (PaletteType type)
 Sets the palettetype used by this attributesmodel. More...
 
void setSourceModel (QAbstractItemModel *sourceModel) override
 [reimplemented] More...
 
 ~AttributesModel () override
 

Detailed Description

A proxy model used for decorating data with attributes.

An AttributesModel forwards data from and to the source model and adds attributes, data that influences the graphical rendering of the source model data. The attributes are distinguished from the source model's data by their role values. Therefore this class does not need to, and does not, change the data layout from the source model's; indexes that refer to the same data have the same row and column values in both models. Attribute changes, that is changes to data with the attribute role, via the interface of this class (including setData()) are stored internally and not forwarded to the source model.

Definition at line 46 of file KDChartAttributesModel.h.

Member Enumeration Documentation

Enumerator
PaletteTypeDefault 
PaletteTypeRainbow 
PaletteTypeSubdued 

Definition at line 51 of file KDChartAttributesModel.h.

Constructor & Destructor Documentation

AttributesModel::AttributesModel ( QAbstractItemModel *  model,
QObject parent = 0 
)
explicit
AttributesModel::~AttributesModel ( )
override

Definition at line 86 of file KDChartAttributesModel.cpp.

Member Function Documentation

void KDChart::AttributesModel::attributesChanged ( const QModelIndex &  ,
const QModelIndex &   
)
signal
int AttributesModel::columnCount ( const QModelIndex &  index) const
override

[reimplemented]

Definition at line 510 of file KDChartAttributesModel.cpp.

References KDChart::AbstractProxyModel::mapToSource().

Referenced by setHeaderData(), and setModelData().

bool AttributesModel::compare ( const AttributesModel other) const

Returns true if both, all of the attributes set, and the palette set is equal in both of the AttributeModels.

Definition at line 123 of file KDChartAttributesModel.cpp.

References compareAttributes(), d, and paletteType().

Referenced by KDChart::AbstractDiagram::compare().

bool AttributesModel::compareAttributes ( int  role,
const QVariant &  a,
const QVariant &  b 
) const
QVariant AttributesModel::data ( int  role) const

Returns the data that were specified at global level, or the default data, or QVariant().

Definition at line 299 of file KDChartAttributesModel.cpp.

References isKnownAttributesRole(), and modelData().

Referenced by KDChart::AbstractDiagram::brush(), data(), KDChart::AbstractDiagram::dataValueAttributes(), and KDChart::AbstractDiagram::pen().

QVariant AttributesModel::data ( int  column,
int  role 
) const

Returns the data that were specified at per column level, or the globally set data, or the default data, or QVariant().

Definition at line 314 of file KDChartAttributesModel.cpp.

References data(), headerData(), and isKnownAttributesRole().

QVariant AttributesModel::data ( const QModelIndex &  index,
int  role = Qt::DisplayRole 
) const
override

[reimplemented]

Definition at line 330 of file KDChartAttributesModel.cpp.

References d, data(), and KDChart::AbstractProxyModel::mapToSource().

int AttributesModel::datasetDimension ( ) const

Definition at line 712 of file KDChartAttributesModel.cpp.

References d.

QVariant AttributesModel::defaultHeaderData ( int  section,
Qt::Orientation  orientation,
int  role = Qt::DisplayRole 
) const
virtual

Returns default values for the header data.

Definition at line 273 of file KDChartAttributesModel.cpp.

References d, KDChart::DatasetBrushRole, KDChart::DatasetPenRole, headerData(), and modelData().

Referenced by headerData().

QVariant AttributesModel::headerData ( int  section,
Qt::Orientation  orientation,
int  role = Qt::DisplayRole 
) const
override

[reimplemented]

Definition at line 247 of file KDChartAttributesModel.cpp.

References d, and defaultHeaderData().

Referenced by data(), defaultHeaderData(), KDChart::AbstractDiagram::itemRowLabels(), and setHeaderData().

QModelIndex KDChart::AbstractProxyModel::index ( int  row,
int  col,
const QModelIndex &  index 
) const
overrideinherited
void AttributesModel::initFrom ( const AttributesModel other)

Copies the internal data (maps and palette) of another AttributesModel* into this one.

Definition at line 92 of file KDChartAttributesModel.cpp.

References compareAttributes(), and d.

Referenced by KDChart::AbstractDiagram::setModel().

bool AttributesModel::isKnownAttributesRole ( int  role) const
QModelIndex KDChart::AbstractProxyModel::mapFromSource ( const QModelIndex &  sourceIndex) const
overrideinherited
QModelIndex KDChart::AbstractProxyModel::mapToSource ( const QModelIndex &  proxyIndex) const
overrideinherited
QVariant KDChart::AttributesModel::modelData ( int  role) const
AttributesModel::PaletteType AttributesModel::paletteType ( ) const

Definition at line 477 of file KDChartAttributesModel.cpp.

References d.

Referenced by compare().

QModelIndex KDChart::AbstractProxyModel::parent ( const QModelIndex &  index) const
overrideinherited
bool AttributesModel::resetData ( const QModelIndex &  index,
int  role = Qt::DisplayRole 
)

Remove any explicit attributes settings that might have been specified before.

Definition at line 410 of file KDChartAttributesModel.cpp.

References setData().

bool AttributesModel::resetHeaderData ( int  section,
Qt::Orientation  orientation,
int  role = Qt::DisplayRole 
)

Remove any explicit attributes settings that might have been specified before.

Definition at line 451 of file KDChartAttributesModel.cpp.

References setHeaderData().

int AttributesModel::rowCount ( const QModelIndex &  index) const
override
bool AttributesModel::setData ( const QModelIndex &  index,
const QVariant &  value,
int  role = Qt::DisplayRole 
)
override
void AttributesModel::setDatasetDimension ( int  dimension)

Set the dimension of the dataset in the source model.

See also
AbstractDiagram::setDatasetDimension

Definition at line 706 of file KDChartAttributesModel.cpp.

References d.

void AttributesModel::setDefaultForRole ( int  role,
const QVariant &  value 
)

Define the default value for a certain role.

Passing a default-constructed QVariant is equivalent to removing the default.

Definition at line 691 of file KDChartAttributesModel.cpp.

References d.

Referenced by AttributesModel(), and KDChart::TernaryLineDiagram::TernaryLineDiagram().

bool AttributesModel::setHeaderData ( int  section,
Qt::Orientation  orientation,
const QVariant &  value,
int  role = Qt::DisplayRole 
)
override
bool KDChart::AttributesModel::setModelData ( const QVariant  value,
int  role 
)
void AttributesModel::setPaletteType ( AttributesModel::PaletteType  type)
void AttributesModel::setSourceModel ( QAbstractItemModel *  sourceModel)
override

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

Klarälvdalens Datakonsult AB (KDAB)
"The Qt, C++ and OpenGL Experts"
https://www.kdab.com/

https://www.kdab.com/development-resources/qt-tools/kd-chart/