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 // vim: expandtab
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

Generated on Mon Feb 26 21:22:37 2007 for Qwt User's Guide by  doxygen 1.4.6