Public Member Functions | Protected Member Functions
MagnifierSignal Class Reference

#include <MagnifierSignal.h>

Inheritance diagram for MagnifierSignal:
GraphicWindow GeopsyGui::AbstractGraphicWindow GeopsyGui::SubPoolWindow

List of all members.

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 *)

Constructor & Destructor Documentation

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

Member Function Documentation

void MagnifierSignal::closeEvent ( QCloseEvent *  e) [protected, virtual]

Reimplemented from GeopsyGui::SubPoolWindow.

References TRACE.

{
  TRACE;
  e->ignore();
}
void MagnifierSignal::resizeEvent ( QResizeEvent *  ) [protected, virtual]

References SciFigs::GraphContentLayer::graph(), and TRACE.

{
  TRACE;
  _cursorLayer->graph()->setGeometry(0,0,width()-5,height());
  Settings::setSize(this,"MagnifierSignal");
}
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)
void MagnifierSignal::setWindowTitle ( QString  title) [virtual]

Reimplemented from GraphicWindow.

References TRACE.

{
  TRACE;
  GraphicWindow::setWindowTitle("Magnifier - "+title);
}

The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines