00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #ifndef QWT_LEGEND_H
00013 #define QWT_LEGEND_H
00014
00015 #include <qframe.h>
00016 #include "qwt_global.h"
00017 #if QT_VERSION < 0x040000
00018 #include <qvaluelist.h>
00019 #else
00020 #include <qlist.h>
00021 #endif
00022
00023 class QScrollBar;
00024 class QwtPlotItem;
00025
00036 class QWT_EXPORT QwtLegend : public QFrame
00037 {
00038 Q_OBJECT
00039
00040 public:
00062 enum LegendDisplayPolicy
00063 {
00064 NoIdentifier = 0,
00065 FixedIdentifier = 1,
00066 AutoIdentifier = 2
00067 };
00068
00070 enum LegendItemMode
00071 {
00072 ReadOnlyItem,
00073 ClickableItem,
00074 CheckableItem
00075 };
00076
00077 explicit QwtLegend(QWidget *parent = NULL);
00078 virtual ~QwtLegend();
00079
00080 void setDisplayPolicy(LegendDisplayPolicy policy, int mode);
00081 LegendDisplayPolicy displayPolicy() const;
00082
00083 void setItemMode(LegendItemMode);
00084 LegendItemMode itemMode() const;
00085
00086 int identifierMode() const;
00087
00088 QWidget *contentsWidget();
00089 const QWidget *contentsWidget() const;
00090
00091 void insert(const QwtPlotItem *, QWidget *);
00092 void remove(const QwtPlotItem *);
00093
00094 QWidget *find(const QwtPlotItem *) const;
00095 QwtPlotItem *find(const QWidget *) const;
00096
00097 #if QT_VERSION < 0x040000
00098 virtual QValueList<QWidget *> legendItems() const;
00099 #else
00100 virtual QList<QWidget *> legendItems() const;
00101 #endif
00102
00103 void clear();
00104
00105 bool isEmpty() const;
00106 uint itemCount() const;
00107
00108 virtual bool eventFilter(QObject *, QEvent *);
00109
00110 virtual QSize sizeHint() const;
00111 virtual int heightForWidth(int w) const;
00112
00113 QScrollBar *horizontalScrollBar() const;
00114 QScrollBar *verticalScrollBar() const;
00115
00116 protected:
00117 virtual void resizeEvent(QResizeEvent *);
00118 virtual void layoutContents();
00119
00120 private:
00121 class PrivateData;
00122 PrivateData *d_data;
00123 };
00124
00125 #endif // QWT_LEGEND_H