123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- /* -*- 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
|