00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #ifndef QWT_LEGEND_H
00011 #define QWT_LEGEND_H
00012
00013 #include "qwt_global.h"
00014 #include <qframe.h>
00015 #include <qlist.h>
00016
00017 class QScrollBar;
00018 class QwtLegendItemManager;
00019
00030 class QWT_EXPORT QwtLegend : public QFrame
00031 {
00032 Q_OBJECT
00033
00034 public:
00045 enum LegendItemMode
00046 {
00048 ReadOnlyItem,
00049
00051 ClickableItem,
00052
00054 CheckableItem
00055 };
00056
00057 explicit QwtLegend( QWidget *parent = NULL );
00058 virtual ~QwtLegend();
00059
00060 void setItemMode( LegendItemMode );
00061 LegendItemMode itemMode() const;
00062
00063 QWidget *contentsWidget();
00064 const QWidget *contentsWidget() const;
00065
00066 void insert( const QwtLegendItemManager *, QWidget * );
00067 void remove( const QwtLegendItemManager * );
00068
00069 QWidget *find( const QwtLegendItemManager * ) const;
00070 QwtLegendItemManager *find( const QWidget * ) const;
00071
00072 virtual QList<QWidget *> legendItems() const;
00073
00074 void clear();
00075
00076 bool isEmpty() const;
00077 uint itemCount() const;
00078
00079 virtual bool eventFilter( QObject *, QEvent * );
00080
00081 virtual QSize sizeHint() const;
00082 virtual int heightForWidth( int w ) const;
00083
00084 QScrollBar *horizontalScrollBar() const;
00085 QScrollBar *verticalScrollBar() const;
00086
00087 protected:
00088 virtual void layoutContents();
00089
00090 private:
00091 class PrivateData;
00092 PrivateData *d_data;
00093 };
00094
00095 #endif