Class: ProgrammeTableWidget
- Inherits:
-
Qt::TableWidget
- Object
- Qt::TableWidget
- ProgrammeTableWidget
- Defined in:
- lib/programmewin.rb
Overview
Defined Under Namespace
Constant Summary collapse
- GroupName =
"ProgrammeTable"
Instance Method Summary collapse
-
#[](row) ⇒ Object
return Programme object.
- #addEntry(row, title, categories, updated, content, link) ⇒ Object
- #filterChanged(text) ⇒ Object
-
#initialize ⇒ ProgrammeTableWidget
constructor
————————————————————————.
- #readSettings ⇒ Object
- #writeSettings ⇒ Object
Constructor Details
#initialize ⇒ ProgrammeTableWidget
48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
# File 'lib/programmewin.rb', line 48 def initialize() super(0, 3) setHorizontalHeaderLabels(['Title', 'Category', 'Updated']) self.horizontalHeader.stretchLastSection = true self.selectionBehavior = Qt::AbstractItemView::SelectRows self.alternatingRowColors = true self.sortingEnabled = true sortByColumn(2, Qt::DescendingOrder ) # Hash table : key column_0_item => Programme entry. @table = Hash.new end |
Instance Method Details
#[](row) ⇒ Object
return Programme object.
72 73 74 |
# File 'lib/programmewin.rb', line 72 def [](row) @table[item(row,0)] end |
#addEntry(row, title, categories, updated, content, link) ⇒ Object
63 64 65 66 67 68 69 |
# File 'lib/programmewin.rb', line 63 def addEntry( row, title, categories, updated, content, link ) entry = Programme.new(title, categories, updated, content, link) setItem( row, 0, entry.titleItem ) setItem( row, 1, entry.categoriesItem ) setItem( row, 2, entry.updatedItem ) @table[entry.titleItem] = entry end |
#filterChanged(text) ⇒ Object
82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 |
# File 'lib/programmewin.rb', line 82 def filterChanged(text) return unless text regxs = text.split(/[,\s]+/).map do |w| /#{Regexp.escape(w.strip)}/i end rowCount.times do |r| i0 = item(r,0) i1 = item(r,1) i2 = item(r,2) txt = ((i0 && i0.text) || '') + ((i1 && i1.text) || '') + ((i2 && i2.text) || '') if regxs.all? do |rx| rx =~ txt end then showRow(r) else hideRow(r) end end end |
#readSettings ⇒ Object
107 108 109 110 |
# File 'lib/programmewin.rb', line 107 def readSettings config = $config.group(GroupName) horizontalHeader.restoreState(config.readEntry('Header', horizontalHeader.saveState)) end |
#writeSettings ⇒ Object
102 103 104 105 |
# File 'lib/programmewin.rb', line 102 def writeSettings config = $config.group(GroupName) config.writeEntry('Header', horizontalHeader.saveState) end |