Qwt User's Guide
svn
|
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