Commit graph

60 commits

Author SHA1 Message Date
Alexander Malmberg
87a4e8d28d 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
Alexander Malmberg
f9fea1156d 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
Alexander Malmberg
5d2f6b4f2f 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
Alexander Malmberg
39744f3b2f 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
Alexander Malmberg
20ab4fa2df 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
Alexander Malmberg
3ea5844deb 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
Alexander Malmberg
5580ccd32c 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
Alexander Malmberg
36c596fdf6 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
Alexander Malmberg
bf56e3e54e 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
Alexander Malmberg
c696800396 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
Alexander Malmberg
b3782e2403 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
Alexander Malmberg
ecfebfecfc (-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
Alexander Malmberg
8a98cb98a8 (-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
Alexander Malmberg
9407b0bfca 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
Richard Frith-Macdonald
af70a6521a 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
Pierre-Yves Rivaille
46630bd6de * 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
Nicola Pero
be371e47d7 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
Fred Kiefer
bef430bc83 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
Richard Frith-Macdonald
91810cad20 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
Richard Frith-Macdonald
d95eb2ac84 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
Richard Frith-Macdonald
ae8ea4d667 Glyph handling improvments.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@12570 72102866-910b-0410-8b05-ffd578937521
2002-02-20 08:52:39 +00:00
Nicola Pero
ca71e9de80 Always update the internal knowledge of the first text view when a
text container tells us that it has changed text view


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@12493 72102866-910b-0410-8b05-ffd578937521
2002-02-11 16:37:21 +00:00
Nicola Pero
90f3074971 Fixed dealloc so that it can dealloc a layout manager which has not been
-init


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@12484 72102866-910b-0410-8b05-ffd578937521
2002-02-11 02:42:12 +00:00
Nicola Pero
435e2fe226 Fixed problems with no text container being set ... typically happening
early during initialization


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@12481 72102866-910b-0410-8b05-ffd578937521
2002-02-11 02:01:29 +00:00
Nicola Pero
638a861702 Code moved and cleaned a bit
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@12425 72102866-910b-0410-8b05-ffd578937521
2002-02-06 19:21:29 +00:00
Nicola Pero
0615a29ffc Removed old unused layout code
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@12419 72102866-910b-0410-8b05-ffd578937521
2002-02-06 16:20:43 +00:00
Richard Frith-Macdonald
5834d85e1c Expect new GSI api
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@12370 72102866-910b-0410-8b05-ffd578937521
2002-02-01 15:31:21 +00:00
Richard Frith-Macdonald
9de3b40693 Use new GSI api from base library
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@12360 72102866-910b-0410-8b05-ffd578937521
2002-02-01 11:01:27 +00:00
Nicola Pero
0cc1b5bd9a Fixed effectiveRange returned by lineFragment and textContainer methods
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@11827 72102866-910b-0410-8b05-ffd578937521
2001-12-19 00:22:25 +00:00
Adam Fedor
d47e202fbe Markup for autogsdoc
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@11788 72102866-910b-0410-8b05-ffd578937521
2001-12-17 16:51:51 +00:00
Fred Kiefer
c05f0c3e6d Implemented [rulerMarkersForTextView:...ruler:].
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@11507 72102866-910b-0410-8b05-ffd578937521
2001-11-24 15:50:54 +00:00
Nicola Pero
424c51335e Indentation tidyups
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@11205 72102866-910b-0410-8b05-ffd578937521
2001-10-18 15:33:23 +00:00
Richard Frith-MacDonald
5f2d75b783 Fix for glyph index immediately beyond glyph range
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@8812 72102866-910b-0410-8b05-ffd578937521
2001-01-26 17:01:43 +00:00
Richard Frith-MacDonald
4bfc058571 Added some sanity checking.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@8753 72102866-910b-0410-8b05-ffd578937521
2001-01-22 18:57:06 +00:00
Richard Frith-MacDonald
10a8c41a38 Layout manager glyph implementation ... initial hack complete.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@8749 72102866-910b-0410-8b05-ffd578937521
2001-01-22 18:13:43 +00:00
Richard Frith-MacDonald
69e71a4f06 Tidyup
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@8706 72102866-910b-0410-8b05-ffd578937521
2001-01-20 08:58:25 +00:00
Richard Frith-MacDonald
790e997914 More glyph attribute stuff
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@8705 72102866-910b-0410-8b05-ffd578937521
2001-01-19 23:22:16 +00:00
Richard Frith-MacDonald
bd467249b9 More glyph stuff
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@8670 72102866-910b-0410-8b05-ffd578937521
2001-01-17 22:11:52 +00:00
Richard Frith-MacDonald
83df4ad3b9 More glyph handling code
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@8606 72102866-910b-0410-8b05-ffd578937521
2001-01-15 21:48:18 +00:00
Nicola Pero
953a5c5318 Added method to move cursor up or down to be implemented in subclasses
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@8590 72102866-910b-0410-8b05-ffd578937521
2001-01-14 11:29:48 +00:00
Richard Frith-MacDonald
fd61eea775 Tidied
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@8567 72102866-910b-0410-8b05-ffd578937521
2001-01-12 12:43:22 +00:00
Richard Frith-MacDonald
801d25ac87 Minor updates to glyph stuff
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@8566 72102866-910b-0410-8b05-ffd578937521
2001-01-12 12:32:32 +00:00
Richard Frith-MacDonald
fe14b19de7 Some work on glyph handling
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@8560 72102866-910b-0410-8b05-ffd578937521
2001-01-11 19:09:02 +00:00
Nicola Pero
0d14de6d9c Implemented textContainerChangeTextView:
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@8483 72102866-910b-0410-8b05-ffd578937521
2001-01-07 00:57:23 +00:00
Nicola Pero
8d3ffdfc63 Code for multiple text views
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@8398 72102866-910b-0410-8b05-ffd578937521
2000-12-21 17:29:51 +00:00
Nicola Pero
b1507ff3e2 Tidied
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@8385 72102866-910b-0410-8b05-ffd578937521
2000-12-20 22:55:30 +00:00
Nicola Pero
120979e0e2 Retain/release fixes, and tidy up
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@8337 72102866-910b-0410-8b05-ffd578937521
2000-12-16 20:17:54 +00:00
Fred Kiefer
83c9ff711e Added simple glyph cahracter mapping methods
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@7996 72102866-910b-0410-8b05-ffd578937521
2000-11-03 00:21:29 +00:00
Fred Kiefer
adf1534fc5 Added comments from .h file.
Return a GSSimpleLayoutManager from [allocWithZone].
Removed all compiler warnings.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@7800 72102866-910b-0410-8b05-ffd578937521
2000-10-12 23:01:43 +00:00
Fred Kiefer
7fba1bb097 Implemented [firstTextView].
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@7675 72102866-910b-0410-8b05-ffd578937521
2000-09-30 23:12:42 +00:00