#include <SignalTableView.h>
Public Slots | |
void | refresh (Signal *sig) |
void | refreshAll () |
Public Member Functions | |
MetaDataFieldList & | dataFields () |
void | getSelection (SubSignalPool &sel) |
SignalTableView (SubSignalPool *subPool, QWidget *parent=0) | |
~SignalTableView () |
SignalTableView::SignalTableView | ( | SubSignalPool * | subPool, |
QWidget * | parent = 0 |
||
) |
References geopsyGui, and TRACE.
: QTableView(parent) { TRACE; SignalTableItem * item=new SignalTableItem(subPool, this); connect(item, SIGNAL(dataChanged(Signal*)), static_cast<Engine *>(geopsyGui), SLOT(signalDataChanged(Signal *))); setModel(item); setItemDelegate(new SignalTableDelegate(this) ); setSelectionBehavior(QAbstractItemView::SelectRows); setSelectionMode(QAbstractItemView::ExtendedSelection); setEditTriggers(QAbstractItemView::AllEditTriggers); }
Returns the current data fields and let any external function to change it
References SignalTableItem::dataFields(), and TRACE.
Referenced by TableWindow::exportTable(), and TableWindow::setDataFields().
{ TRACE; SignalTableItem * m=static_cast<SignalTableItem *>(model()); return m->dataFields(); }
void SignalTableView::getSelection | ( | SubSignalPool & | sel | ) |
Returns the selected signals into a SubSignalPool
References GeopsyCore::SubSignalPool::addSignal(), GeopsyCore::SubSignalPool::at(), GeopsyCore::SubSignalPool::count(), SignalTableItem::subPool(), and TRACE.
Referenced by TableWindow::getSelection().
{ TRACE; QItemSelectionModel& selModel=*selectionModel(); QModelIndex rIndex=rootIndex(); SignalTableItem& m=*static_cast<SignalTableItem *>(model()); const SubSignalPool& subPool=*m.subPool(); int n=subPool.count(); for(int i=0;i < n;i++ ) { if(selModel.rowIntersectsSelection(i, rIndex)) { sel.addSignal(subPool.at(i) ); } } }
void SignalTableView::refresh | ( | Signal * | sig | ) | [slot] |
Call this slot to refresh one signal in the view (e.g. after a user edit to make sure that all calculated value are correctly refreshed.
If sig does not exist in view, this is function does nothing.
References SignalTableItem::columnCount(), SignalTableItem::index(), GeopsyCore::SubSignalPool::indexOf(), SignalTableItem::subPool(), and TRACE.
Referenced by TableWindow::refreshSignal().
{ TRACE; SignalTableItem& m=*static_cast<SignalTableItem *>(model()); int row=m.subPool()->indexOf(sig); if(row>=0) { dataChanged (m.index(0,row), m.index(m.columnCount(), row)); } }
void SignalTableView::refreshAll | ( | ) | [slot] |
Call this function whenever the subpool the fields to display changes.
References SignalTableItem::subPoolChanged(), and TRACE.
Referenced by TableWindow::signalsUpdate().
{ TRACE; SignalTableItem& m=*static_cast<SignalTableItem *>(model()); m.subPoolChanged(); }