#include <TableWindow.h>
Public Slots | |
void | exportTable () |
void | getSelection (SubSignalPool &sel) |
void | importTable () |
virtual void | refreshSignal (Signal *sig) |
void | setDataFields () |
Public Member Functions | |
virtual void | fastFourierTransform (DoubleSignal::SignalType st) |
void | setEditionLocked (bool l) |
virtual void | setWindowTitle (QString title) |
virtual void | signalsUpdate () |
virtual void | subPoolUpdate () |
TableWindow (QWidget *parent=0) | |
~TableWindow () | |
Protected Member Functions | |
virtual void | resizeEvent (QResizeEvent *) |
Protected Attributes | |
SignalTableView * | _headers |
TableWindow::TableWindow | ( | QWidget * | parent = 0 | ) |
References _headers, GeopsyGui::SubPoolWindow::addSignals(), GeopsyCore::geopsyCore, geopsyGui, getSelection(), setEditionLocked(), GeopsyCore::GeopsyCoreEngine::showMessage(), GeopsyGui::SubPoolWindow::subPool(), QGpCoreTools::tr(), and TRACE.
: SubPoolWindow(parent) { TRACE; setObjectName("table"); setWindowIcon(QIcon( ":/images/table-22x22.png" )); _headers=new SignalTableView(&subPool(), this); setEditionLocked(static_cast<Engine *>(geopsyGui)->mainWindow()->isTableEditionLocked()); Settings::getSize(this, "TableWindow" ); // Drag and drop to transfert signal selection SigSelectionDnD * sigDnD=new SigSelectionDnD(_headers->viewport()); connect(sigDnD, SIGNAL(selectionDropped( const SubSignalPool& )), this, SLOT(addSignals( const SubSignalPool& )) ); connect(sigDnD, SIGNAL(getSelection( SubSignalPool& )), this, SLOT(getSelection( SubSignalPool& )) ); _headers->installEventFilter(sigDnD); _headers->setDropIndicatorShown(true); geopsyCore->showMessage(tr("Uncheck menu \"edit/Lock table edition\" to edit tables or hit CTRL+K.")); }
void TableWindow::exportTable | ( | ) | [slot] |
References _headers, SignalTableView::dataFields(), GeopsyCore::SubSignalPool::exportTable(), fileName, GeopsyGui::SubPoolWindow::subPool(), and TRACE.
{ TRACE; QString fileName=Message::getSaveFileName( "Export Table", "Table (*.txt)"); if(fileName.length() > 0) subPool().exportTable(fileName, _headers->dataFields()); }
void TableWindow::fastFourierTransform | ( | DoubleSignal::SignalType | st | ) | [virtual] |
Implements GeopsyGui::SubPoolWindow.
References GeopsyCore::SubSignalPool::fastFourierTransform(), signalsUpdate(), GeopsyGui::SubPoolWindow::subPool(), and TRACE.
{ TRACE; subPool().fastFourierTransform(st); signalsUpdate(); }
void TableWindow::getSelection | ( | SubSignalPool & | sel | ) | [slot] |
References _headers, contains(), SignalTableView::getSelection(), GeopsyCore::SubSignalPool::setName(), GeopsyGui::SubPoolWindow::subPool(), QGpCoreTools::tr(), and TRACE.
Referenced by TableWindow().
void TableWindow::importTable | ( | ) | [slot] |
References fileName, GeopsyCore::SubSignalPool::importTable(), signalsUpdate(), GeopsyGui::SubPoolWindow::subPool(), and TRACE.
Referenced by GeopsyMainWindow::importTable().
{ TRACE; QString fileName=Message::getOpenFileName( "Import Table", "Table (*.txt)" ); if(fileName.length() > 0) subPool().importTable(fileName); signalsUpdate (); }
void TableWindow::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 from GeopsyGui::SubPoolWindow.
References _headers, SignalTableView::refresh(), and TRACE.
void TableWindow::resizeEvent | ( | QResizeEvent * | ) | [protected, virtual] |
void TableWindow::setDataFields | ( | ) | [slot] |
References _headers, SignalTableView::dataFields(), signalsUpdate(), and TRACE.
{ TRACE; SetTableFields * d=new SetTableFields(this); d->paramEditor->initTableFields(_headers->dataFields()); Settings::getWidget(d); if(d->exec()==QDialog::Accepted) { Settings::setWidget(d); d->paramEditor->getTableFields(_headers->dataFields()); signalsUpdate (); } delete d; }
void TableWindow::setEditionLocked | ( | bool | l | ) |
References _headers, and TRACE.
Referenced by GeopsyMainWindow::setTableLocked(), and TableWindow().
void TableWindow::setWindowTitle | ( | QString | title | ) | [virtual] |
Reimplemented from GeopsyGui::SubPoolWindow.
References TRACE.
Referenced by subPoolUpdate().
{ TRACE; SubPoolWindow::setWindowTitle( "Table - " + title); }
void TableWindow::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 _headers, SignalTableView::refreshAll(), and TRACE.
Referenced by fastFourierTransform(), importTable(), setDataFields(), and subPoolUpdate().
{ TRACE; _headers->refreshAll(); _headers->resizeColumnsToContents (); _headers->resizeRowsToContents (); }
void TableWindow::subPoolUpdate | ( | ) | [virtual] |
Implements GeopsyGui::SubPoolWindow.
References setWindowTitle(), signalsUpdate(), GeopsyGui::SubPoolWindow::subPool(), and TRACE.
{ TRACE; if( !subPool().isEmpty()) { setWindowTitle(subPool().name()); signalsUpdate (); } else setWindowTitle(QString::null); }
SignalTableView* TableWindow::_headers [protected] |
Referenced by exportTable(), getSelection(), refreshSignal(), resizeEvent(), setDataFields(), setEditionLocked(), signalsUpdate(), and TableWindow().