#include <foldertablemodel.h>
Signals | |
void | modelChanged (const FolderTableModel *thisModel, const bool changed) |
Public Member Functions | |
FolderTableModel (cool::IFolderPtr folderPtr, cool::ValidityKey start=cool::ValidityKeyMin, cool::ValidityKey end=cool::ValidityKeyMax, cool::ChannelSelection channels=cool::ChannelSelection(), QString tag="", QObject *parent=0) | |
~FolderTableModel () | |
QVariant | data (const QModelIndex &index, int role=Qt::DisplayRole) const |
QVariant | rawData (const QModelIndex &index) const |
QVariant | headerData (int section, Qt::Orientation orientation=Qt::Horizontal, int role=Qt::DisplayRole) const |
QModelIndex | index (int row, int column, const QModelIndex &parent=QModelIndex()) const |
QModelIndex | parent (const QModelIndex &index) const |
int | rowCount (const QModelIndex &parent=QModelIndex()) const |
int | columnCount (const QModelIndex &parent=QModelIndex()) const |
Qt::ItemFlags | flags (const QModelIndex &index) const |
bool | setData (const QModelIndex &index, const QVariant &value, int role=Qt::EditRole) |
void | setData (const QModelIndexList &indexList, const QVariant &value, int role=Qt::EditRole) |
bool | canSetDisplayAsMask (const QModelIndex &index) const |
bool | canSetDisplayAsMask (const QModelIndexList &indexList) const |
bool | setHeaderData (int section, Qt::Orientation orientation, const QVariant &value, int role=Qt::EditRole) |
bool | removeRows (int row, int count=1, const QModelIndex &parent=QModelIndex()) |
bool | insertRows (int row, int count=1, const QModelIndex &parent=QModelIndex()) |
QVariant::Type | getQVariantType (const std::string &coolType) const |
QVariant::Type | getQVariantType (const QModelIndex &index) const |
QVariant::Type | getQVariantType (const QString &field) const |
QVariant::Type | getQVariantType (int column) const |
QString | getCoolTypeString (const QModelIndex &index) const |
RootFolderTableItem * | getRootTableItem () const |
void | setDefaultCopyRow (int row) |
QList< int > | filter (FilterFunction0 f, bool inverse, bool allChannels=true, int rowStartPos=-1, int rowEndPos=-1) |
QList< int > | filter_mres (bool inverse=true) |
int | filter_mre_singleChannel (int row) |
bool | filter_mre (int row) |
QList< FolderTableItem * > | _updateValidityKeys (QList< FolderTableItem * > newTableItems) |
bool | commit () |
bool | isNewRow (int row) const |
DisplayAsMask | getDisplayAsMask (int column) const |
ColumnResponse | getColumnResponse (int column) const |
bool | hasMask (int column) const |
void | setDisplayAsMask (const QModelIndex &index, DisplayAsMask dMask) |
QString | getInputMask (const QModelIndex &index) const |
QVariant | getMaskedData (FolderTableItem *&item, int column) const |
QValidator * | getValidator (const QModelIndex &index) const |
QValidator * | getValidator (unsigned int column) const |
void | sort (int column, Qt::SortOrder order) |
int | compare (const QModelIndex &index, QString value) |
int | compareQVariants (QVariant A, QVariant B) |
void | setFiltered (bool enabled=true) |
bool | isFiltered () const |
QSet< unsigned int > | newRowChannelIds (QList< FolderTableItem * > newTableItems=QList< FolderTableItem * >()) const |
Private Member Functions | |
void | setupFolderTableModelData (cool::ValidityKey start, cool::ValidityKey end, cool::ChannelSelection channels, QString tag) |
QVariant | qStringToQVariant (QString value, bool *ok, int column, int base=0) |
QVariant | applyMaskToQVariant (QString format, QVariant currentValue, int column, bool *ok, int fieldWidth=1, int base=10, const QChar &fillChar=QLatin1Char( ' ')) const |
Private Attributes | |
cool::IFolderPtr | coolFolderPtr |
const cool::IRecordSpecification & | payloadSpec |
bool | filtered |
RootFolderTableItem * | rootTableItem |
int | defaultCopyRow |
QString | newRowColour |
QString | modifiedColour |
QString | maskColour |
QString | filteredColour |
QHash< int, DisplayAsMask > | displayAsMaskHash |
QHash< int, ColumnResponse > | columnResponseHash |
Definition at line 27 of file foldertablemodel.h.
FolderTableModel::FolderTableModel | ( | cool::IFolderPtr | folderPtr, | |
cool::ValidityKey | start = cool::ValidityKeyMin , |
|||
cool::ValidityKey | end = cool::ValidityKeyMax , |
|||
cool::ChannelSelection | channels = cool::ChannelSelection() , |
|||
QString | tag = "" , |
|||
QObject * | parent = 0 | |||
) |
Definition at line 17 of file foldertablemodel.cpp.
References columnResponseHash, confirmResponse, datetimeMask, defaultCopyRow, displayAsMaskHash, filteredColour, hexMask, maskColour, modifiedColour, newRowColour, readonlyResponse, rowCount(), and setupFolderTableModelData().
FolderTableModel::~FolderTableModel | ( | ) |
QVariant FolderTableModel::data | ( | const QModelIndex & | index, | |
int | role = Qt::DisplayRole | |||
) | const |
Definition at line 817 of file foldertablemodel.cpp.
References filteredColour, getCoolTypeString(), getMaskedData(), hasMask(), isFiltered(), FolderTableItem::isNew(), maskColour, and newRowColour.
Referenced by FilterEntry::filter_Date(), filter_mre_singleChannel(), FilterEntry::filter_nonDate(), and FolderTableDelegate::setEditorData().
QVariant FolderTableModel::rawData | ( | const QModelIndex & | index | ) | const |
Definition at line 853 of file foldertablemodel.cpp.
References FolderTableItem::data().
Referenced by compare(), FilterEntry::filter_nonDate(), and FolderTableDelegate::setEditorData().
QVariant FolderTableModel::headerData | ( | int | section, | |
Qt::Orientation | orientation = Qt::Horizontal , |
|||
int | role = Qt::DisplayRole | |||
) | const |
Definition at line 90 of file foldertablemodel.cpp.
References RootFolderTableItem::header(), and rootTableItem.
Referenced by FilterBuilder::fillColumn().
QModelIndex FolderTableModel::index | ( | int | row, | |
int | column, | |||
const QModelIndex & | parent = QModelIndex() | |||
) | const |
Definition at line 98 of file foldertablemodel.cpp.
References RootFolderTableItem::child(), and rootTableItem.
Referenced by _updateValidityKeys(), FilterBuilder::applyFilter(), canSetDisplayAsMask(), and setData().
QModelIndex FolderTableModel::parent | ( | const QModelIndex & | index | ) | const |
Definition at line 118 of file foldertablemodel.cpp.
int FolderTableModel::rowCount | ( | const QModelIndex & | parent = QModelIndex() |
) | const |
Definition at line 71 of file foldertablemodel.cpp.
References RootFolderTableItem::childCount(), and rootTableItem.
Referenced by FilterBuilder::applyFilter(), filter(), FolderTableModel(), setDefaultCopyRow(), FolderTableView::showAllRows(), and FolderTableView::slotNewRow().
int FolderTableModel::columnCount | ( | const QModelIndex & | parent = QModelIndex() |
) | const |
Definition at line 82 of file foldertablemodel.cpp.
References RootFolderTableItem::columnCount(), and rootTableItem.
Referenced by FilterBuilder::fillColumn(), getQVariantType(), and setDisplayAsMask().
Qt::ItemFlags FolderTableModel::flags | ( | const QModelIndex & | index | ) | const |
Definition at line 61 of file foldertablemodel.cpp.
References columnResponseHash, noResponse, and readonlyResponse.
Referenced by FolderTableView::contextMenuEvent(), and setData().
bool FolderTableModel::setData | ( | const QModelIndex & | index, | |
const QVariant & | value, | |||
int | role = Qt::EditRole | |||
) |
Definition at line 653 of file foldertablemodel.cpp.
References blobMask, clobMask, datetimeMask, decMask, getDisplayAsMask(), hexMask, noMask, octMask, qStringToQVariant(), and FolderTableItem::setData().
Referenced by _updateValidityKeys(), setData(), FolderTableDelegate::setModelData(), and FolderTableView::slotFillCells().
void FolderTableModel::setData | ( | const QModelIndexList & | indexList, | |
const QVariant & | value, | |||
int | role = Qt::EditRole | |||
) |
Definition at line 641 of file foldertablemodel.cpp.
References flags(), index(), and setData().
bool FolderTableModel::canSetDisplayAsMask | ( | const QModelIndex & | index | ) | const |
Definition at line 900 of file foldertablemodel.cpp.
Referenced by canSetDisplayAsMask(), and FolderTableView::contextMenuEvent().
bool FolderTableModel::canSetDisplayAsMask | ( | const QModelIndexList & | indexList | ) | const |
Definition at line 907 of file foldertablemodel.cpp.
References canSetDisplayAsMask(), and index().
bool FolderTableModel::setHeaderData | ( | int | section, | |
Qt::Orientation | orientation, | |||
const QVariant & | value, | |||
int | role = Qt::EditRole | |||
) |
Definition at line 207 of file foldertablemodel.cpp.
bool FolderTableModel::removeRows | ( | int | row, | |
int | count = 1 , |
|||
const QModelIndex & | parent = QModelIndex() | |||
) |
Definition at line 216 of file foldertablemodel.cpp.
References RootFolderTableItem::anyNew(), RootFolderTableItem::child(), modelChanged(), RootFolderTableItem::removeChildAt(), and rootTableItem.
Referenced by FolderTableView::slotRemove().
bool FolderTableModel::insertRows | ( | int | row, | |
int | count = 1 , |
|||
const QModelIndex & | parent = QModelIndex() | |||
) |
Definition at line 245 of file foldertablemodel.cpp.
References RootFolderTableItem::child(), FolderTableItem::data(), defaultCopyRow, FolderTableItem::FolderTableItem(), RootFolderTableItem::insertChild(), modelChanged(), rootTableItem, FolderTableItem::setClonedSourceItem(), and FolderTableItem::setData().
Referenced by FolderTableView::slotNewRow().
QVariant::Type FolderTableModel::getQVariantType | ( | const std::string & | coolType | ) | const |
Definition at line 272 of file foldertablemodel.cpp.
Referenced by applyMaskToQVariant(), getValidator(), qStringToQVariant(), setupFolderTableModelData(), and FolderTableView::slotFillCells().
QVariant::Type FolderTableModel::getQVariantType | ( | const QModelIndex & | index | ) | const |
Definition at line 313 of file foldertablemodel.cpp.
References RootFolderTableItem::headerType(), and rootTableItem.
QVariant::Type FolderTableModel::getQVariantType | ( | const QString & | field | ) | const |
Definition at line 321 of file foldertablemodel.cpp.
References RootFolderTableItem::headerPos(), RootFolderTableItem::headerType(), and rootTableItem.
QVariant::Type FolderTableModel::getQVariantType | ( | int | column | ) | const |
Definition at line 332 of file foldertablemodel.cpp.
References columnCount(), RootFolderTableItem::headerType(), and rootTableItem.
QString FolderTableModel::getCoolTypeString | ( | const QModelIndex & | index | ) | const |
Definition at line 340 of file foldertablemodel.cpp.
References RootFolderTableItem::headerType(), and rootTableItem.
Referenced by FolderTableDelegate::createEditor(), data(), FolderTableDelegate::setEditorData(), and FolderTableDelegate::setModelData().
RootFolderTableItem * FolderTableModel::getRootTableItem | ( | ) | const |
Definition at line 348 of file foldertablemodel.cpp.
References rootTableItem.
Referenced by _updateValidityKeys(), FilterBuilder::applyFilter(), FolderTableDockWidget::closeEvent(), MainWindow::commitAll(), filter(), filter_mre(), filter_mre_singleChannel(), FolderTableView::setRowsHidden(), FolderTableView::showAllRows(), MainWindow::slotCheckButtons(), FolderTableView::slotNewRow(), and FolderTableView::testSelection().
void FolderTableModel::setDefaultCopyRow | ( | int | row | ) |
Definition at line 353 of file foldertablemodel.cpp.
References defaultCopyRow, and rowCount().
Referenced by FolderTableView::slotNewRow().
QList< int > FolderTableModel::filter | ( | FilterFunction0 | f, | |
bool | inverse, | |||
bool | allChannels = true , |
|||
int | rowStartPos = -1 , |
|||
int | rowEndPos = -1 | |||
) |
Definition at line 362 of file foldertablemodel.cpp.
References RootFolderTableItem::child(), FolderTableItem::getChannelId(), getRootTableItem(), and rowCount().
Referenced by filter_mre_singleChannel(), and filter_mres().
QList< int > FolderTableModel::filter_mres | ( | bool | inverse = true |
) |
Definition at line 411 of file foldertablemodel.cpp.
References filter(), and filter_mre().
int FolderTableModel::filter_mre_singleChannel | ( | int | row | ) |
Definition at line 423 of file foldertablemodel.cpp.
References RootFolderTableItem::child(), data(), filter(), filter_mre(), and getRootTableItem().
Referenced by _updateValidityKeys().
bool FolderTableModel::filter_mre | ( | int | row | ) |
Definition at line 417 of file foldertablemodel.cpp.
References RootFolderTableItem::child(), FolderTableItem::data(), and getRootTableItem().
Referenced by filter_mre_singleChannel(), and filter_mres().
QList< FolderTableItem * > FolderTableModel::_updateValidityKeys | ( | QList< FolderTableItem * > | newTableItems | ) |
Definition at line 442 of file foldertablemodel.cpp.
References FolderTableItem::data(), filter_mre_singleChannel(), RootFolderTableItem::find(), FolderTableItem::getChannelId(), FolderTableItem::getClonedSourceItem(), getRootTableItem(), index(), FolderTableItem::row(), and setData().
Referenced by commit().
bool FolderTableModel::commit | ( | ) |
Definition at line 475 of file foldertablemodel.cpp.
References _updateValidityKeys(), RootFolderTableItem::columnCount(), coolFolderPtr, FolderTableItem::data(), FolderTableItem::getChannelId(), RootFolderTableItem::header(), RootFolderTableItem::headerType(), modelChanged(), FolderTableItem::newItem, RootFolderTableItem::newItems(), payloadSpec, rootTableItem, FolderTableItem::setData(), and FolderTableItem::setOld().
Referenced by FolderTableDockWidget::closeEvent(), MainWindow::commitAll(), FolderTableView::slotCommit(), and MainWindow::slotFolderCommit().
bool FolderTableModel::isNewRow | ( | int | row | ) | const |
Definition at line 618 of file foldertablemodel.cpp.
References RootFolderTableItem::child(), FolderTableItem::isNew(), and rootTableItem.
Referenced by FolderTableDelegate::createEditor(), and FolderTableView::testSelection().
DisplayAsMask FolderTableModel::getDisplayAsMask | ( | int | column | ) | const |
Definition at line 859 of file foldertablemodel.cpp.
References displayAsMaskHash, and noMask.
Referenced by compare(), FolderTableView::contextMenuEvent(), FilterEntry::filter_nonDate(), getMaskedData(), getValidator(), setData(), setupFolderTableModelData(), and FilterEntry::slotSelectColumn().
ColumnResponse FolderTableModel::getColumnResponse | ( | int | column | ) | const |
Definition at line 864 of file foldertablemodel.cpp.
References columnResponseHash, and noResponse.
Referenced by FolderTableDelegate::createEditor().
bool FolderTableModel::hasMask | ( | int | column | ) | const |
Definition at line 870 of file foldertablemodel.cpp.
References displayAsMaskHash.
Referenced by data().
void FolderTableModel::setDisplayAsMask | ( | const QModelIndex & | index, | |
DisplayAsMask | dMask | |||
) |
Definition at line 875 of file foldertablemodel.cpp.
References RootFolderTableItem::childCount(), columnCount(), displayAsMaskHash, noMask, and rootTableItem.
Referenced by FolderTableView::slotDisplayAs_Remove(), FolderTableView::slotDisplayAsDateTime(), FolderTableView::slotDisplayAsDec(), FolderTableView::slotDisplayAsHex(), and FolderTableView::slotDisplayAsOct().
QString FolderTableModel::getInputMask | ( | const QModelIndex & | index | ) | const |
Definition at line 1000 of file foldertablemodel.cpp.
Referenced by FolderTableDelegate::createEditor().
QVariant FolderTableModel::getMaskedData | ( | FolderTableItem *& | item, | |
int | column | |||
) | const |
Definition at line 766 of file foldertablemodel.cpp.
References applyMaskToQVariant(), blobMask, clobMask, FolderTableItem::data(), datetimeMask, decMask, getDisplayAsMask(), hexMask, noMask, and octMask.
Referenced by data().
QValidator * FolderTableModel::getValidator | ( | const QModelIndex & | index | ) | const |
Definition at line 1005 of file foldertablemodel.cpp.
Referenced by FolderTableDelegate::createEditor().
QValidator * FolderTableModel::getValidator | ( | unsigned int | column | ) | const |
Definition at line 1010 of file foldertablemodel.cpp.
References blobMask, clobMask, datetimeMask, decMask, getDisplayAsMask(), getQVariantType(), RootFolderTableItem::headerType(), hexMask, noMask, octMask, and rootTableItem.
void FolderTableModel::sort | ( | int | column, | |
Qt::SortOrder | order = Qt::AscendingOrder | |||
) |
Definition at line 1095 of file foldertablemodel.cpp.
References rootTableItem, and RootFolderTableItem::sort().
int FolderTableModel::compare | ( | const QModelIndex & | index, | |
QString | value | |||
) |
Definition at line 1102 of file foldertablemodel.cpp.
References blobMask, clobMask, compareQVariants(), decMask, getDisplayAsMask(), hexMask, octMask, qStringToQVariant(), and rawData().
Referenced by FilterEntry::filter_nonDate().
int FolderTableModel::compareQVariants | ( | QVariant | A, | |
QVariant | B | |||
) |
void FolderTableModel::setFiltered | ( | bool | enabled = true |
) |
Definition at line 1193 of file foldertablemodel.cpp.
References filtered.
Referenced by FolderTableView::showAllRows(), and FolderTableView::slotApplyFilter().
bool FolderTableModel::isFiltered | ( | ) | const |
Definition at line 1198 of file foldertablemodel.cpp.
References filtered.
Referenced by data(), FolderTableView::enableSorting(), and FilterBuilder::slotUpdateTableView().
QSet< unsigned int > FolderTableModel::newRowChannelIds | ( | QList< FolderTableItem * > | newTableItems = QList< FolderTableItem* >() |
) | const |
Definition at line 627 of file foldertablemodel.cpp.
References FolderTableItem::getChannelId(), RootFolderTableItem::newItems(), and rootTableItem.
Referenced by FolderTableView::slotNewRow().
void FolderTableModel::setupFolderTableModelData | ( | cool::ValidityKey | start, | |
cool::ValidityKey | end, | |||
cool::ChannelSelection | channels, | |||
QString | tag | |||
) | [private] |
Definition at line 124 of file foldertablemodel.cpp.
References RootFolderTableItem::appendChild(), blobMask, clobMask, coolFolderPtr, decMask, displayAsMaskHash, FolderTableItem::FolderTableItem(), getDisplayAsMask(), getQVariantType(), payloadSpec, qStringToQVariant(), FolderTableItem::RootFolderTableItem, and rootTableItem.
Referenced by FolderTableModel().
QVariant FolderTableModel::qStringToQVariant | ( | QString | value, | |
bool * | ok, | |||
int | column, | |||
int | base = 0 | |||
) | [private] |
Definition at line 917 of file foldertablemodel.cpp.
References getQVariantType().
Referenced by compare(), setData(), and setupFolderTableModelData().
QVariant FolderTableModel::applyMaskToQVariant | ( | QString | format, | |
QVariant | currentValue, | |||
int | column, | |||
bool * | ok, | |||
int | fieldWidth = 1 , |
|||
int | base = 10 , |
|||
const QChar & | fillChar = QLatin1Char( ' ' ) | |||
) | const [private] |
Definition at line 966 of file foldertablemodel.cpp.
References getQVariantType().
Referenced by getMaskedData().
void FolderTableModel::modelChanged | ( | const FolderTableModel * | thisModel, | |
const bool | changed | |||
) | [signal] |
Referenced by commit(), insertRows(), and removeRows().
cool::IFolderPtr FolderTableModel::coolFolderPtr [private] |
Definition at line 81 of file foldertablemodel.h.
Referenced by commit(), and setupFolderTableModelData().
const cool::IRecordSpecification& FolderTableModel::payloadSpec [private] |
Definition at line 82 of file foldertablemodel.h.
Referenced by commit(), and setupFolderTableModelData().
bool FolderTableModel::filtered [private] |
Definition at line 84 of file foldertablemodel.h.
Referenced by columnCount(), commit(), getCoolTypeString(), getQVariantType(), getRootTableItem(), getValidator(), headerData(), index(), insertRows(), isNewRow(), newRowChannelIds(), removeRows(), rowCount(), setDisplayAsMask(), setupFolderTableModelData(), sort(), and ~FolderTableModel().
int FolderTableModel::defaultCopyRow [private] |
Definition at line 85 of file foldertablemodel.h.
Referenced by FolderTableModel(), insertRows(), and setDefaultCopyRow().
QString FolderTableModel::newRowColour [private] |
QString FolderTableModel::modifiedColour [private] |
QString FolderTableModel::maskColour [private] |
QString FolderTableModel::filteredColour [private] |
QHash< int, DisplayAsMask > FolderTableModel::displayAsMaskHash [private] |
Definition at line 87 of file foldertablemodel.h.
Referenced by FolderTableModel(), getDisplayAsMask(), hasMask(), setDisplayAsMask(), and setupFolderTableModelData().
QHash< int, ColumnResponse > FolderTableModel::columnResponseHash [private] |
Definition at line 88 of file foldertablemodel.h.
Referenced by flags(), FolderTableModel(), and getColumnResponse().