diff options
Diffstat (limited to 'src/libpcp_qwt/src/qwt_legend.h')
-rw-r--r-- | src/libpcp_qwt/src/qwt_legend.h | 95 |
1 files changed, 95 insertions, 0 deletions
diff --git a/src/libpcp_qwt/src/qwt_legend.h b/src/libpcp_qwt/src/qwt_legend.h new file mode 100644 index 0000000..e241783 --- /dev/null +++ b/src/libpcp_qwt/src/qwt_legend.h @@ -0,0 +1,95 @@ +/* -*- 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_H +#define QWT_LEGEND_H + +#include "qwt_global.h" +#include <qframe.h> +#include <qlist.h> + +class QScrollBar; +class QwtLegendItemManager; + +/*! + \brief The legend widget + + The QwtLegend widget is a tabular arrangement of legend items. Legend + items might be any type of widget, but in general they will be + a QwtLegendItem. + + \sa QwtLegendItem, QwtLegendItemManager QwtPlot +*/ + +class QWT_EXPORT QwtLegend : public QFrame +{ + Q_OBJECT + +public: + /*! + \brief Interaction mode for the legend items + + The default is QwtLegend::ReadOnlyItem. + + \sa setItemMode(), itemMode(), QwtLegendItem::IdentifierMode + QwtLegendItem::clicked(), QwtLegendItem::checked(), + QwtPlot::legendClicked(), QwtPlot::legendChecked() + */ + + enum LegendItemMode + { + //! The legend item is not interactive, like a label + ReadOnlyItem, + + //! The legend item is clickable, like a push button + ClickableItem, + + //! The legend item is checkable, like a checkable button + CheckableItem + }; + + explicit QwtLegend( QWidget *parent = NULL ); + virtual ~QwtLegend(); + + void setItemMode( LegendItemMode ); + LegendItemMode itemMode() const; + + QWidget *contentsWidget(); + const QWidget *contentsWidget() const; + + void insert( const QwtLegendItemManager *, QWidget * ); + void remove( const QwtLegendItemManager * ); + + QWidget *find( const QwtLegendItemManager * ) const; + QwtLegendItemManager *find( const QWidget * ) const; + + virtual QList<QWidget *> legendItems() const; + + void clear(); + + bool isEmpty() const; + uint itemCount() const; + + virtual bool eventFilter( QObject *, QEvent * ); + + virtual QSize sizeHint() const; + virtual int heightForWidth( int w ) const; + + QScrollBar *horizontalScrollBar() const; + QScrollBar *verticalScrollBar() const; + +protected: + virtual void layoutContents(); + +private: + class PrivateData; + PrivateData *d_data; +}; + +#endif |