You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
87 lines
2.1 KiB
87 lines
2.1 KiB
/* -*- mode: C++ ; c-file-style: "stroustrup" -*- ***************************** |
|
* Qwt Widget Library |
|
* Copyright (C) 1997 Josef Wilgen |
|
* Copyright (C) 2002 Uwe Rathmann |
|
* |
|
* This library is free software; you can redistribute it and/or |
|
* modify it under the terms of the Qwt License, Version 1.0 |
|
*****************************************************************************/ |
|
|
|
#ifndef QWT_LEGEND_DATA_H |
|
#define QWT_LEGEND_DATA_H |
|
|
|
#include "qwt_global.h" |
|
#include "qwt_text.h" |
|
#include "qwt_graphic.h" |
|
#include <qvariant.h> |
|
#include <qpixmap.h> |
|
#include <qmap.h> |
|
|
|
/*! |
|
\brief Attributes of an entry on a legend |
|
|
|
QwtLegendData is an abstract container ( like QAbstractModel ) |
|
to exchange attributes, that are only known between to |
|
the plot item and the legend. |
|
|
|
By overloading QwtPlotItem::legendData() any other set of attributes |
|
could be used, that can be handled by a modified ( or completely |
|
different ) implementation of a legend. |
|
|
|
\sa QwtLegend, QwtPlotLegendItem |
|
\note The stockchart example implements a legend as a tree |
|
with checkable items |
|
*/ |
|
class QWT_EXPORT QwtLegendData |
|
{ |
|
public: |
|
//! Mode defining how a legend entry interacts |
|
enum Mode |
|
{ |
|
//! The legend item is not interactive, like a label |
|
ReadOnly, |
|
|
|
//! The legend item is clickable, like a push button |
|
Clickable, |
|
|
|
//! The legend item is checkable, like a checkable button |
|
Checkable |
|
}; |
|
|
|
//! Identifier how to interprete a QVariant |
|
enum Role |
|
{ |
|
// The value is a Mode |
|
ModeRole, |
|
|
|
// The value is a title |
|
TitleRole, |
|
|
|
// The value is an icon |
|
IconRole, |
|
|
|
// Values < UserRole are reserved for internal use |
|
UserRole = 32 |
|
}; |
|
|
|
QwtLegendData(); |
|
~QwtLegendData(); |
|
|
|
void setValues( const QMap<int, QVariant> & ); |
|
const QMap<int, QVariant> &values() const; |
|
|
|
void setValue( int role, const QVariant & ); |
|
QVariant value( int role ) const; |
|
|
|
bool hasRole( int role ) const; |
|
bool isValid() const; |
|
|
|
QwtGraphic icon() const; |
|
QwtText title() const; |
|
Mode mode() const; |
|
|
|
private: |
|
QMap<int, QVariant> d_map; |
|
}; |
|
|
|
#endif
|
|
|