Commit graph

112 commits

Author SHA1 Message Date
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
CaS
415e49b24b 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
nico
48cddb85f1 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
nico
cabaf9f027 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
nico
3a6b867d04 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
nico
02c1284a9b 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
nico
0f0bb36a83 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
CaS
63d83800bb 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
CaS
8de58d68fc 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
nico
7d17e587c6 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
fedor
c51f4265da 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
FredKiefer
c88a80c75e 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
nico
f9fbfbdbe1 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
514c59d055 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
b0804bd8a4 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
fe387730fc 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
434a977c18 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
14014a3a62 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
a5737b792a 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
e571f3019f 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
nico
dee8285c46 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
1c09cb7345 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
29b391060f 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
fca56f11b0 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
nico
1a11570535 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
nico
df0caf45b8 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
nico
91fb1e751e 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
nico
0e88cae678 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
FredKiefer
3692dce9fe 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
FredKiefer
11055fe8ee 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
FredKiefer
635957e149 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
FredKiefer
d3c10d80e7 Changed system fonts of size 12 to 0. This will use Nicolas font
cache and keep font sizes consistent when changed.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@7347 72102866-910b-0410-8b05-ffd578937521
2000-09-02 17:16:26 +00:00
FredKiefer
086fd45efd Started cleanup of code.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@7273 72102866-910b-0410-8b05-ffd578937521
2000-08-27 22:32:29 +00:00
fedor
f34100ac45 Merge from 0.6.5
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@6040 72102866-910b-0410-8b05-ffd578937521
2000-02-19 00:40:47 +00:00
michael
f6a85c5407 Fixes
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@5262 72102866-910b-0410-8b05-ffd578937521
1999-11-22 21:48:03 +00:00
michael
9870f513bc Lots of fixes.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@4844 72102866-910b-0410-8b05-ffd578937521
1999-09-07 08:59:35 +00:00
richard
8edf3a229f Minor fixes
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@4741 72102866-910b-0410-8b05-ffd578937521
1999-08-22 11:03:10 +00:00
michael
6bceaa0b50 A load of changes.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@4724 72102866-910b-0410-8b05-ffd578937521
1999-08-19 23:18:25 +00:00
michael
d1f464c5e3 Small fixes to text network.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@4648 72102866-910b-0410-8b05-ffd578937521
1999-07-25 20:49:08 +00:00
michael
2caad61acb More text fixes and debugs.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@4644 72102866-910b-0410-8b05-ffd578937521
1999-07-25 04:58:39 +00:00
michael
34b2d4f4e1 Fixed problems galore. :-)
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@4599 72102866-910b-0410-8b05-ffd578937521
1999-07-15 17:32:38 +00:00