Solved it....
Solved it....
Really...? I thought this forum only existed to solve my problems...
--------------------------------------------------------Zoomer.h
#ifndef ZOOMER_H
#define ZOOMER_H
#include <qwt_plot_zoomer.h>
class Zoomer: public QwtPlotZoomer{
public:
enum zoomMode{In, Out};
Zoomer(int xAxis, int yAxis, QwtPlotCanvas *canvas);
bool zoomModeEnabled( Zoomer::zoomMode mode ) const;
void enableZoomMode( Zoomer::zoomMode mode, bool enabled );
private:
bool zoomIn_;
bool zoomOut_;
};
#endif
-----------------------------------------------Zoomer.cpp
#include "Zoomer.h"
Zoomer::Zoomer(int xAxis, int yAxis, QwtPlotCanvas *canvas) : QwtPlotZoomer(xAxis, yAxis, canvas){
setSelectionFlags(QwtPicker:ragSelection | QwtPicker::CornerToCorner);
setTrackerMode(QwtPicker::AlwaysOff);
setRubberBand(QwtPicker::NoRubberBand);
// RightButton: zoom out by 1
// Ctrl+RightButton: zoom out to full size
//setMousePattern(QwtEventPattern::MouseSelect2,Qt:: RightButton, Qt::ControlModifier);
//setMousePattern(QwtEventPattern::MouseSelect3,Qt:: RightButton);
//setMousePattern(QwtEventPattern::MouseSelect2,Qt:: NoButton, Qt::ControlModifier);
//setMousePattern(QwtEventPattern::MouseSelect3,Qt:: NoButton);
setMousePattern(QwtEventPattern::MouseSelect1,Qt:: NoButton);
setMousePattern(QwtEventPattern::MouseSelect2,Qt:: NoButton);
setMousePattern(QwtEventPattern::MouseSelect3,Qt:: NoButton);
setMousePattern(QwtEventPattern::MouseSelect4,Qt:: NoButton);
setMousePattern(QwtEventPattern::MouseSelect5,Qt:: NoButton);
setMousePattern(QwtEventPattern::MouseSelect6,Qt:: NoButton);
zoomIn_ = false;
zoomOut_ = false;
}
void Zoomer::enableZoomMode( Zoomer::zoomMode mode, bool enabled ){
if( mode==Zoomer::In ){
zoomIn_ = enabled;
zoomOut_ = false;
setMousePattern(QwtEventPattern::MouseSelect3,Qt:: NoButton);
if( enabled ){
setMousePattern(QwtEventPattern::MouseSelect1,Qt:: LeftButton);
}else{
setMousePattern(QwtEventPattern::MouseSelect1,Qt:: NoButton);
}
}
if( mode==Zoomer::Out ){
zoomIn_ = false;
setMousePattern(QwtEventPattern::MouseSelect1,Qt:: NoButton);
zoomOut_ = enabled;
if( enabled ){
setMousePattern(QwtEventPattern::MouseSelect3,Qt:: LeftButton);
}else{
setMousePattern(QwtEventPattern::MouseSelect3,Qt:: NoButton);
}
}
}
bool Zoomer::zoomModeEnabled( Zoomer::zoomMode mode ) const{
if( mode==Zoomer::In ){
return zoomIn_;
}else{
return zoomOut_;
}
}
corrado1972 (23rd March 2011)
Please, don't argue. This code snippets help me a lot.
Hi ivareske,
Can you help me in below regards,
How did you add button to toggle QwtPlotZoomer on legend ?
Please reply, I'm stuck in this
Thanks
Bookmarks