source: ntrip/trunk/BNC/qwt/qwt_plot_legenditem.h@ 9467

Last change on this file since 9467 was 9383, checked in by stoecker, 3 years ago

update to qwt verion 6.1.1 to fix build with newer Qt5

File size: 3.6 KB
RevLine 
[8127]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#ifndef QWT_PLOT_LEGEND_ITEM_H
11#define QWT_PLOT_LEGEND_ITEM_H
12
13#include "qwt_global.h"
14#include "qwt_plot_item.h"
15#include "qwt_legend_data.h"
16
17class QFont;
18
19/*!
20 \brief A class which draws a legend inside the plot canvas
21
22 QwtPlotLegendItem can be used to draw a inside the plot canvas.
23 It can be used together with a QwtLegend or instead of it
24 to have more space for the plot canvas.
25
[9383]26 In opposite to QwtLegend the legend item is not interactive.
[8127]27 To identify mouse clicks on a legend item an event filter
28 needs to be installed catching mouse events ob the plot canvas.
29 The geometries of the legend items are available using
30 legendGeometries().
[9383]31
32 The legend item is aligned to plot canvas according to
[8127]33 its alignment() flags. It might have a background for the
34 complete legend ( usually semi transparent ) or for
35 each legend item.
36
[9383]37 \note An external QwtLegend with a transparent background
38 on top the plot canvas might be another option
[8127]39 with a similar effect.
40*/
41
42class QWT_EXPORT QwtPlotLegendItem: public QwtPlotItem
43{
44public:
45 /*!
46 \brief Background mode
47
[9383]48 Depending on the mode the complete legend or each item
[8127]49 might have an background.
50
51 The default setting is LegendBackground.
52
53 \sa setBackgroundMode(), setBackgroundBrush(), drawBackground()
54 */
55 enum BackgroundMode
56 {
57 //! The legend has a background
58 LegendBackground,
59
60 //! Each item has a background
61 ItemBackground
62 };
63
64 explicit QwtPlotLegendItem();
65 virtual ~QwtPlotLegendItem();
66
67 virtual int rtti() const;
68
69 void setAlignment( Qt::Alignment );
70 Qt::Alignment alignment() const;
71
72 void setMaxColumns( uint );
73 uint maxColumns() const;
74
75 void setMargin( int );
76 int margin() const;
77
78 void setSpacing( int );
79 int spacing() const;
80
81 void setItemMargin( int );
82 int itemMargin() const;
83
84 void setItemSpacing( int );
85 int itemSpacing() const;
[9383]86
[8127]87 void setFont( const QFont& );
88 QFont font() const;
89
[9383]90 void setBorderDistance( int );
[8127]91 int borderDistance() const;
92
93 void setBorderRadius( double );
94 double borderRadius() const;
95
96 void setBorderPen( const QPen & );
97 QPen borderPen() const;
98
99 void setBackgroundBrush( const QBrush & );
100 QBrush backgroundBrush() const;
101
102 void setBackgroundMode( BackgroundMode );
103 BackgroundMode backgroundMode() const;
104
105 void setTextPen( const QPen & );
106 QPen textPen() const;
107
[9383]108 virtual void draw( QPainter *,
[8127]109 const QwtScaleMap &xMap, const QwtScaleMap &yMap,
[9383]110 const QRectF &canvasRect ) const;
[8127]111
112 void clearLegend();
113
114 virtual void updateLegend( const QwtPlotItem *,
115 const QList<QwtLegendData> & );
116
117 virtual QRect geometry( const QRectF &canvasRect ) const;
118
119 virtual QSize minimumSize( const QwtLegendData & ) const;
[9383]120 virtual int heightForWidth( const QwtLegendData &, int width ) const;
[8127]121
122 QList< const QwtPlotItem * > plotItems() const;
123 QList< QRect > legendGeometries( const QwtPlotItem * ) const;
124
125protected:
[9383]126 virtual void drawLegendData( QPainter *painter,
[8127]127 const QwtPlotItem *, const QwtLegendData &, const QRectF & ) const;
128
129 virtual void drawBackground( QPainter *, const QRectF &rect ) const;
130
131private:
132 class PrivateData;
133 PrivateData *d_data;
134};
135
136#endif
Note: See TracBrowser for help on using the repository browser.