Commit graph

2445 commits

Author SHA1 Message Date
alexm
9a2fd89144 Add and implement -typesetter and -setTypesetter:.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@16115 72102866-910b-0410-8b05-ffd578937521
2003-03-03 13:57:53 +00:00
alexm
7d3313c1ab (-setAttributes:range:): Handle zero-length attribute changes correctly.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@16114 72102866-910b-0410-8b05-ffd578937521
2003-03-03 13:57:34 +00:00
ludovic
6e6893db47 Fixed a memory leak. See the ChangeLog for the details.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@16107 72102866-910b-0410-8b05-ffd578937521
2003-03-02 18:50:07 +00:00
FredKiefer
2733fd5810 In [drawRect:]use the frame of the view, not the given rect.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@16094 72102866-910b-0410-8b05-ffd578937521
2003-03-01 00:44:45 +00:00
FredKiefer
6e474ee7fb Added support to print a file in [finishLaunching]. Use safer way
to call selector in [beginSheet:...contextInfo:].


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@16093 72102866-910b-0410-8b05-ffd578937521
2003-03-01 00:44:27 +00:00
FredKiefer
1bca606807 Use method calls instead of some of the direct references to
NSLayoutManager ivar. General clean up.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@16092 72102866-910b-0410-8b05-ffd578937521
2003-03-01 00:43:54 +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
421c6cf381 (-_generateRunsToCharacter:): Optimize the run structure by merging with an existing run instead of creating a new run under some circumstances.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@16074 72102866-910b-0410-8b05-ffd578937521
2003-02-25 23:55:03 +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
a807d2eb25 Set the next character index correctly after the run-merge optimization.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@16064 72102866-910b-0410-8b05-ffd578937521
2003-02-24 14:26:22 +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
a54da88ec2 Fix handling of the case where the exact glyph is found during the binary search.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@16060 72102866-910b-0410-8b05-ffd578937521
2003-02-24 02:53:20 +00:00
alexm
2c93b50ebd Implement -isEqual: and -hash.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@16059 72102866-910b-0410-8b05-ffd578937521
2003-02-23 23:05:43 +00:00
alexm
97daa3da4a (-update): Don't redisplay the window.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@16056 72102866-910b-0410-8b05-ffd578937521
2003-02-23 12:32:27 +00:00
fedor
b3a5ad0d9a Move disable/enable flush code
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@16053 72102866-910b-0410-8b05-ffd578937521
2003-02-23 04:38:49 +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
2a259e90d7 Implement -menuForEvent: to always return nil to indicate that we don't have a context menu.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@16047 72102866-910b-0410-8b05-ffd578937521
2003-02-22 11:33:41 +00:00
alexm
6e183d7f1f (-sendEvent:): Only bring up the main menu if there is no window for the event.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@16046 72102866-910b-0410-8b05-ffd578937521
2003-02-22 11:33:16 +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
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