aboutsummaryrefslogtreecommitdiffstats
path: root/tests/QtGui/qabstracttextdocumentlayout_test.py
diff options
context:
space:
mode:
authorHugo Parente Lima <hugo.pl@gmail.com>2010-09-01 20:58:41 -0300
committerHugo Parente Lima <hugo.pl@gmail.com>2010-09-02 15:07:59 -0300
commit8f4246a522aa02c9e1d7e44ab6a18d13075d53b9 (patch)
tree34e4551d31960708e3850ca03f8231211dd3fcd3 /tests/QtGui/qabstracttextdocumentlayout_test.py
parent94ce2814e9a3709ab7d60f3acee6576fe9476b1d (diff)
Fix bug#125 - "QAbstractTextDocumentLayout.registerHandler apparently not working"
Added class QPyTextObject which inherits from QObject and QTextObjectInterface to solve the issue with registerHandler, the same approach used by PyQt. Reviewer: Luciano Wolf <luciano.wolf@openbossa.org> Renato Araújo <renato.filho@openbossa.org>
Diffstat (limited to 'tests/QtGui/qabstracttextdocumentlayout_test.py')
-rw-r--r--tests/QtGui/qabstracttextdocumentlayout_test.py46
1 files changed, 46 insertions, 0 deletions
diff --git a/tests/QtGui/qabstracttextdocumentlayout_test.py b/tests/QtGui/qabstracttextdocumentlayout_test.py
new file mode 100644
index 000000000..e3fe40e31
--- /dev/null
+++ b/tests/QtGui/qabstracttextdocumentlayout_test.py
@@ -0,0 +1,46 @@
+import unittest
+import colorsys
+
+from PySide.QtCore import *
+from PySide.QtGui import *
+from helper import UsesQApplication
+
+class Foo(QPyTextObject):
+ called = False
+
+ def intrinsicSize(self, doc, posInDocument, format):
+ Foo.called = True
+ return QSizeF(10, 10)
+
+ def drawObject(self, painter, rect, doc, posInDocument, format):
+ pass
+
+class QAbstractTextDocumentLayoutTest(UsesQApplication):
+
+ objectType = QTextFormat.UserObject + 1
+
+ def foo(self):
+ fmt = QTextCharFormat()
+ fmt.setObjectType(QAbstractTextDocumentLayoutTest.objectType)
+
+ cursor = self.textEdit.textCursor()
+ cursor.insertText(unichr(0xfffc), fmt)
+ self.textEdit.setTextCursor(cursor)
+ self.textEdit.close()
+
+ def testIt(self):
+
+ self.textEdit = QTextEdit()
+ self.textEdit.show()
+
+ interface = Foo()
+ self.textEdit.document().documentLayout().registerHandler(QAbstractTextDocumentLayoutTest.objectType, interface)
+
+ QTimer.singleShot(0, self.foo)
+ self.app.exec_()
+
+ self.assertTrue(Foo.called)
+
+if __name__ == "__main__":
+ unittest.main()
+