Eneboo - Documentación para desarrolladores
|
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_MAGNIFIER_H 00011 #define QWT_MAGNIFIER_H 1 00012 00013 #include "qwt_global.h" 00014 #include <qobject.h> 00015 00016 class QWidget; 00017 class QMouseEvent; 00018 class QWheelEvent; 00019 class QKeyEvent; 00020 00027 class QWT_EXPORT QwtMagnifier: public QObject 00028 { 00029 Q_OBJECT 00030 00031 public: 00032 explicit QwtMagnifier(QWidget *); 00033 virtual ~QwtMagnifier(); 00034 00035 QWidget *parentWidget(); 00036 const QWidget *parentWidget() const; 00037 00038 void setEnabled(bool); 00039 bool isEnabled() const; 00040 00041 // mouse 00042 void setMouseFactor(double); 00043 double mouseFactor() const; 00044 00045 void setMouseButton(int button, int buttonState = Qt::NoButton); 00046 void getMouseButton(int &button, int &buttonState) const; 00047 00048 // mouse wheel 00049 void setWheelFactor(double); 00050 double wheelFactor() const; 00051 00052 void setWheelButtonState(int buttonState); 00053 int wheelButtonState() const; 00054 00055 // keyboard 00056 void setKeyFactor(double); 00057 double keyFactor() const; 00058 00059 void setZoomInKey(int key, int modifiers); 00060 void getZoomInKey(int &key, int &modifiers) const; 00061 00062 void setZoomOutKey(int key, int modifiers); 00063 void getZoomOutKey(int &key, int &modifiers) const; 00064 00065 virtual bool eventFilter(QObject *, QEvent *); 00066 00067 protected: 00068 virtual void rescale(double factor) = 0; 00069 00070 virtual void widgetMousePressEvent(QMouseEvent *); 00071 virtual void widgetMouseReleaseEvent(QMouseEvent *); 00072 virtual void widgetMouseMoveEvent(QMouseEvent *); 00073 virtual void widgetWheelEvent(QWheelEvent *); 00074 virtual void widgetKeyPressEvent(QKeyEvent *); 00075 virtual void widgetKeyReleaseEvent(QKeyEvent *); 00076 00077 private: 00078 class PrivateData; 00079 PrivateData *d_data; 00080 }; 00081 00082 #endif