Qwt User's Guide 5.2.3

- Main Page
- Related Pages
- Classes

qwt_arrow_button.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 #ifndef QWT_ARROW_BUTTON_H
11 #define QWT_ARROW_BUTTON_H
12
13 #include <qpushbutton.h>
14 #include "qwt_global.h"
15
23 class QWT_EXPORT QwtArrowButton : public QPushButton
24 {
25 public:
26 explicit QwtArrowButton (int num, Qt::ArrowType, QWidget *parent = NULL);
27 virtual ~QwtArrowButton();
28
29 Qt::ArrowType arrowType() const;
30 int num() const;
31
32 virtual QSize sizeHint() const;
33 virtual QSize minimumSizeHint() const;
34
35 protected:
36 #if QT_VERSION >= 0x040000
37 virtual void paintEvent(QPaintEvent *event);
38 #endif
39
40 virtual void drawButtonLabel(QPainter *p);
41 virtual void drawArrow(QPainter *,
42 const QRect &, Qt::ArrowType) const;
43 virtual QRect labelRect() const;
44 virtual QSize arrowSize(Qt::ArrowType,
45 const QSize &boundingSize) const;
46
47 virtual void keyPressEvent(QKeyEvent *);
48
49 private:
50 class PrivateData;
51 PrivateData *d_data;
52 };
53
54 #endif