Mercurial > hg > Feedworm
view FeedEntryTableModel.py @ 120:e830fa1cc7a2 backend
re-enabled PreferencesDialog
author | Dirk Olmes <dirk@xanthippe.ping.de> |
---|---|
date | Sun, 21 Aug 2011 04:04:37 +0200 |
parents | a16c4e2b2c55 |
children | bb3c851b18b1 |
line wrap: on
line source
from PyQt4.QtCore import QAbstractTableModel, QVariant, Qt class TableModel(QAbstractTableModel): ''' This is the abstract super class for table models in Python. It deals with the Qt specifics so that subclasses only need to care about implementing the functionality ''' def __init__(self, *args): QAbstractTableModel.__init__(self, None, *args) def headerData(self, section, orientation, role): if orientation == Qt.Horizontal and role == Qt.DisplayRole: value = self.headerDataForColumn(section) return QVariant(value) else: return QVariant() def data(self, index, role): if not index.isValid(): return QVariant() elif role != Qt.DisplayRole: return QVariant() else: value = self.dataForRowAndColumn(index.row(), index.column()) return QVariant(value) class FeedEntryTableModel(TableModel): def __init__(self, feedEntries, *args): TableModel.__init__(self, *args) self.feedEntries = feedEntries def rowCount(self, parent): return len(self.feedEntries) def columnCount(self, parent): return 2 def dataForRowAndColumn(self, row, column): feedEntry = self.feedEntries[row] if column == 0: return feedEntry.title else: return str(feedEntry.updated) def headerDataForColumn(self, column): if column == 0: return "Title" else: return "Date"