#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);
}