~ubuntu-branches/ubuntu/oneiric/qwt/oneiric-proposed

« back to all changes in this revision

Viewing changes to qwt-5.1.2/src/qwt_legend_item.h

  • Committer: Bazaar Package Importer
  • Author(s): Fathi Boudra
  • Date: 2009-04-12 23:25:58 UTC
  • mfrom: (1.1.4 upstream) (2.1.2 squeeze)
  • Revision ID: james.westby@ubuntu.com-20090412232558-3bl06x785yr8xm8u
Tags: 5.1.2-1
* New upstream release.
* Bump compat/debhelper to 7.
* Bump Standards-Version to 3.8.1. No changes needed.
* Invert Maintainers and Uploaders field.
* Fix lintian warnings:
  - dh_clean _k deprecated.
  - missing dependency on libc.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
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
 
 
20
class QPainter;
 
21
class QPen;
 
22
class 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
*/
 
35
class QWT_EXPORT QwtLegendItem: public QwtTextLabel
 
36
{
 
37
    Q_OBJECT
 
38
public:
 
39
    
 
40
    /*!
 
41
       \brief Identifier mode
 
42
 
 
43
       Default is ShowLine | ShowText
 
44
       \sa QwtLegendItem::identifierMode, QwtLegendItem::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 setIdentfierWidth(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
 
 
87
public slots:
 
88
    void setChecked(bool on);
 
89
 
 
90
signals:
 
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
 
 
103
protected:
 
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
 
 
115
private:
 
116
    void init(const QwtText &);
 
117
 
 
118
    class PrivateData;
 
119
    PrivateData *d_data;
 
120
};
 
121
 
 
122
#endif // QWT_LEGEND_ITEM_H