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:
00053 enum LegendItemMode
00054 {
00055 ReadOnlyItem,
00056 ClickableItem,
00057 CheckableItem
00058 };
00059
00060 explicit QwtLegend( QWidget *parent = NULL );
00061 virtual ~QwtLegend();
00062
00063 void setItemMode( LegendItemMode );
00064 LegendItemMode itemMode() const;
00065
00066 QWidget *contentsWidget();
00067 const QWidget *contentsWidget() const;
00068
00069 void insert( const QwtLegendItemManager *, QWidget * );
00070 void remove( const QwtLegendItemManager * );
00071
00072 QWidget *find( const QwtLegendItemManager * ) const;
00073 QwtLegendItemManager *find( const QWidget * ) const;
00074
00075 virtual QList<QWidget *> legendItems() const;
00076
00077 void clear();
00078
00079 bool isEmpty() const;
00080 uint itemCount() const;
00081
00082 virtual bool eventFilter( QObject *, QEvent * );
00083
00084 virtual QSize sizeHint() const;
00085 virtual int heightForWidth( int w ) const;
00086
00087 QScrollBar *horizontalScrollBar() const;
00088 QScrollBar *verticalScrollBar() const;
00089
00090 protected:
00091 virtual void resizeEvent( QResizeEvent * );
00092 virtual void layoutContents();
00093
00094 private:
00095 class PrivateData;
00096 PrivateData *d_data;
00097 };
00098
00099 #endif