class XbelHandler
Public Class Methods
new(treeWidget)
click to toggle source
Calls superclass method
# File examples/xml/saxbookmarks/xbelhandler.rb, line 30 def initialize(treeWidget) super() @treeWidget = treeWidget @item = nil @metXbelTag = false @currentText = "" style = @treeWidget.style() @folderIcon = Qt::Icon.new @folderIcon.addPixmap(style.standardPixmap(Qt::Style::SP_DirClosedIcon), Qt::Icon::Normal, Qt::Icon::Off) @folderIcon.addPixmap(style.standardPixmap(Qt::Style::SP_DirOpenIcon), Qt::Icon::Normal, Qt::Icon::On) @bookmarkIcon = Qt::Icon.new @bookmarkIcon.addPixmap(style.standardPixmap(Qt::Style::SP_FileIcon)) end
Public Instance Methods
characters(str)
click to toggle source
# File examples/xml/saxbookmarks/xbelhandler.rb, line 97 def characters(str) @currentText += str return true end
createChildItem(tagName)
click to toggle source
# File examples/xml/saxbookmarks/xbelhandler.rb, line 113 def createChildItem(tagName) if !@item.nil? childItem = Qt::TreeWidgetItem.new(@item, Qt::TreeWidgetItem::Type) else childItem = Qt::TreeWidgetItem.new(@treeWidget) end childItem.setData(0, Qt::UserRole, Qt::Variant.new(tagName)) return childItem end
endElement(namespaceURI, localName, qName)
click to toggle source
# File examples/xml/saxbookmarks/xbelhandler.rb, line 85 def endElement(namespaceURI, localName, qName) if qName == "title" if !@item.nil? @item.setText(0, @currentText) end elsif qName == "folder" || qName == "bookmark" || qName == "separator" @item = @item.parent() end return true end
errorString()
click to toggle source
# File examples/xml/saxbookmarks/xbelhandler.rb, line 109 def errorString() return @errorStr end
fatalError(exception)
click to toggle source
# File examples/xml/saxbookmarks/xbelhandler.rb, line 102 def fatalError(exception) Qt::MessageBox.information(@treeWidget.window(), Qt::Object.tr("SAX Bookmarks"), Qt::Object::tr("Parse error at line %s, column %s:\n%s" % [exception.lineNumber, exception.columnNumber,exception.message])) return false end
startElement(namespaceURI, localName, qName, attributes)
click to toggle source
# File examples/xml/saxbookmarks/xbelhandler.rb, line 48 def startElement(namespaceURI, localName, qName, attributes) if !@metXbelTag && qName != "xbel" @errorStr = Qt::Object.tr("The file is not an XBEL file.") return false end if qName == "xbel" version = attributes.value("version") if !version.empty? && version != "1.0" @errorStr = Qt::Object.tr("The file is not an XBEL version 1.0 file.") return false end @metXbelTag = true elsif qName == "folder" @item = createChildItem(qName) @item.flags = @item.flags | Qt::ItemIsEditable.to_i @item.setIcon(0, @folderIcon) @item.setText(0, Qt::Object.tr("Folder")) folded = (attributes.value("folded") != "no") @treeWidget.setItemExpanded(@item, !folded) elsif qName == "bookmark" @item = createChildItem(qName) @item.flags = @item.flags | Qt::ItemIsEditable.to_i @item.setIcon(0, @bookmarkIcon) @item.setText(0, Qt::Object.tr("Unknown title")) @item.setText(1, attributes.value("href")) elsif qName == "separator" @item = createChildItem(qName) @item.flags = @item.flags & ~Qt::ItemIsSelectable.to_i # @item.setText(0, Qt::String(30, 0xB7)) @item.setText(0, "..............................") end @currentText = "" return true end