Qwt User's Guide svn
qwt_panner.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_PANNER_H
00011 #define QWT_PANNER_H 1
00012 
00013 #include "qwt_global.h"
00014 #include <qwidget.h>
00015 #include <qpixmap.h>
00016 
00017 class QCursor;
00018 
00035 class QWT_EXPORT QwtPanner: public QWidget
00036 {
00037     Q_OBJECT
00038 
00039 public:
00040     QwtPanner( QWidget* parent );
00041     virtual ~QwtPanner();
00042 
00043     void setEnabled( bool );
00044     bool isEnabled() const;
00045 
00046     void setMouseButton( int button, int buttonState = Qt::NoButton );
00047     void getMouseButton( int &button, int &buttonState ) const;
00048     void setAbortKey( int key, int state = Qt::NoButton );
00049     void getAbortKey( int &key, int &state ) const;
00050 
00051     void setCursor( const QCursor & );
00052     const QCursor cursor() const;
00053 
00054     void setOrientations( Qt::Orientations );
00055     Qt::Orientations orientations() const;
00056 
00057     bool isOrientationEnabled( Qt::Orientation ) const;
00058 
00059     virtual bool eventFilter( QObject *, QEvent * );
00060 
00061 Q_SIGNALS:
00068     void panned( int dx, int dy );
00069 
00077     void moved( int dx, int dy );
00078 
00079 protected:
00080     virtual void widgetMousePressEvent( QMouseEvent * );
00081     virtual void widgetMouseReleaseEvent( QMouseEvent * );
00082     virtual void widgetMouseMoveEvent( QMouseEvent * );
00083     virtual void widgetKeyPressEvent( QKeyEvent * );
00084     virtual void widgetKeyReleaseEvent( QKeyEvent * );
00085 
00086     virtual void paintEvent( QPaintEvent * );
00087 
00088     virtual QBitmap contentsMask() const;
00089     virtual QPixmap grab() const;
00090 
00091 private:
00092 #ifndef QT_NO_CURSOR
00093     void showCursor( bool );
00094 #endif
00095 
00096     class PrivateData;
00097     PrivateData *d_data;
00098 };
00099 
00100 #endif
qmi style