#include "gSplitter.h" #include "graphwindow.h" #include gSplitter::gSplitter(QWidget *parent) : QSplitter(parent) { z_timer=new QTimer(this); //timer=NULL; // icnt=0; } gSplitter::gSplitter(Qt::Orientation orientation, QWidget *parent) : QSplitter(orientation,parent) { // icnt=0; this->connect(this,SIGNAL(splitterMoved(int,int)),SLOT(mySplitterMoved(int,int))); z_timer=new QTimer(this); } gSplitter::~gSplitter() { delete z_timer; this->disconnect(SLOT(mySplitterMoved(int,int))); // timer->stop(); } void gSplitter::mySplitterMoved (int pos, int index) { if (z_timer->isActive()) z_timer->stop(); z_pos=pos; z_index=index; //this->setUpdatesEnabled(true); if (gGraphWindow *w=qobject_cast(widget(index-1))) { int s=sizes().at(index-1); //w->resizeGL(w->width(),pos); //w->updateGL(); //w->updateGL(); //w->paintGL(); } if (gGraphWindow *w=qobject_cast(widget(index))) { int s=sizes().at(index); //w->resizeGL(w->width(),s); //w->updateGL(); //w->paintGL(); } qDebug() << ++icnt; z_timer->singleShot(50,this,SLOT(doUpdateGraph())); tm.start(); } void gSplitter::doUpdateGraph() { if (tm.elapsed()<50) return; //this->setUpdatesEnabled(true); if (gGraphWindow *w=qobject_cast(widget(z_index-1))) { //qDebug() << icnt << "Height" << w->height() << z_index << z_pos << w->Title(); int s=sizes().at(z_index-1); QSize n(w->width(),s); QSize o(w->width(),s); //QResizeEvent e(n,o); //w->resizeEvent(&e); //w->resizeGL(w->width(),s); //w->paintGL(); } if (gGraphWindow *w=qobject_cast(widget(z_index))) { qDebug() << icnt << "Height" << w->height() << z_index << z_pos << w->Title(); int s=sizes().at(z_index); w->resizeGL(w->width(),s); w->paintGL(); } //timer->stop(); icnt=0; // QSplitter::resizeEvent(&event); }