#include <MagnifierSignal.h>
Public Member Functions | |
MagnifierSignal (QWidget *parent=0) | |
void | setContext (int c) |
void | setSignal (SubSignalPool *parentSubPool, Signal *sig) |
void | setTime (double t) |
virtual void | setWindowTitle (QString title) |
Protected Member Functions | |
virtual void | closeEvent (QCloseEvent *e) |
virtual void | resizeEvent (QResizeEvent *) |
MagnifierSignal::MagnifierSignal | ( | QWidget * | parent = 0 | ) |
References GraphicWindow::_signalLayer, SciFigs::GraphContent::action(), SciFigs::ParallelBands::addBand(), SciFigs::GraphContent::graph(), SciFigs::GraphContentLayer::graphContent(), GeopsyGui::SignalLayer::setNormalize(), SciFigs::Axis::setNumberPrecision(), SciFigs::Axis::setRange(), TRACE, w, and SciFigs::AxisWindow::xAxis().
: GraphicWindow(parent) { TRACE; resize(200, 80); setMinimumSize(QSize(50,50)); setWindowFlags(windowFlags() | Qt::WindowStaysOnTopHint); _signalLayer->setNormalize(SignalLayer::NormalizeVisibleOne); GraphContent * gc=_signalLayer->graphContent(); AxisWindow * w=gc->graph(); QList<QAction *> actionList=gc->actions(); gc->removeAction(gc->action("Zoom")); gc->removeAction(gc->action("ZoomIn")); gc->removeAction(gc->action("ZoomOut")); gc->removeAction(gc->action("Unzoom")); gc->removeAction(gc->action("Edit")); gc->removeAction(gc->action("PickSeparator")); gc->removeAction(gc->action("Pick")); Settings::getSize(this,"MagnifierSignal"); _cursorLayer=new ParallelBands(gc->graph()); _cursorLayer->addBand(0,0, Brush(Qt::black, Qt::SolidPattern)); w->xAxis()->setNumberPrecision(4); _context=0; // Init first range, user then can fix it to whatever value w->xAxis()->setRange(0.0, 0.1); }
void MagnifierSignal::closeEvent | ( | QCloseEvent * | e | ) | [protected, virtual] |
void MagnifierSignal::resizeEvent | ( | QResizeEvent * | ) | [protected, virtual] |
References SciFigs::GraphContentLayer::graph(), and TRACE.
void MagnifierSignal::setContext | ( | int | c | ) | [inline] |
Referenced by GraphicWindow::showMagnify().
{_context=c;}
void MagnifierSignal::setSignal | ( | SubSignalPool * | parentSubPool, |
Signal * | sig | ||
) |
References GeopsyCore::SubSignalPool::addSignal(), GeopsyCore::SubSignalPool::at(), GeopsyGui::SignalLayer::clearSignalColors(), GeopsyCore::SubSignalPool::count(), SciFigs::GraphContentLayer::graph(), GeopsyCore::SubSignalPool::indexOf(), SciFigs::Axis::maximum(), SciFigs::Axis::minimum(), GeopsyCore::SubSignalPool::removeAll(), SciFigs::Axis::setRange(), GeopsyGui::SignalLayer::setSignalColor(), GraphicWindow::signalLayer(), GeopsyGui::SubPoolWindow::subPool(), GraphicWindow::subPoolUpdate(), TRACE, w, and SciFigs::AxisWindow::xAxis().
Referenced by GraphicWindow::setMagnifySignal(), and GraphicWindow::showMagnify().
{ TRACE; subPool().removeAll(); if(_context <= 0) { subPool().addSignal(sig); } else { int iSig=parentSubPool->indexOf(sig); int iSigMin=iSig-_context; if(iSigMin<0) iSigMin =0; int iSigMax=iSig+_context; if(iSigMax>=parentSubPool->count()) iSigMax=parentSubPool->count()-1; for(int i=iSigMin; i<=iSigMax; i++) { subPool().addSignal(parentSubPool->at(i)); } SignalLayer * sl=signalLayer(); sl->clearSignalColors(); sl->setSignalColor(sig,Qt::red); } // Save & restore current range AxisWindow * w=_cursorLayer->graph(); double dt=w->xAxis()->maximum()-w->xAxis()->minimum(); subPoolUpdate(); w->xAxis()->setRange(0.0, dt); }
void MagnifierSignal::setTime | ( | double | t | ) |
References SciFigs::ParallelBands::band(), SciFigs::AxisWindow::deepUpdate(), SciFigs::GraphContentLayer::graph(), SciFigs::Axis::maximum(), SciFigs::Axis::minimum(), SciFigs::ParallelBand::setMaximum(), SciFigs::ParallelBand::setMinimum(), SciFigs::Axis::setRange(), TRACE, w, and SciFigs::AxisWindow::xAxis().
Referenced by GraphicWindow::setMagnifyPosition(), and GraphicWindow::setMagnifySignal().
{ TRACE; AxisWindow * w=_cursorLayer->graph(); double dt=0.5*(w->xAxis()->maximum()-w->xAxis()->minimum()); w->xAxis()->setRange(t-dt,t+dt); ParallelBand& b=_cursorLayer->band(0); b.setMinimum(t); b.setMaximum(t); w->xAxis()->update(); w->deepUpdate(); }
void MagnifierSignal::setWindowTitle | ( | QString | title | ) | [virtual] |
Reimplemented from GraphicWindow.
References TRACE.
{ TRACE; GraphicWindow::setWindowTitle("Magnifier - "+title); }