#include <MapWindow.h>
Public Slots | |
void | getSelection (SubSignalPool &sel) |
Public Member Functions | |
virtual void | fastFourierTransform (DoubleSignal::SignalType st) |
MapWindow (QWidget *parent=0) | |
void | setLimits () |
virtual void | setWindowTitle (QString title) |
virtual void | signalsUpdate () |
virtual void | subPoolUpdate () |
~MapWindow () | |
Protected Attributes | |
ArrayMap * | _map |
MapWindow::MapWindow | ( | QWidget * | parent = 0 | ) |
References _map, GeopsyGui::SubPoolWindow::addSignals(), SciFigs::GraphContentLayer::addTrackingAction(), GeopsyCore::geopsyCore, getSelection(), SciFigs::AxisWindow::graphContent(), GeopsyGui::ArrayMap::mapLayer(), GeopsyCore::GeopsyPreferences::mapMakeUpFile(), GeopsyCore::GeopsyCoreEngine::preferences(), SciFigs::GraphicObject::restoreMakeUp(), GeopsyCore::GeopsyPreferences::restoreMapMakeUp(), GeopsyGui::ArrayMap::setObjectName(), SciFigs::Axis::setSizeInfo(), SciFigs::Axis::setSizeType(), SciFigs::Axis::setTitle(), QGpCoreTools::tr(), TRACE, SciFigs::AxisWindow::updateExternalGeometry(), SciFigs::AxisWindow::xAxis(), and SciFigs::AxisWindow::yAxis().
: SubPoolWindow(parent) { TRACE; setObjectName("map"); QVBoxLayout * l=new QVBoxLayout(this); l->setMargin(1); _map=new ArrayMap(this); l->addWidget(_map); _map->setObjectName("map"); setWindowIcon(QIcon( ":/images/map-22x22.png" )); Settings::getSize(this,"MapWindow"); _map->xAxis()->setTitle("X (m)"); _map->xAxis()->setSizeType(Axis::Scaled); _map->xAxis()->setSizeInfo(1000); _map->yAxis()->setTitle("Y (m)"); _map->yAxis()->setSizeType(Axis::Scaled); _map->yAxis()->setSizeInfo(1000); _map->mapLayer()->addTrackingAction(tr("&Select stations"), 0, tr("Once selected, the stations can be dragged and dropped to other viewers.")); _map->updateExternalGeometry(); // Drag and drop to transfert signal selection SigSelectionDnD * sigDnD=new SigSelectionDnD(_map->graphContent()); connect(sigDnD,SIGNAL(selectionDropped(const SubSignalPool&)), this,SLOT(addSignals(const SubSignalPool&))); connect(sigDnD,SIGNAL(getSelection(SubSignalPool&)), this,SLOT(getSelection(SubSignalPool&))); connect(_map->graphContent(),SIGNAL(mouseTrackingBegin()), sigDnD,SLOT(disableFilter())); connect(_map->graphContent(),SIGNAL(mouseTrackingEnd()), sigDnD,SLOT(enableFilter())); // Make up if(geopsyCore->preferences()->restoreMapMakeUp() && !geopsyCore->preferences()->mapMakeUpFile().isEmpty()) { _map->restoreMakeUp(geopsyCore->preferences()->mapMakeUpFile()); } }
void MapWindow::fastFourierTransform | ( | DoubleSignal::SignalType | st | ) | [virtual] |
Implements GeopsyGui::SubPoolWindow.
References GeopsyCore::SubSignalPool::fastFourierTransform(), signalsUpdate(), GeopsyGui::SubPoolWindow::subPool(), and TRACE.
{ TRACE; subPool().fastFourierTransform(st); signalsUpdate(); }
void MapWindow::getSelection | ( | SubSignalPool & | sel | ) | [slot] |
References _map, GeopsyCore::SubSignalPool::addSignal(), GeopsyCore::SubSignalPool::count(), GeopsyCore::SubSignalPool::isEmpty(), SciFigs::AbstractLine::isSelected(), SciFigs::NameLineLayer::line(), GeopsyGui::ArrayMap::mapLayer(), GeopsyCore::SubSignalPool::setName(), GeopsyGui::SubPoolWindow::subPool(), QGpCoreTools::tr(), and TRACE.
Referenced by MapWindow().
void MapWindow::setLimits | ( | ) |
References _map, SciFigs::LineLayer::boundingRect(), QGpCoreTools::Rect::enlarge(), QGpCoreTools::LinearScale, GeopsyGui::ArrayMap::mapLayer(), SciFigs::AxisWindow::setMapScale(), TRACE, QGpCoreTools::Rect::x1(), QGpCoreTools::Rect::x2(), QGpCoreTools::Rect::y1(), and QGpCoreTools::Rect::y2().
Referenced by signalsUpdate().
{ TRACE; Rect r=_map->mapLayer()->boundingRect(); r.enlarge(0.20, LinearScale, LinearScale); _map->setMapScale(r.x1(), r.y1(), r.x2(), r.y2()); }
void MapWindow::setWindowTitle | ( | QString | title | ) | [virtual] |
Reimplemented from GeopsyGui::SubPoolWindow.
References TRACE.
Referenced by subPoolUpdate().
{ TRACE; SubPoolWindow::setWindowTitle("Map - "+title); }
void MapWindow::signalsUpdate | ( | ) | [virtual] |
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 from GeopsyGui::SubPoolWindow.
References _map, GeopsyGui::ArrayMap::addLine(), SciFigs::LineLayer::clear(), SciFigs::AxisWindow::deepUpdate(), GeopsyCore::SubSignalPool::end(), QGpCoreTools::Curve< pointType >::first(), GeopsyGui::ArrayMap::mapLayer(), GeopsyCore::Signal::name(), GeopsyCore::Signal::receiver(), QGpCoreTools::Curve< pointType >::resize(), setLimits(), QGpCoreTools::NamedPoint::setName(), GeopsyGui::SubPoolWindow::subPool(), and TRACE.
Referenced by fastFourierTransform(), GeopsyMainWindow::newMapWindow(), and subPoolUpdate().
{ TRACE; if(subPool().isEmpty()) return; _map->mapLayer()->clear(); SubSignalPool::iterator it; for(it=subPool().begin();it!=subPool().end();++it) { Signal * sig=*it; Curve<NamedPoint>& c=static_cast<NameLine *>(_map->addLine())->curve(); c.resize(1); NamedPoint& p=c.first(); p=sig->receiver(); p.setName(sig->name()); } setLimits(); _map->deepUpdate(); SubPoolWindow::signalsUpdate(); }
void MapWindow::subPoolUpdate | ( | ) | [virtual] |
Implements GeopsyGui::SubPoolWindow.
References _map, GeopsyCore::SubSignalPool::at(), GeopsyCore::Signal::component(), GeopsyCore::Signal::componentLetter(), GeopsyCore::geopsyCore, GeopsyCore::GeopsyPreferences::mapMakeUpFile(), GeopsyCore::Signal::name(), GeopsyCore::GeopsyCoreEngine::preferences(), SciFigs::GraphicObject::restoreMakeUp(), GeopsyCore::GeopsyPreferences::restoreMapMakeUp(), setWindowTitle(), signalsUpdate(), GeopsyGui::SubPoolWindow::subPool(), and TRACE.
{ TRACE; if(subPool().isEmpty()) { setWindowTitle(QString::null); return; } if(subPool().count()==1) { Signal& sig=*subPool().at(0); QString traceName=sig.name()+" "+sig.componentLetter(sig.component()); setWindowTitle(traceName); } else setWindowTitle(subPool().name()); signalsUpdate(); // Make up if(geopsyCore->preferences()->restoreMapMakeUp()) { _map->restoreMakeUp(geopsyCore->preferences()->mapMakeUpFile()); } }
ArrayMap* MapWindow::_map [protected] |
Referenced by getSelection(), MapWindow(), setLimits(), signalsUpdate(), and subPoolUpdate().