1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
|
//-----------------------------------------------------------------
// A demo program showing how to use event filtering
//-----------------------------------------------------------------
#include <qapplication.h>
#include <qmainwindow.h>
#include <qwhatsthis.h>
#include <qtoolbar.h>
#include <qtoolbutton.h>
#include "plot.h"
#include "canvaspicker.h"
#include "scalepicker.h"
int main (int argc, char **argv)
{
QApplication a(argc, argv);
QMainWindow mainWindow;
QToolBar *toolBar = new QToolBar(&mainWindow);
#if QT_VERSION >= 0x040000
QAction *action = QWhatsThis::createAction(toolBar);
toolBar->addAction(action);
mainWindow.addToolBar(toolBar);
#else
(void)QWhatsThis::whatsThisButton(toolBar);
#endif
Plot *plot = new Plot(&mainWindow);
// The canvas picker handles all mouse and key
// events on the plot canvas
(void) new CanvasPicker(plot);
// The scale picker translates mouse clicks
// int o clicked() signals
ScalePicker *scalePicker = new ScalePicker(plot);
a.connect(scalePicker, SIGNAL(clicked(int, double)),
plot, SLOT(insertCurve(int, double)));
mainWindow.setCentralWidget(plot);
#if QT_VERSION < 0x040000
a.setMainWidget(&mainWindow);
#endif
mainWindow.resize(540, 400);
mainWindow.show();
const char *text =
"An useless plot to demonstrate how to use event filtering.\n\n"
"You can click on the color bar, the scales or move the wheel.\n"
"All points can be moved using the mouse or the keyboard.";
#if QT_VERSION < 0x040000
QWhatsThis::add(plot, text);
#else
plot->setWhatsThis(text);
#endif
int rv = a.exec();
return rv;
}
|