alexm
32f9e35c67
When printing, position each glyph explicitly.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@19711 72102866-910b-0410-8b05-ffd578937521
2004-07-11 12:21:41 +00:00
alexm
b619ad5bb2
Calculate layout_char properly. Comment about the weird state of things.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@18861 72102866-910b-0410-8b05-ffd578937521
2004-03-22 00:17:18 +00:00
alexm
e1e0e0181e
Don't cause layout_char to wrap around when adding lengthChange.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@18842 72102866-910b-0410-8b05-ffd578937521
2004-03-13 02:22:12 +00:00
FredKiefer
0fba15f09b
More keyed decoding.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@18603 72102866-910b-0410-8b05-ffd578937521
2004-02-15 18:23:13 +00:00
FredKiefer
b827f3792f
Small drawing cleanup.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@18567 72102866-910b-0410-8b05-ffd578937521
2004-02-08 23:58:41 +00:00
alexm
eadf45d6d3
Handle the case where there is no layout information at all more efficiently.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@18474 72102866-910b-0410-8b05-ffd578937521
2004-01-25 03:20:52 +00:00
alexm
b4bf73b178
If a range of glyphs have no color attribute, use [NSColor textColor] instead of assuming black.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@18021 72102866-910b-0410-8b05-ffd578937521
2003-11-01 17:26:12 +00:00
ayers
9732999fd8
Header reorganization - Please refer to ChangeLog
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@17408 72102866-910b-0410-8b05-ffd578937521
2003-07-31 23:52:10 +00:00
CaS
9aa43eb487
Documentatikon tweaks
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@17298 72102866-910b-0410-8b05-ffd578937521
2003-07-22 16:13:46 +00:00
alexm
b0070220fa
Improve behavior of selected range adjustments when invalidating.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@17137 72102866-910b-0410-8b05-ffd578937521
2003-07-05 16:04:05 +00:00
FredKiefer
1bfa4008d8
(rectArrayForGlyphRange:...rectCount:,
...
glyphRangeForBoundingRect:inTextContainer:,
_insertionPointRectForCharacterIndex:textContainer:):
Removed compiler warning about signed/unsigned comparision.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@16986 72102866-910b-0410-8b05-ffd578937521
2003-06-21 23:25:27 +00:00
fedor
fc402789db
Include <> -> ""
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@16917 72102866-910b-0410-8b05-ffd578937521
2003-06-13 15:01:12 +00:00
alexm
77261b37c3
Fix updating of glyph counts in some rare cases. Minor cleanups.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@16408 72102866-910b-0410-8b05-ffd578937521
2003-04-10 00:08:26 +00:00
alexm
5c6debd73e
(-drawGlyphsForGlyphRange:atPoint:): Use the focused view as the control view instead of the text container's text view.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@16132 72102866-910b-0410-8b05-ffd578937521
2003-03-05 16:10:37 +00:00
alexm
70ab76af44
(-glyphRangeForBoundingRect:inTextContainer:): Fix the horizontal intersection checks.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@16075 72102866-910b-0410-8b05-ffd578937521
2003-02-26 16:11:55 +00:00
alexm
3472b110b3
Fix handling of trailing text containers when soft-invalidating.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@16073 72102866-910b-0410-8b05-ffd578937521
2003-02-25 16:40:20 +00:00
alexm
c36babfb73
(-drawBackgroundForGlyphRange:atPoint:): Check that a range has a background color before checking that there are rectangles for it.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@16061 72102866-910b-0410-8b05-ffd578937521
2003-02-24 02:54:32 +00:00
alexm
3b7974675d
Don't track the started status for a text container separately. Use num_linefrags instead.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@16048 72102866-910b-0410-8b05-ffd578937521
2003-02-23 01:01:13 +00:00
alexm
76eaa495cd
Make sure the extra line frag rect is always set when we reach the end.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@16043 72102866-910b-0410-8b05-ffd578937521
2003-02-22 01:43:11 +00:00
alexm
8a89b3a0d8
Fix clearing of soft-invalidated layout information if the invalidated range is beyond the last finished layout.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@16011 72102866-910b-0410-8b05-ffd578937521
2003-02-19 14:12:55 +00:00
alexm
3f6628092d
Fix edge case in soft invalidation.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@16002 72102866-910b-0410-8b05-ffd578937521
2003-02-18 20:26:13 +00:00
alexm
67a58cac75
Minor fix of previous commit: make sure layout is marked as incomplete even if no actual layout was invalidated.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@15998 72102866-910b-0410-8b05-ffd578937521
2003-02-18 17:24:24 +00:00
alexm
f5d30aaf97
Implement handling of soft-invalidated line frags. Soft-invalidate layout information for glyphs after an edited range in NSLayoutManager.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@15997 72102866-910b-0410-8b05-ffd578937521
2003-02-18 17:15:25 +00:00
alexm
28b8faf0b6
(-textStorage:edited:range:changeInLength:invalidatedRange:): Don't invalidate all layout on each change. Now, all layout information for glyphs before the change will be reused. (Layout for glyphs after the change is still invalidated, until I finish the soft invalidation.)
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@15993 72102866-910b-0410-8b05-ffd578937521
2003-02-18 00:35:23 +00:00
alexm
d48a4c2c3a
Optimize some important cases by using a binary search for line frags instead of a linear search. Cleanups and comments.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@15979 72102866-910b-0410-8b05-ffd578937521
2003-02-17 01:13:27 +00:00
alexm
ae5e81f662
(-glyphIndexForPoint:inTextContainer:fractionOfDistanceThroughGlyph:): Handle the case where the point is on a line, but not inside a line frag rect, better. Commenting and cleanups.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@15978 72102866-910b-0410-8b05-ffd578937521
2003-02-16 21:40:47 +00:00
alexm
5752bcdf3d
Bring back the old implementation of -rulerMarkersForTextView:paragraphStyle:ruler:.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@15976 72102866-910b-0410-8b05-ffd578937521
2003-02-16 14:54:14 +00:00
alexm
56a6fbe50d
Implement extra line fragment handling.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@15968 72102866-910b-0410-8b05-ffd578937521
2003-02-16 03:18:35 +00:00
alexm
b95e8bf3f4
Change the way the text view is told about layout invalidation. Change NSTextView to update its state as late as possible before displaying, and make sure it's updated when it's resized.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@15967 72102866-910b-0410-8b05-ffd578937521
2003-02-15 17:30:52 +00:00
alexm
becd665c33
When moving vertically, return the index of the character nearest the target horizontally.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@15958 72102866-910b-0410-8b05-ffd578937521
2003-02-14 17:00:04 +00:00
alexm
7db9b9df43
Many minor bug and behavior fixes to get the text system to work with several text containers attached to one layout manager.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@15924 72102866-910b-0410-8b05-ffd578937521
2003-02-10 14:14:34 +00:00
alexm
aad98f470b
Cleanups of old debugging code, whitespace, and error handling. Fix handling of non-nominally spaced glyphs in some cases.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@15918 72102866-910b-0410-8b05-ffd578937521
2003-02-09 20:13:16 +00:00
alexm
f5851fc4f4
Add -_didInvalidateLayout method that is called whenever any layout information has been invalidated. Use it in NSLayoutManager to resize text views.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@15915 72102866-910b-0410-8b05-ffd578937521
2003-02-09 17:05:18 +00:00
alexm
1c1ddf28cf
Rewrite insertion point movement actions properly.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@15904 72102866-910b-0410-8b05-ffd578937521
2003-02-08 16:55:51 +00:00
alexm
348690453b
Add -insertionPointRectForCharacterIndex:inTextContainer: method to NSLayoutManager and use it in NSTextView.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@15863 72102866-910b-0410-8b05-ffd578937521
2003-02-03 01:52:27 +00:00
alexm
132c6dc661
Implement text attachment handling.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@15825 72102866-910b-0410-8b05-ffd578937521
2003-01-31 21:08:24 +00:00
alexm
e1aa98ed75
Fix adjustment of selection range when entire selection is removed.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@15759 72102866-910b-0410-8b05-ffd578937521
2003-01-29 15:05:12 +00:00
alexm
eea0aebf77
Add code to adjust the selected range after every change.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@15752 72102866-910b-0410-8b05-ffd578937521
2003-01-28 21:57:22 +00:00
alexm
d51bd04211
Give better error message for an invalid glyph range.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@15746 72102866-910b-0410-8b05-ffd578937521
2003-01-28 16:44:53 +00:00
alexm
c45245dba5
Fix format string.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@15739 72102866-910b-0410-8b05-ffd578937521
2003-01-27 15:17:13 +00:00
alexm
c40ca09105
Draw background for the selected range.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@15730 72102866-910b-0410-8b05-ffd578937521
2003-01-26 23:02:55 +00:00
alexm
f7460d1d63
(-textStorage:edited:range:changeInLength:invalidatedRange:): Tell the text views to resize if their text has changed.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@15728 72102866-910b-0410-8b05-ffd578937521
2003-01-26 20:18:04 +00:00
alexm
eef5009214
(-glyphIndexForPoint:inTextContainer:fractionOfDistanceThroughGlyph:): Try harder to always return a valid glyph index.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@15727 72102866-910b-0410-8b05-ffd578937521
2003-01-26 20:10:21 +00:00
alexm
b13fd9e652
Merge in text-system-branch.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@15718 72102866-910b-0410-8b05-ffd578937521
2003-01-26 19:21:40 +00:00
CaS
1891c095af
Tidied method argument naming.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@14763 72102866-910b-0410-8b05-ffd578937521
2002-10-13 13:50:06 +00:00
pyr
9ae9ab48a3
* Source/NSText.m ([NSText -initWithCoder:]):
...
Retain the decoded background color.
* Source/NSTextView.m :
multiple location: don't ignore textContainer's inset
([NSTextView -initWithCoder:])
([NSTextView -encodeWithCoder:])
Encode caret color, textContainer's size and whether the
textContainer has widthTracksTextView or heightTracksTextView set.
([NSTextView -sizeToFit]) Change width (height) only if
is_horizontally_resizable (is_vertically_resizable).
([NSTextView -scrollRangeToVisible:]) scrolls to the first char of
the range.
([NSTextView -invalidateTextContainerOrigin]): Don't ignore inset,
set the origin so that the justification is preserved even if the
textContainer's width is larger that the textview's width.
([NSTextView -updateInsertionPointStateAndRestartTimer:]):
update and place the insertion point properly.
([NSTextView -moveDown:]) & ([NSTextView -moveUp:]):
Don't ignore inset. Make insertion point visible.
* Source/NSTextField.m ([NSTextField -acceptsFirstResponder:]):
responds NO if the editing is still in progrss.
* Source/NSLayoutManager.m
([NSLayoutManager -drawBackgroundForGlyphRange:atPoint:]):
Don't ignore textContainer's inset.
* Source/GSSimpleLayoutManager.m
Replaced [-drawLinesInLineRange:] with [-drawLinesInLineRange:atPoint:].
Replaced [-drawSelectionAsRangeNoCaret:] with
[-drawSelectionAsRangeNoCaret:atPoint:].
Those replacements make it easier to take inset into account.
([-lineFragmentUsedRectForGlyphAtIndex:effectiveRange:])
([-locationForGlyphAtIndex:])
([-boundingRectForGlyphRange:inTextContainer:])
([-rectForCharacterIndex:])
([-setNeedsDisplayForLineRange:inTextContainer:]):
Various fixes.
([-textStorage:edited:range:changeInLength:invalidatedRange:])
Update insertion point if needed (useful when alignment changes).
([-rebuildForRange:delta:inTextContainer:]):
Update layout mechanism.
* Source/NSCell.m
([NSCell -highlight:withFrame:inView:]):
Ask the control to draw the background if we are not opaque.
([NSCell -editWithFrame:inView:editor:delegate:event:]):
([NSCell -selectWithFrame:inView:editor:delegate:start:length:]):
([NSCell -endEditing:]):
instantiate (and remove) the textview so that it can be scrolled.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@14429 72102866-910b-0410-8b05-ffd578937521
2002-09-11 20:26:27 +00:00
nico
c87007f3f8
Added missing #includes
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@13442 72102866-910b-0410-8b05-ffd578937521
2002-04-11 23:17:42 +00:00
FredKiefer
e8ae30faea
Implemented extra line fragment methods.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@12857 72102866-910b-0410-8b05-ffd578937521
2002-02-27 23:35:48 +00:00
CaS
50ea9c15ca
Glyph storage and comment updates.
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@12716 72102866-910b-0410-8b05-ffd578937521
2002-02-24 07:39:18 +00:00
CaS
b5dad7bf50
More layout fixes
...
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@12608 72102866-910b-0410-8b05-ffd578937521
2002-02-20 19:39:15 +00:00