This set of changes is to enable the capability of setting a fragment's visibility... master
authorGanesh Paramasivam <ganesh@crystalfab.com>
Fri, 8 Jan 2010 12:00:23 +0000 (17:30 +0530)
committerGanesh Paramasivam <ganesh@crystalfab.com>
Fri, 8 Jan 2010 12:00:23 +0000 (17:30 +0530)
commit5cd9e1dfd4ed89b7ee11f676047b2221e97e7bce
treed051902c287a5e8ca6405847952fae6612b65d60
parent454e87a57b6876b8db2180236082d7c7bc408a0e
This set of changes is to enable the capability of setting a fragment's visibility. If a fragment is set to invisible the fragment is skipped during the layout in QTextEngine.

This feature has been added due to the need we felt during the implementation of Change Tracking in KWord.

Three new API's has been added
- setVisible and isVisible to QTextFragment
These API's set and test the visibility status of a QTextFragment
- visibleText to QTextBlock
This API returns the visible text of the block i.e only the text that would be considered for layout.

Changes have been made in QTextEngine to skip the invisible fragments during layout.

Note: Fragment's visibility status only affects the Layout. So a find on a QTextDocument would return a cursor position *without* skipping invisible fragments.

Tests have been added to QTextLayout and QTextBlock to test and verify this functionality
src/gui/text/qtextdocument_p.h
src/gui/text/qtextengine.cpp
src/gui/text/qtextengine_p.h
src/gui/text/qtextobject.cpp
src/gui/text/qtextobject.h
tests/auto/qtextblock/tst_qtextblock.cpp
tests/auto/qtextlayout/tst_qtextlayout.cpp