source: pacpusframework/branches/2.0-beta1/include/extlib/qwt-5.2.1/qwt_legend_item.h@ 89

Last change on this file since 89 was 89, checked in by morasjul, 11 years ago

PACPUS 2.0 Beta deployed in new branch

Major changes:
-Add communication interface between components
-Add examples for communications interface (TestComponents)
-Move to Qt5 support

  • Property svn:executable set to *
File size: 3.0 KB
Line 
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_ITEM_H
13#define QWT_LEGEND_ITEM_H
14
15#include "qwt_global.h"
16#include "qwt_legend.h"
17#include "qwt_text.h"
18#include "qwt_text_label.h"
19
20class QPainter;
21class QPen;
22class QwtSymbol;
23
24/*!
25 \brief A legend label
26
27 QwtLegendItem represents a curve on a legend.
28 It displays an curve identifier with an explaining text.
29 The identifier might be a combination of curve symbol and line.
30 In readonly mode it behaves like a label, otherwise like
31 an unstylish push button.
32
33 \sa QwtLegend, QwtPlotCurve
34*/
35class QWT_EXPORT QwtLegendItem: public QwtTextLabel
36{
37 Q_OBJECT
38public:
39
40 /*!
41 \brief Identifier mode
42
43 Default is ShowLine | ShowText
44 \sa identifierMode(), setIdentifierMode()
45 */
46
47 enum IdentifierMode
48 {
49 NoIdentifier = 0,
50 ShowLine = 1,
51 ShowSymbol = 2,
52 ShowText = 4
53 };
54
55 explicit QwtLegendItem(QWidget *parent = 0);
56 explicit QwtLegendItem(const QwtSymbol &, const QPen &,
57 const QwtText &, QWidget *parent = 0);
58 virtual ~QwtLegendItem();
59
60 virtual void setText(const QwtText &);
61
62 void setItemMode(QwtLegend::LegendItemMode);
63 QwtLegend::LegendItemMode itemMode() const;
64
65 void setIdentifierMode(int);
66 int identifierMode() const;
67
68 void setIdentifierWidth(int width);
69 int identifierWidth() const;
70
71 void setSpacing(int spacing);
72 int spacing() const;
73
74 void setSymbol(const QwtSymbol &);
75 const QwtSymbol& symbol() const;
76
77 void setCurvePen(const QPen &);
78 const QPen& curvePen() const;
79
80 virtual void drawIdentifier(QPainter *, const QRect &) const;
81 virtual void drawItem(QPainter *p, const QRect &) const;
82
83 virtual QSize sizeHint() const;
84
85 bool isChecked() const;
86
87public slots:
88 void setChecked(bool on);
89
90signals:
91 //! Signal, when the legend item has been clicked
92 void clicked();
93
94 //! Signal, when the legend item has been pressed
95 void pressed();
96
97 //! Signal, when the legend item has been relased
98 void released();
99
100 //! Signal, when the legend item has been toggled
101 void checked(bool);
102
103protected:
104 void setDown(bool);
105 bool isDown() const;
106
107 virtual void paintEvent(QPaintEvent *);
108 virtual void mousePressEvent(QMouseEvent *);
109 virtual void mouseReleaseEvent(QMouseEvent *);
110 virtual void keyPressEvent(QKeyEvent *);
111 virtual void keyReleaseEvent(QKeyEvent *);
112
113 virtual void drawText(QPainter *, const QRect &);
114
115private:
116 void init(const QwtText &);
117
118 class PrivateData;
119 PrivateData *d_data;
120};
121
122#endif // QWT_LEGEND_ITEM_H
Note: See TracBrowser for help on using the repository browser.