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>
This commit is contained in:
parent
94ce2814e9
commit
8f4246a522
7 changed files with 74 additions and 4 deletions
|
|
@ -14,6 +14,7 @@ PYSIDE_TEST(missing_symbols_test.py)
|
|||
PYSIDE_TEST(paint_event_test.py)
|
||||
PYSIDE_TEST(parent_method_test.py)
|
||||
PYSIDE_TEST(python_properties_test.py)
|
||||
PYSIDE_TEST(qabstracttextdocumentlayout_test.py)
|
||||
PYSIDE_TEST(qapplication_exit_segfault_test.py)
|
||||
PYSIDE_TEST(qapplication_singleton_test.py)
|
||||
PYSIDE_TEST(qapp_test.py)
|
||||
|
|
|
|||
46
tests/QtGui/qabstracttextdocumentlayout_test.py
Normal file
46
tests/QtGui/qabstracttextdocumentlayout_test.py
Normal file
|
|
@ -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()
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue