Commit graph

2427 commits

Author SHA1 Message Date
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
fedor
e8b35c9d11 Menu display improvments
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@16040 72102866-910b-0410-8b05-ffd578937521
2003-02-21 23:50:21 +00:00
fedor
441fb9b0bd * Source/NSPrintOperation.m (-_print): Remove locale change (now
handled correctly in backend stream context.
* Source/NSScrollView.m (-initWithFrame:): Change default border
to none.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@16020 72102866-910b-0410-8b05-ffd578937521
2003-02-20 03:12:29 +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
f92b3e1d3d Optimizations.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@16010 72102866-910b-0410-8b05-ffd578937521
2003-02-19 14:12:16 +00:00
alexm
f841f5bf3a Optimize.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@16007 72102866-910b-0410-8b05-ffd578937521
2003-02-19 02:18:41 +00:00
alexm
c2e1f1fa8e Optimize reuse of soft-invalidated layout a bit in a common case.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@16006 72102866-910b-0410-8b05-ffd578937521
2003-02-18 23:34:51 +00:00
alexm
9c80e2a6ba Correct the condition for splitting the initial run.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@16005 72102866-910b-0410-8b05-ffd578937521
2003-02-18 23:16:29 +00:00
alexm
5efed08a59 Use the soft-invalidated layout information to avoid rebuilding layout (when possible).
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@16004 72102866-910b-0410-8b05-ffd578937521
2003-02-18 20:27:13 +00:00
alexm
46b1dab064 Add basic interface that lets the typesetter access soft-invalidated layout information.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@16003 72102866-910b-0410-8b05-ffd578937521
2003-02-18 20:26:49 +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
b072096e67 (-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
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
e1eaf8a17e (-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
alexm
b59f235c95 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
alexm
428737c6d4 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
alexm
901b07f83e 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
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
335cef0d7e 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
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
nico
c53f687ca5 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
CaS
759987f762 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
nico
9d27a2e575 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
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
147d2afa56 ([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
alexm
d711920497 (-_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
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
bf716a59d2 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
alexm
174f81dd1e 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
alexm
1c87a49961 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
FredKiefer
e79a3f120f 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
FredKiefer
06e62ac549 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
FredKiefer
e8d11181e4 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
alexm
36a79d34a5 (-_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
alexm
e5a9ba8496 (-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
alexm
f91ef9f333 (-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
alexm
78fc19a490 (-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
alexm
68e87b286c (-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
CaS
f4c376b01e 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
alexm
79318156a7 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
alexm
ac9c217604 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
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
5859e8f3a0 (-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
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
b03bce8c51 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