Brief description of class still missing. More...
#include <SeedLinkLoader.h>
Signals | |
void | dataChanged (Signal *sig, TimeRange tw) |
void | started () |
void | stopped () |
Public Member Functions | |
void | removeOptions () |
void | removeView () |
SeedLinkLoader (QWidget *parent=0) | |
void | selectStreams (QString selection) |
void | setBufferType (SeedLinkStream::BufferType bt) |
void | setFromTime (QDateTime f) |
void | setMaximumDuration (double d) |
void | setServer (QString serverAddress, int serverPort) |
~SeedLinkLoader () |
Brief description of class still missing.
Full description of class still missing
GeopsySLinkGui::SeedLinkLoader::SeedLinkLoader | ( | QWidget * | parent = 0 | ) |
Description of constructor still missing
References dataChanged(), GeopsySLinkGui::SeedLinkLoaderOptions::restore(), and TRACE.
: QWidget(parent) { TRACE; setupUi(this); streamView->setModel(new SeedLinkStreamItem(this)); streamView->setSelectionBehavior(QAbstractItemView::SelectRows); streamView->setSelectionMode(QAbstractItemView::ExtendedSelection); streamView->setEditTriggers(QAbstractItemView::NoEditTriggers); streamView->setContextMenuPolicy(Qt::CustomContextMenu); connect(streamView, SIGNAL(customContextMenuRequested (const QPoint & )), this, SLOT(showContextMenu( const QPoint & )) ); _seedLink=new SeedLink(this); connect(_seedLink,SIGNAL(infoAvailable()), this, SLOT(streamInfoAvailable()), Qt::QueuedConnection); connect(_seedLink,SIGNAL(dataChanged(Signal *, TimeRange)), this, SLOT(monitorDataChange(Signal *, TimeRange)), Qt::QueuedConnection); connect(_seedLink, SIGNAL(error(GeopsySLink::SeedLink::Error)), this, SLOT(seedLinkError(GeopsySLink::SeedLink::Error)), Qt::QueuedConnection); SeedLinkLoaderOptions::restore(_seedLink); seedLinkActivity->setMeasurementDelay(1.0); seedLinkActivity->setDisplayRange(120.0); // Create log stream for seed link thread Application::instance()->setStream(logView , _seedLink); Settings::getSize(this, "SeedLinkLoader" ); Settings::splitter(splitter, "SeedLinkLoader" ); serverName->addItems(Settings::getHistory("SeedLinkServers")); selectEdit->addItems(Settings::getHistory("SeedLinkSelectExpressions")); Settings::columnWidth(streamView, "SeedLinkLoader"); Settings::getWidget(this, "SeedLinkLoader" ); }
Description of destructor still missing
References GeopsySLink::SeedLink::stop(), and TRACE.
void GeopsySLinkGui::SeedLinkLoader::dataChanged | ( | Signal * | sig, |
TimeRange | tw | ||
) | [signal] |
Referenced by SeedLinkLoader().
void GeopsySLinkGui::SeedLinkLoader::selectStreams | ( | QString | selection | ) |
Define the streams to select. Specification of streams is either the same as for slinktool or regular expressions:
SL:stream1[:selectors1],stream2[:selectors2],... RX:stream1RX[:selectors1RX,...
'stream' is in NET_STA format, followed by a selection of streams. If no selector is given, all streams are started.
Examples: "SL:WA_WAU01:HHZ HHE HHN, WA_WAU02:HH?,WA_WAU03,..." "RX:WA_WAU[0-9]{2}"
References GeopsySLink::SeedLinkServer::at(), GeopsySLinkGui::SeedLinkStreamItem::index(), GeopsySLink::SeedLinkServer::indexOf(), GeopsySLink::SeedLinkStation::indexOf(), GeopsySLinkGui::SeedLinkStreamItem::rowCount(), GeopsySLink::SeedLink::serverInfo(), str, and TRACE.
Referenced by GeopsyMainWindow::seedlink().
{ TRACE; Settings::setHistory("SeedLinkSelectExpressions", selection); selectEdit->clear(); selectEdit->addItems(Settings::getHistory("SeedLinkSelectExpressions")); SeedLinkStreamItem * model=static_cast<SeedLinkStreamItem *>(streamView->model()); if(model->rowCount()==0) { /* Stream list is still not available, postpone selection and start when the stream list will be available: see streamInfoAvailable(SeedLinkServer * s)*/ _streamSelection=selection; return; } // First identify the type of selectors enum SelectorType {SeedLinkSelector, RegExpSelector}; SelectorType selectorType; if(selection.startsWith("SL:")) { selectorType=SeedLinkSelector; selection=selection.mid(3); } else if(selection.startsWith("RX:")) { selectorType=RegExpSelector; selection=selection.mid(3); } else { selectorType=RegExpSelector; } QItemSelectionModel * selModel=streamView->selectionModel(); selModel->clear(); const SeedLinkServer& serverInfo=_seedLink->serverInfo(); // Parse selection string, sl_parse_streamlist does not help because streams are not separated QStringList selectors=selection.split(","); for(QStringList::iterator itSel=selectors.begin(); itSel!=selectors.end();itSel++) { QString& str=*itSel; int selectorIndex=str.indexOf(":"); QList<int> stationIndexes=serverInfo.indexOf(QRegExp( str.left(selectorIndex)) ); for(QList<int>::iterator itStat=stationIndexes.begin(); itStat!=stationIndexes.end(); itStat++) { const SeedLinkStation * station=serverInfo.at(*itStat); QModelIndex stationModelIndex=model->index(*itStat, 0); QRegExp streamExp; if(selectorIndex==-1) { streamExp.setPattern(".*"); } else { switch(selectorType) { case SeedLinkSelector: streamExp=SeedLinkStation::selectorExpression(str.mid(selectorIndex+1)); break; case RegExpSelector: streamExp.setPattern(str.mid(selectorIndex+1)); break; } } QList<int> streamIndexes=station->indexOf(streamExp); for(QList<int>::iterator it=streamIndexes.begin();it!=streamIndexes.end();it++) { selModel->select(model->index(*it, 0, stationModelIndex), QItemSelectionModel::Rows | QItemSelectionModel::Select); } } } }
void GeopsySLinkGui::SeedLinkLoader::setBufferType | ( | SeedLinkStream::BufferType | bt | ) | [inline] |
{_seedLink->setBufferType(bt);}
void GeopsySLinkGui::SeedLinkLoader::setFromTime | ( | QDateTime | f | ) | [inline] |
{_seedLink->setFromTime(f);}
void GeopsySLinkGui::SeedLinkLoader::setMaximumDuration | ( | double | d | ) | [inline] |
{_seedLink->setMaximumDuration(d);}
void GeopsySLinkGui::SeedLinkLoader::setServer | ( | QString | serverAddress, |
int | serverPort | ||
) |
References GeopsySLink::SeedLink::serverName(), GeopsySLink::SeedLink::serverPort(), serverPort, GeopsySLink::SeedLink::setServer(), GeopsySLink::SeedLink::streams(), and TRACE.
Referenced by GeopsyMainWindow::seedlink().
{ TRACE; // If current server is different than the one requested, stop current acquisition if(serverAddress!=_seedLink->serverName() || serverPort!=_seedLink->serverPort()) { Settings::setHistory("SeedLinkServers", serverAddress); serverName->clear(); serverName->addItems(Settings::getHistory("SeedLinkSelectExpressions")); serverName->setEditText(serverAddress); // Useful if this function is not called via the gui _seedLink->setServer(serverAddress.toAscii(), serverPort); port->setValue(serverPort); } static_cast<SeedLinkStreamItem *>(streamView->model())->setServer(0); _seedLink->streams(); }
void GeopsySLinkGui::SeedLinkLoader::started | ( | ) | [signal] |
void GeopsySLinkGui::SeedLinkLoader::stopped | ( | ) | [signal] |