Commit graph

3835 commits

Author SHA1 Message Date
Alexander Malmberg
0383d08f23 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
Alexander Malmberg
32f6790d62 (-setAttributes:range:): Call -edited:range:changeInLength: with the range that was changed (and not the range attributes could be merged for).
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@15994 72102866-910b-0410-8b05-ffd578937521
2003-02-18 00:35:28 +00:00
Alexander Malmberg
dffecc3043 (-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
Alexander Malmberg
e262df5bbd (-layoutGlyphsInLayoutManager:inTextContainer:startingAtGlyphIndex:previousLineFragmentRect:nextGlyphIndex:numberOfLineFragments:): Determine the initial value for newParagraph correctly.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@15992 72102866-910b-0410-8b05-ffd578937521
2003-02-18 00:35:18 +00:00
Alexander Malmberg
7435220c32 Many minor cleanups and optimizations. Much commenting.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@15991 72102866-910b-0410-8b05-ffd578937521
2003-02-18 00:35:13 +00:00
Alexander Malmberg
bdc3373174 Clean up layout invalidation. Set the prev pointer correctly when splitting a run during glyph invalidation.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@15990 72102866-910b-0410-8b05-ffd578937521
2003-02-17 20:30:26 +00:00
Alexander Malmberg
1ba6d8c940 Add some framework support for caching the last accessed run.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@15980 72102866-910b-0410-8b05-ffd578937521
2003-02-17 01:19:34 +00:00
Alexander Malmberg
d6239b2d59 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
Alexander Malmberg
3f51658781 (-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
Alexander Malmberg
7e1801395c Store the line frags array as an ivar instead of allocating and freeing it everytime -layoutLineNewParagraph: is called.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@15977 72102866-910b-0410-8b05-ffd578937521
2003-02-16 16:54:45 +00:00
Alexander Malmberg
27e5baeab3 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
Nicola Pero
7ccea2b5b0 Fixed offset used in splitview's delegate calls
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@15975 72102866-910b-0410-8b05-ffd578937521
2003-02-16 14:04:40 +00:00
Nicola Pero
913e8e34f4 Fixed offset used in delegate calls
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@15974 72102866-910b-0410-8b05-ffd578937521
2003-02-16 14:04:10 +00:00
Richard Frith-Macdonald
4221f51f1a Menu level fix
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@15971 72102866-910b-0410-8b05-ffd578937521
2003-02-16 06:04:03 +00:00
Nicola Pero
e1b342140b Fixed delegate of a split view constraining the split position
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@15970 72102866-910b-0410-8b05-ffd578937521
2003-02-16 03:21:56 +00:00
Nicola Pero
2f0f4f1d0d Fixed delegate constraining split position
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@15969 72102866-910b-0410-8b05-ffd578937521
2003-02-16 03:19:11 +00:00
Alexander Malmberg
4dc81ab769 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
Alexander Malmberg
6027271a4f 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
Alexander Malmberg
0b0e77ad82 ([NSMutableParagraphStyle -copyWithZone:]): Call GSDebugAllocation* when swizzling the class.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@15966 72102866-910b-0410-8b05-ffd578937521
2003-02-15 17:15:50 +00:00
Alexander Malmberg
d59dd69fca (-_launchSpellCheckerForLanguage:): Don't printf-expand the error message twice.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@15965 72102866-910b-0410-8b05-ffd578937521
2003-02-15 17:07:44 +00:00
Nicola Pero
4f7235ad35 Added a couple of missing includes in AppKit.h
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@15962 72102866-910b-0410-8b05-ffd578937521
2003-02-15 12:32:38 +00:00
Nicola Pero
36e924d092 Added missing includes
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@15961 72102866-910b-0410-8b05-ffd578937521
2003-02-15 12:32:11 +00:00
Alexander Malmberg
c56d68453d 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
Alexander Malmberg
6d1c78032a Fix an edge case in tab handling. Also, if tabs occure and the paragraph style has no more tab stops, act as if there were tabs every 100 points.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@15957 72102866-910b-0410-8b05-ffd578937521
2003-02-14 16:59:38 +00:00
Alexander Malmberg
85ff161e72 Keep track of the original index of a sequence of moves in one dimension. Pass it to the layout manager when moving the insertion point to prevent drifting.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@15956 72102866-910b-0410-8b05-ffd578937521
2003-02-14 16:58:59 +00:00
Alexander Malmberg
e729e8815b Misc. minor rtf-parsing fixes.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@15951 72102866-910b-0410-8b05-ffd578937521
2003-02-13 00:16:12 +00:00
Alexander Malmberg
77950b1e66 Implement basic handling of tabs.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@15950 72102866-910b-0410-8b05-ffd578937521
2003-02-12 23:53:29 +00:00
Fred Kiefer
a273e6156a Moved over from X11 backend.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@15945 72102866-910b-0410-8b05-ffd578937521
2003-02-12 00:09:49 +00:00
Fred Kiefer
d13f84b771 MOved imaged sliding to frontend
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@15944 72102866-910b-0410-8b05-ffd578937521
2003-02-12 00:06:07 +00:00
Fred Kiefer
d22c80f5eb Added new file GSSlideView.m.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@15943 72102866-910b-0410-8b05-ffd578937521
2003-02-12 00:05:27 +00:00
Fred Kiefer
534869106f Use GSSlideView to implement image sliding.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@15942 72102866-910b-0410-8b05-ffd578937521
2003-02-12 00:05:09 +00:00
Alexander Malmberg
09c02037d7 (-_createColumn:): Set the border of the created scroll view explicitly.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@15940 72102866-910b-0410-8b05-ffd578937521
2003-02-11 16:57:12 +00:00
Alexander Malmberg
abd4f0ca27 (-setBorderType:): Call -tile to make the change visible.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@15939 72102866-910b-0410-8b05-ffd578937521
2003-02-11 16:56:54 +00:00
Alexander Malmberg
05d3343c45 (-setSelectedRange:affinity:stillSelecting:): Clamp the selected range to the text storage's length.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@15937 72102866-910b-0410-8b05-ffd578937521
2003-02-11 15:40:21 +00:00
Alexander Malmberg
413dec23ee (-processEditing): Make sure we always give a valid range and delta to the layout managers.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@15936 72102866-910b-0410-8b05-ffd578937521
2003-02-11 15:39:49 +00:00
Alexander Malmberg
ea14bf8170 (-fixAttachmentAttributesInRange:): Update end index when a character is deleted.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@15935 72102866-910b-0410-8b05-ffd578937521
2003-02-11 15:39:20 +00:00
Richard Frith-Macdonald
e8ca345d45 Browser setPath: fixes
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@15929 72102866-910b-0410-8b05-ffd578937521
2003-02-11 06:43:05 +00:00
Alexander Malmberg
993c4431f4 Remove debugging code left in by mistake.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@15926 72102866-910b-0410-8b05-ffd578937521
2003-02-10 15:06:57 +00:00
Alexander Malmberg
3b7c4e2a12 Minor changes and cleanups.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@15925 72102866-910b-0410-8b05-ffd578937521
2003-02-10 14:29:31 +00:00
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
39b3c70b7d (-breakLineByWordWrappingBefore:): Return correct index when breaking at a control glyph.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@15917 72102866-910b-0410-8b05-ffd578937521
2003-02-09 17:37:04 +00:00
Alexander Malmberg
1368fb95c9 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@15916 72102866-910b-0410-8b05-ffd578937521
2003-02-09 17:05:55 +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
7d1592daa3 Fix some broken movement actions.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@15914 72102866-910b-0410-8b05-ffd578937521
2003-02-09 14:26:10 +00:00
Alexander Malmberg
8c9dff945f Make the main typesetting method reentrant.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@15913 72102866-910b-0410-8b05-ffd578937521
2003-02-09 13:53:35 +00:00
Fred Kiefer
63dcec6afa Don`t look for colour lists in non existing directories.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@15912 72102866-910b-0410-8b05-ffd578937521
2003-02-09 00:38:09 +00:00
Fred Kiefer
5b3f1e1bbf [_loadAvailableColorLists] check if a directory exists before
looking for a colour list in it.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@15911 72102866-910b-0410-8b05-ffd578937521
2003-02-09 00:36:53 +00:00
Alexander Malmberg
7925725bb9 Correct some attribute changes.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@15908 72102866-910b-0410-8b05-ffd578937521
2003-02-08 21:58:36 +00:00
Alexander Malmberg
e06aff244d Improve calculation of line height and baseline.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@15907 72102866-910b-0410-8b05-ffd578937521
2003-02-08 21:56:33 +00:00