git://git.onelab.eu
/
sface.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
5c18c5b
)
rspecview: html is now in now in the delegate for good. TODO: get rid of the up-left...
author
Giovanni Gherdovich
<ggherdov@brentaal.inria.fr>
Thu, 14 Oct 2010 16:41:46 +0000
(18:41 +0200)
committer
Giovanni Gherdovich
<ggherdov@brentaal.inria.fr>
Thu, 14 Oct 2010 16:41:46 +0000
(18:41 +0200)
sface/xmlwidget.py
patch
|
blob
|
history
diff --git
a/sface/xmlwidget.py
b/sface/xmlwidget.py
index
34578df
..
a6c36b3
100644
(file)
--- a/
sface/xmlwidget.py
+++ b/
sface/xmlwidget.py
@@
-8,6
+8,19
@@
from PyQt4.QtXml import *
from sface.config import config
from sface.screens.sfascreen import SfaScreen
from sface.config import config
from sface.screens.sfascreen import SfaScreen
+def QVarMapAccess(qv, key):
+ # helper function. qv is a dict wrapped into a QVariant
+ print 10*'='
+ print "DICT:", qv.toMap()
+ if len(qv.toMap().keys()) == 0:
+ print "EMPTY!"
+ import traceback
+ traceback.print_stack()
+ return None
+ else:
+ return qv.toMap()[QString(key)].toString()
+
+
class DomModel(QAbstractItemModel):
def __init__(self, document, parent = 0):
QAbstractItemModel.__init__(self, parent)
class DomModel(QAbstractItemModel):
def __init__(self, document, parent = 0):
QAbstractItemModel.__init__(self, parent)
@@
-40,42
+53,58
@@
class DomModel(QAbstractItemModel):
elem = ' %s="%s"' % (attr.nodeName(), attr.nodeValue())
qslist.append(elem)
ElemNameAndAtts = '%s%s'% (node.nodeName(), qslist.join(' '))
elem = ' %s="%s"' % (attr.nodeName(), attr.nodeValue())
qslist.append(elem)
ElemNameAndAtts = '%s%s'% (node.nodeName(), qslist.join(' '))
+ print "1"
return QVariant(
return QVariant(
- {
QString('nodeType')
:QVariant(QString('element')),
-
QString('content')
:ElemNameAndAtts})
+ {
'nodeType'
:QVariant(QString('element')),
+
'content'
:ElemNameAndAtts})
elif node.nodeType() == QDomNode.AttributeNode:
elif node.nodeType() == QDomNode.AttributeNode:
+ print "2"
return QVariant()
elif node.nodeType() == QDomNode.TextNode:
return QVariant()
elif node.nodeType() == QDomNode.TextNode:
+ print "3"
return QVariant(
return QVariant(
- {
QString('nodeType')
:QVariant(QString('text')),
-
QString('content')
:node.nodeValue()})
+ {
'nodeType'
:QVariant(QString('text')),
+
'content'
:node.nodeValue()})
elif node.nodeType() == QDomNode.CDATASectionNode:
elif node.nodeType() == QDomNode.CDATASectionNode:
+ print "4"
return QString('unsupported node type')
elif node.nodeType() == QDomNode.EntityReferenceNode:
return QString('unsupported node type')
elif node.nodeType() == QDomNode.EntityReferenceNode:
+ print "5"
return QString('unsupported node type')
elif node.nodeType() == QDomNode.EntityNode:
return QString('unsupported node type')
elif node.nodeType() == QDomNode.EntityNode:
+ print "6"
return QString('unsupported node type')
elif node.nodeType() == QDomNode.ProcessingInstructionNode:
return QString('unsupported node type')
elif node.nodeType() == QDomNode.ProcessingInstructionNode:
+ print "7"
return QVariant()
elif node.nodeType() == QDomNode.CommentNode:
return QVariant()
elif node.nodeType() == QDomNode.CommentNode:
+ print "8"
return QVariant(
return QVariant(
- {
QString('nodeType')
:QVariant(QString('comment')),
-
QString('content')
:node.nodeValue()})
+ {
'nodeType'
:QVariant(QString('comment')),
+
'content'
:node.nodeValue()})
elif node.nodeType() == QDomNode.DocumentNode:
elif node.nodeType() == QDomNode.DocumentNode:
+ print "9"
return QString('unsupported node type')
elif node.nodeType() == QDomNode.DocumentTypeNode:
return QString('unsupported node type')
elif node.nodeType() == QDomNode.DocumentTypeNode:
+ print "10"
return QString('unsupported node type')
elif node.nodeType() == QDomNode.DocumentFragmentNode:
return QString('unsupported node type')
elif node.nodeType() == QDomNode.DocumentFragmentNode:
+ print "12"
return QString('unsupported node type')
elif node.nodeType() == QDomNode.NotationNode:
return QString('unsupported node type')
elif node.nodeType() == QDomNode.NotationNode:
+ print "13"
return QString('unsupported node type')
elif node.nodeType() == QDomNode.BaseNode:
return QString('unsupported node type')
elif node.nodeType() == QDomNode.BaseNode:
+ print "14"
return QString('unsupported node type')
elif node.nodeType() == QDomNode.CharacterDataNode:
return QString('unsupported node type')
elif node.nodeType() == QDomNode.CharacterDataNode:
+ print "15"
return QString('unsupported node type')
else:
return QString('unsupported node type')
else:
+ print "16"
return QVariant()
else:
return QVariant()
else:
+ print "17"
return QVariant()
def flags(self, index):
return QVariant()
def flags(self, index):
@@
-225,12
+254,11
@@
class XmlDelegate(QItemDelegate):
del self.delegates[nodeType]
def paint(self, painter, option, index):
del self.delegates[nodeType]
def paint(self, painter, option, index):
- QVarMapAccess = lambda qv, key: qv.toMap()[QString(key)].toString()
+ print "ASKING FOR DATA"
dataAsQVarMap = index.model().data(index)
dataAsQVarMap = index.model().data(index)
+ print "GOT DATA"
nodeType = str(QVarMapAccess(dataAsQVarMap, 'nodeType'))
delegate = self.delegates.get(nodeType)
nodeType = str(QVarMapAccess(dataAsQVarMap, 'nodeType'))
delegate = self.delegates.get(nodeType)
- print "WTF IS THIS TYPE:", type(index.model().data(index))
- print "NODE TYPE:", nodeType
#print "DELEGS DICT:", self.delegates
#print "NODETYPE:", nodeType.toString()
if delegate is not None:
#print "DELEGS DICT:", self.delegates
#print "NODETYPE:", nodeType.toString()
if delegate is not None:
@@
-239,7
+267,7
@@
class XmlDelegate(QItemDelegate):
else:
#print "ELSE BRANCH"
# not sure this will ever work. this delegate
else:
#print "ELSE BRANCH"
# not sure this will ever work. this delegate
- # doesn't know about my Q
Object
strategy.
+ # doesn't know about my Q
Map
strategy.
QItemDelegate.paint(self, painter, option, index)
# def sizeHint(self, option, index):
QItemDelegate.paint(self, painter, option, index)
# def sizeHint(self, option, index):
@@
-287,7
+315,6
@@
class ElemNodeDelegate(QAbstractItemDelegate):
return html
def colorize(color, text):
return '<font color=' + color + '>' + text + '</font>'
return html
def colorize(color, text):
return '<font color=' + color + '>' + text + '</font>'
- QVarMapAccess = lambda qv, key: qv.toMap()[QString(key)].toString()
dataAsQVarMap = index.model().data(index)
text = str(QVarMapAccess(dataAsQVarMap, 'content'))
if option.state & QStyle.State_Selected:
dataAsQVarMap = index.model().data(index)
text = str(QVarMapAccess(dataAsQVarMap, 'content'))
if option.state & QStyle.State_Selected:
@@
-318,7
+345,6
@@
class TextNodeDelegate(QAbstractItemDelegate):
return '<pre>' + text + '</pre'
def colorize(color, text):
return '<font color=' + color + '>' + text + '</font>'
return '<pre>' + text + '</pre'
def colorize(color, text):
return '<font color=' + color + '>' + text + '</font>'
- QVarMapAccess = lambda qv, key: qv.toMap()[QString(key)].toString()
dataAsQVarMap = index.model().data(index)
text = str(QVarMapAccess(dataAsQVarMap, 'content'))
if option.state & QStyle.State_Selected:
dataAsQVarMap = index.model().data(index)
text = str(QVarMapAccess(dataAsQVarMap, 'content'))
if option.state & QStyle.State_Selected: