# qwt_legend.h

    00001 /* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
    00002  * Qwt Widget Library
    00003  * Copyright (C) 1997   Josef Wilgen
    00004  * Copyright (C) 2002   Uwe Rathmann
    00005  *
    00006  * This library is free software; you can redistribute it and/or
    00007  * modify it under the terms of the Qwt License, Version 1.0
    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