All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines
Public Slots | Signals | Public Member Functions | Protected Member Functions
GeopsyGui::SubPoolWindow Class Reference

#include <SubPoolWindow.h>

Inheritance diagram for GeopsyGui::SubPoolWindow:
ChronogramWindow GeopsyGui::AbstractGraphicWindow MapWindow TableWindow GraphicWindow MagnifierSignal

List of all members.

Public Slots

void addFile (QString fileName)
void addSignal (int id)
void addSignal (SubPoolWindow *viewer, int index)
void addSignals (const SubSignalPool &sel)
virtual void refreshSignal (Signal *sig)
virtual void subPoolUpdate ()=0

Signals

void aboutToClose ()
void signalTypeChanged (DoubleSignal::SignalType)

Public Member Functions

virtual void fastFourierTransform (DoubleSignal::SignalType st)=0
bool isLocked ()
void lock ()
bool run (const QString &script)
void setSubPool (const SubSignalPool &subPool)
virtual void setTool (ToolBase *tw)
virtual void setWindowTitle (QString title)
SignalProcessScriptsignalProcess ()
virtual void signalsUpdate ()
SubSignalPoolsubPool ()
const SubSignalPoolsubPool () const
 SubPoolWindow (QWidget *parent=0)
ToolBasetool ()
void unlock ()
virtual ~SubPoolWindow ()

Protected Member Functions

virtual void closeEvent (QCloseEvent *e)

Constructor & Destructor Documentation

GeopsyGui::SubPoolWindow::SubPoolWindow ( QWidget *  parent = 0)

References TRACE.

  : QWidget(parent, Qt::SubWindow)
{
  TRACE;

  resize(700, 400);
  setMinimumSize(QSize(400,70));
  _tool=0;
  _signalProcess=0;
  _locked=false;
  setAttribute(Qt::WA_DeleteOnClose);
}

References TRACE.

{
  TRACE;
}

Member Function Documentation

Referenced by closeEvent().

void GeopsyGui::SubPoolWindow::addFile ( QString  fileName) [slot]
void GeopsyGui::SubPoolWindow::addSignal ( int  id) [slot]
void GeopsyGui::SubPoolWindow::addSignal ( SubPoolWindow viewer,
int  index 
) [slot]

References GeopsyCore::SubSignalPool::addSignal(), addSignals(), GeopsyCore::SubSignalPool::at(), GeopsyCore::SubSignalPool::count(), subPool(), and TRACE.

{
  TRACE;
  if( ! viewer) return;
  const SubSignalPool& sp=viewer->subPool();
  if(index >= sp.count()) return;
  SubSignalPool sel;
  sel.addSignal(sp.at(index) );
  addSignals(sp);
}

References GeopsyCore::SubSignalPool::addSubPool(), GeopsyCore::SubSignalPool::isEmpty(), MSG_ID, subPoolUpdate(), QGpCoreTools::tr(), and TRACE.

Referenced by addFile(), addSignal(), ChronogramWindow::ChronogramWindow(), GraphicWindow::GraphicWindow(), MapWindow::MapWindow(), and TableWindow::TableWindow().

{
  TRACE;
  if(_tool) {
    Message::warning(MSG_ID,tr("Adding signals"),
                         tr("The added signals will not be processed as the others. "
                         "To process all of them create a new window and start your "
                         "interpretation tool."), Message::ok());
  }
  if(_subPool.isEmpty())
    _subPool=sel;
  else
    _subPool.addSubPool(sel);
  subPoolUpdate();
}
void GeopsyGui::SubPoolWindow::closeEvent ( QCloseEvent *  e) [protected, virtual]

Reimplemented in MagnifierSignal.

References aboutToClose(), GeopsyGui::ToolBase::closeChildren(), geopsyGui, isLocked(), and TRACE.

{
  TRACE;
  if(isLocked()) {
    e->ignore();
    return;
  }
  if(_tool) {
    _tool->closeChildren();
    geopsyGui->removeWindow(_tool);
    delete _tool;
    _tool=0;
  }
  emit aboutToClose();
  geopsyGui->removeWindow(this);
  e->accept();
}

Returns true if locked (prevent parent widget to be closed)

References TRACE.

Referenced by closeEvent(), and GeopsyGui::ToolBase::subPoolLocked().

{
  TRACE;
  return _locked;
}

Prevent subpool parent widget to be closed

References TRACE.

Referenced by GeopsyGui::ToolBase::lockSubPool().

{
  TRACE;
  _locked=true;
}
void GeopsyGui::SubPoolWindow::refreshSignal ( Signal sig) [virtual, slot]

Call this slot to refresh one signal. If sig does not exist in this subPool, this is function does nothing, else signalsUpdate() is called.

Reimplemented in TableWindow, and ChronogramWindow.

References GeopsyCore::SubSignalPool::indexOf(), GeopsyGui::ToolBase::refreshSignal(), signalsUpdate(), and TRACE.

Referenced by Engine::signalDataChanged().

{
  TRACE;
  int row=_subPool.indexOf(sig);
  if(row>=0) {
    signalsUpdate();
    if(_tool) _tool->refreshSignal(sig);
  }
}
bool GeopsyGui::SubPoolWindow::run ( const QString &  script)
virtual void GeopsyGui::SubPoolWindow::setTool ( ToolBase tw) [inline, virtual]
{_tool=tw;}
void GeopsyGui::SubPoolWindow::setWindowTitle ( QString  title) [virtual]

Reimplemented in GraphicWindow, TableWindow, MagnifierSignal, MapWindow, and ChronogramWindow.

References geopsyGui, and TRACE.

{
  TRACE;
  if(t.length()>100) {
    t.truncate(100);
    t+="...";
  }
  QWidget::setWindowTitle(t);
  geopsyGui->updateWindowTitle(this);
}

Function to redefine in child class to update view after changes to waveforms. Do not forget to call this function on exit.

The default implementation send signal signalTypeChanged() with argument set to UndefinedSignalType (as if the signals of the SubPool have not the same type).

Reimplemented in GraphicWindow, TableWindow, MapWindow, and ChronogramWindow.

References signalTypeChanged(), and TRACE.

Referenced by refreshSignal().

{
  TRACE;
  DoubleSignal::SignalType st=DoubleSignal::UndefinedSignalType;
  emit signalTypeChanged(st);
}

Referenced by signalsUpdate().

{return _subPool;}
virtual void GeopsyGui::SubPoolWindow::subPoolUpdate ( ) [pure virtual, slot]

Allows subpool parent widget to be closed

References TRACE.

Referenced by GeopsyGui::ToolBase::unlockSubPool().

{
  TRACE;
  _locked=false;
}

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