Qwt User's Guide  5.2.3
qwt_legend.h
1 /* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
2  * Qwt Widget Library
3  * Copyright (C) 1997 Josef Wilgen
4  * Copyright (C) 2002 Uwe Rathmann
5  *
6  * This library is free software; you can redistribute it and/or
7  * modify it under the terms of the Qwt License, Version 1.0
8  *****************************************************************************/
9 
10 // vim: expandtab
11 
12 #ifndef QWT_LEGEND_H
13 #define QWT_LEGEND_H
14 
15 #include <qframe.h>
16 #include "qwt_global.h"
17 #if QT_VERSION < 0x040000
18 #include <qvaluelist.h>
19 #else
20 #include <qlist.h>
21 #endif
22 
23 class QScrollBar;
25 
36 class QWT_EXPORT QwtLegend : public QFrame
37 {
38  Q_OBJECT
39 
40 public:
63  {
64  NoIdentifier = 0,
65  FixedIdentifier = 1,
66  AutoIdentifier = 2
67  };
68 
88  {
89  ReadOnlyItem,
90  ClickableItem,
91  CheckableItem
92  };
93 
94  explicit QwtLegend(QWidget *parent = NULL);
95  virtual ~QwtLegend();
96 
97  void setDisplayPolicy(LegendDisplayPolicy policy, int mode);
98  LegendDisplayPolicy displayPolicy() const;
99 
100  void setItemMode(LegendItemMode);
101  LegendItemMode itemMode() const;
102 
103  int identifierMode() const;
104 
105  QWidget *contentsWidget();
106  const QWidget *contentsWidget() const;
107 
108  void insert(const QwtLegendItemManager *, QWidget *);
109  void remove(const QwtLegendItemManager *);
110 
111  QWidget *find(const QwtLegendItemManager *) const;
112  QwtLegendItemManager *find(const QWidget *) const;
113 
114 #if QT_VERSION < 0x040000
115  virtual QValueList<QWidget *> legendItems() const;
116 #else
117  virtual QList<QWidget *> legendItems() const;
118 #endif
119 
120  void clear();
121 
122  bool isEmpty() const;
123  uint itemCount() const;
124 
125  virtual bool eventFilter(QObject *, QEvent *);
126 
127  virtual QSize sizeHint() const;
128  virtual int heightForWidth(int w) const;
129 
130  QScrollBar *horizontalScrollBar() const;
131  QScrollBar *verticalScrollBar() const;
132 
133 protected:
134  virtual void resizeEvent(QResizeEvent *);
135  virtual void layoutContents();
136 
137 private:
138  class PrivateData;
139  PrivateData *d_data;
140 };
141 
142 #endif // QWT_LEGEND_H