qt_demoe/third/3rd_qwt/qwt_abstract_legend.h

72 lines
2.0 KiB
C
Raw Normal View History

2019-11-07 02:55:57 +00:00
/* -*- 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_ABSTRACT_LEGEND_H
#define QWT_ABSTRACT_LEGEND_H
#include "qwt_global.h"
#include "qwt_legend_data.h"
#include <qframe.h>
#include <qlist.h>
class QVariant;
/*!
\brief Abstract base class for legend widgets
Legends, that need to be under control of the QwtPlot layout system
2021-10-08 02:51:37 +00:00
need to be derived from QwtAbstractLegend.
2019-11-07 02:55:57 +00:00
\note Other type of legends can be implemented by connecting to
the QwtPlot::legendDataChanged() signal. But as these legends
are unknown to the plot layout system the layout code
( on screen and for QwtPlotRenderer ) need to be organized
in application code.
\sa QwtLegend
*/
class QWT_EXPORT QwtAbstractLegend : public QFrame
{
Q_OBJECT
public:
explicit QwtAbstractLegend( QWidget *parent = NULL );
virtual ~QwtAbstractLegend();
/*!
Render the legend into a given rectangle.
\param painter Painter
\param rect Bounding rectangle
2021-10-08 02:51:37 +00:00
\param fillBackground When true, fill rect with the widget background
2019-11-07 02:55:57 +00:00
\sa renderLegend() is used by QwtPlotRenderer
*/
2021-10-08 02:51:37 +00:00
virtual void renderLegend( QPainter *painter,
2019-11-07 02:55:57 +00:00
const QRectF &rect, bool fillBackground ) const = 0;
//! \return True, when no plot item is inserted
virtual bool isEmpty() const = 0;
virtual int scrollExtent( Qt::Orientation ) const;
public Q_SLOTS:
/*!
\brief Update the entries for a plot item
\param itemInfo Info about an item
\param data List of legend entry attributes for the item
*/
2021-10-08 02:51:37 +00:00
virtual void updateLegend( const QVariant &itemInfo,
2019-11-07 02:55:57 +00:00
const QList<QwtLegendData> &data ) = 0;
};
2021-10-08 02:51:37 +00:00
#endif