Add files from zip
This commit is contained in:
82
examples/refreshtest/MainWindow.cpp
Normal file
82
examples/refreshtest/MainWindow.cpp
Normal file
@@ -0,0 +1,82 @@
|
||||
/*****************************************************************************
|
||||
* Qwt Examples - Copyright (C) 2002 Uwe Rathmann
|
||||
* This file may be used under the terms of the 3-clause BSD License
|
||||
*****************************************************************************/
|
||||
|
||||
#include "MainWindow.h"
|
||||
#include "Plot.h"
|
||||
#include "Panel.h"
|
||||
|
||||
#include <QStatusBar>
|
||||
#include <QLabel>
|
||||
#include <QLayout>
|
||||
#include <QEvent>
|
||||
#include <QElapsedTimer>
|
||||
|
||||
MainWindow::MainWindow( QWidget* parent )
|
||||
: QMainWindow( parent )
|
||||
{
|
||||
Panel* panel = new Panel();
|
||||
m_plot = new Plot();
|
||||
|
||||
QWidget* w = new QWidget( this );
|
||||
|
||||
QHBoxLayout* hLayout = new QHBoxLayout( w );
|
||||
hLayout->addWidget( panel );
|
||||
hLayout->addWidget( m_plot, 10 );
|
||||
|
||||
setCentralWidget( w );
|
||||
|
||||
m_frameCount = new QLabel( this );
|
||||
statusBar()->addWidget( m_frameCount, 10 );
|
||||
|
||||
applySettings( panel->settings() );
|
||||
|
||||
connect( panel, SIGNAL(settingsChanged(const Settings&)),
|
||||
this, SLOT(applySettings(const Settings&)) );
|
||||
}
|
||||
|
||||
bool MainWindow::eventFilter( QObject* object, QEvent* event )
|
||||
{
|
||||
if ( object == m_plot->canvas() && event->type() == QEvent::Paint )
|
||||
{
|
||||
static int counter;
|
||||
static QElapsedTimer timeStamp;
|
||||
|
||||
if ( !timeStamp.isValid() )
|
||||
{
|
||||
timeStamp.start();
|
||||
counter = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
counter++;
|
||||
|
||||
const double elapsed = timeStamp.elapsed() / 1000.0;
|
||||
if ( elapsed >= 1 )
|
||||
{
|
||||
QString fps;
|
||||
fps.setNum( qRound( counter / elapsed ) );
|
||||
fps += " Fps";
|
||||
|
||||
m_frameCount->setText( fps );
|
||||
|
||||
counter = 0;
|
||||
timeStamp.start();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return QMainWindow::eventFilter( object, event );
|
||||
}
|
||||
|
||||
void MainWindow::applySettings( const Settings& settings )
|
||||
{
|
||||
m_plot->setSettings( settings );
|
||||
|
||||
// the canvas might have been recreated
|
||||
m_plot->canvas()->removeEventFilter( this );
|
||||
m_plot->canvas()->installEventFilter( this );
|
||||
}
|
||||
|
||||
#include "moc_MainWindow.cpp"
|
||||
Reference in New Issue
Block a user