Qwt User's Guide svn
qwt_arrow_button.h
00001 /* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
00002  * Qwt Widget Library
00003  * Copyright (C) 1997   Josef Wilgen
00004  * Copyright (C) 2002   Uwe Rathmann
00005  *
00006  * This library is free software; you can redistribute it and/or
00007  * modify it under the terms of the Qwt License, Version 1.0
00008  *****************************************************************************/
00009 
00010 #ifndef QWT_ARROW_BUTTON_H
00011 #define QWT_ARROW_BUTTON_H
00012 
00013 #include "qwt_global.h"
00014 #include <qpushbutton.h>
00015 
00023 class QWT_EXPORT QwtArrowButton : public QPushButton
00024 {
00025 public:
00026     explicit QwtArrowButton ( int num, Qt::ArrowType, QWidget *parent = NULL );
00027     virtual ~QwtArrowButton();
00028 
00029     Qt::ArrowType arrowType() const;
00030     int num() const;
00031 
00032     virtual QSize sizeHint() const;
00033     virtual QSize minimumSizeHint() const;
00034 
00035 protected:
00036     virtual void paintEvent( QPaintEvent *event );
00037 
00038     virtual void drawButtonLabel( QPainter *p );
00039     virtual void drawArrow( QPainter *,
00040         const QRect &, Qt::ArrowType ) const;
00041     virtual QRect labelRect() const;
00042     virtual QSize arrowSize( Qt::ArrowType,
00043         const QSize &boundingSize ) const;
00044 
00045     virtual void keyPressEvent( QKeyEvent * );
00046 
00047 private:
00048     class PrivateData;
00049     PrivateData *d_data;
00050 };
00051 
00052 #endif
qmi style