Qwt User's Guide  6.2.0
qwt_arrow_button.h
1 /******************************************************************************
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 "qwt_global.h"
14 #include <qpushbutton.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 QWT_OVERRIDE;
33  virtual QSize minimumSizeHint() const QWT_OVERRIDE;
34 
35  protected:
36  virtual void paintEvent( QPaintEvent*) QWT_OVERRIDE;
37  virtual void keyPressEvent( QKeyEvent* ) QWT_OVERRIDE;
38 
39  virtual void drawButtonLabel( QPainter* );
40  virtual void drawArrow( QPainter*,
41  const QRect&, Qt::ArrowType ) const;
42  virtual QRect labelRect() const;
43  virtual QSize arrowSize( Qt::ArrowType,
44  const QSize& boundingSize ) const;
45 
46  private:
47  class PrivateData;
48  PrivateData* m_data;
49 };
50 
51 #endif
Arrow Button.