Public Slots | Public Member Functions
SignalTableView Class Reference

#include <SignalTableView.h>

List of all members.

Public Slots

void refresh (Signal *sig)
void refreshAll ()

Public Member Functions

MetaDataFieldListdataFields ()
void getSelection (SubSignalPool &sel)
 SignalTableView (SubSignalPool *subPool, QWidget *parent=0)
 ~SignalTableView ()

Constructor & Destructor Documentation

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

References TRACE.

{
  TRACE;
}

Member Function Documentation

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

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

The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines