qwt_legend.h
2.32 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
* Qwt Widget Library
* Copyright (C) 1997 Josef Wilgen
* Copyright (C) 2002 Uwe Rathmann
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the Qwt License, Version 1.0
*****************************************************************************/
#ifndef QWT_LEGEND_H
#define QWT_LEGEND_H
#include "qwt_global.h"
#include <qframe.h>
#include <qlist.h>
class QScrollBar;
class QwtLegendItemManager;
/*!
\brief The legend widget
The QwtLegend widget is a tabular arrangement of legend items. Legend
items might be any type of widget, but in general they will be
a QwtLegendItem.
\sa QwtLegendItem, QwtLegendItemManager QwtPlot
*/
class QWT_EXPORT QwtLegend : public QFrame
{
Q_OBJECT
public:
/*!
\brief Interaction mode for the legend items
The default is QwtLegend::ReadOnlyItem.
\sa setItemMode(), itemMode(), QwtLegendItem::IdentifierMode
QwtLegendItem::clicked(), QwtLegendItem::checked(),
QwtPlot::legendClicked(), QwtPlot::legendChecked()
*/
enum LegendItemMode
{
//! The legend item is not interactive, like a label
ReadOnlyItem,
//! The legend item is clickable, like a push button
ClickableItem,
//! The legend item is checkable, like a checkable button
CheckableItem
};
explicit QwtLegend( QWidget *parent = NULL );
virtual ~QwtLegend();
void setItemMode( LegendItemMode );
LegendItemMode itemMode() const;
QWidget *contentsWidget();
const QWidget *contentsWidget() const;
void insert( const QwtLegendItemManager *, QWidget * );
void remove( const QwtLegendItemManager * );
QWidget *find( const QwtLegendItemManager * ) const;
QwtLegendItemManager *find( const QWidget * ) const;
virtual QList<QWidget *> legendItems() const;
void clear();
bool isEmpty() const;
uint itemCount() const;
virtual bool eventFilter( QObject *, QEvent * );
virtual QSize sizeHint() const;
virtual int heightForWidth( int w ) const;
QScrollBar *horizontalScrollBar() const;
QScrollBar *verticalScrollBar() const;
protected:
virtual void layoutContents();
private:
class PrivateData;
PrivateData *d_data;
};
#endif