Changes between Version 4 and Version 5 of TEXT_MODEL_REDESIGN
- Timestamp:
- 03/22/10 17:46:24 (15 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
TEXT_MODEL_REDESIGN
v4 v5 7 7 == Overview == 8 8 This task is result from the merge of #2370 ([wiki:HOT_TEXT_INTERNAL]) and #2344 ([wiki:TEXT_LAYOUT_COMMONS]). This is needed because the tasks are too connected to each other. 9 * The existing stable poses in the sophie text are not easy to work with and require working with text history which is not cheap and fast enough. This task should remove the stable poses from the text. 10 * The current Hot Layout has several important issues: 11 * It is not known how will hyphenation be integrated with it; 12 * Spell check underlining is not currently possible; 13 * Text links cannot have foreground color; 14 * Pressing "Tab" inserts 4 spaces, instead of a real tab; 15 * Performance issues - Segment layouts could not be cached, which means that their redrawing is very slow. 9 16 10 17 == Task requirements == 11 ^(List the necessary requirements that the task must fulfill.)^ 18 19 * Remove the HotPos class 20 * Remove most of the ImmHotText existing code. Keep the recent text functionality and improve the code quality. 21 * Modify the layout basics, so that 22 * Tab will be functional; 23 * Future features (hyphenation, spell check, links foreground) will be achievable; 24 * Performance will not degrade. If possible, it should be improved. 25 * In the design section, describe: 26 * What changes will be made to the layout mechanism; 27 * What causes theses changes, what will the effect be; 28 * In the implementation, describe: 29 * Implementation idea for hyphenation; 30 * Implementation idea for spell check and foreground highlighting. 12 31 13 32 == Task result == 14 ^(List the end product of the task (for example "Source code", "Wiki page", etc.))^ 33 34 The result should be code. 15 35 16 36 == Implementation idea == 17 ^(Provide some rough implementation idea(s).)^ 37 * Remove HotPos class(the stable poses) and replace them with unstable text indexes. 38 * Keep the text styles in every text unit. 39 * Drop TextLayout, LineBreakMeasurer and AttributedCharacterIterator - use Font instead. This will allow deleting of most of the HotSegmentLayout contents. Several utility methods will also be deleted. Hooray :) 18 40 19 41 == Related == … … 21 43 22 44 == How to demo == 23 ^(Provide instructions for demonstration of the task.)^ 45 * Run all the text related tests in sophie. 46 * Play around with a text frame - show affine transforms, wrapping modes, chaining, navigation, etc. 24 47 25 48 = Design =