#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();
}