Commit graph

139 commits

Author SHA1 Message Date
Wolfgang Lux
95c5829fa5 Fix two incorrect comparisons in NSLayoutManager which were causing
range exceptions when moving the cursor up in the first line and down
in the last line of a NSTextView, respectively.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34375 72102866-910b-0410-8b05-ffd578937521
2012-01-01 11:29:20 +00:00
Wolfgang Lux
b046febc21 Get the insertion point rectangle right for character index 0.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34364 72102866-910b-0410-8b05-ffd578937521
2011-12-29 18:34:27 +00:00
Gregory John Casamento
e9aaaf4b61 Changes to correct bug#34919. NSTextView should now correctly show the padding set in the lineFragmentPadding attribute of NSTextContainer.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34222 72102866-910b-0410-8b05-ffd578937521
2011-11-28 02:37:58 +00:00
Fred Kiefer
727e1993f0 Unbind key bindings.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33511 72102866-910b-0410-8b05-ffd578937521
2011-07-11 08:40:31 +00:00
Riccardo Mottola
394d42736a Add support for for link attributes.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33433 72102866-910b-0410-8b05-ffd578937521
2011-07-02 22:15:17 +00:00
Fred Kiefer
c744492fee Add a few key value bindings.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33277 72102866-910b-0410-8b05-ffd578937521
2011-06-11 12:01:59 +00:00
Eric Wasylishen
5f73c3f623 * Source/NSLayoutManager.m:
* Source/NSGraphicsContext.m:
* Headers/AppKit/DPSOperators.h:
* Headers/AppKit/NSGraphicsContext.h:
* Headers/Additions/GNUstepGUI/GSMethodTable.h:
New GSShowGlyphsWithAdvances, which replaces
GSShowGlyphs as the primitive text drawing method.
(used by -[NSLayoutManager drawGlyphsForGlyphRange:atPoint:])

Requires r33121 in -back.

Note that the advances aren't actually used by -back yet so
text output should be unchanged.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33122 72102866-910b-0410-8b05-ffd578937521
2011-05-26 03:55:55 +00:00
Eric Wasylishen
4736b353dc Add a FIXME to NSLayoutManager
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33118 72102866-910b-0410-8b05-ffd578937521
2011-05-25 21:47:30 +00:00
Eric Wasylishen
b384d732ff * Source/NSLayoutManager.m
(-characterIndexMoving:fromCharacterIndex:originalCharacterIndex:distance:):
Rework this method to suport moving the insertion point between text
containers, for both left/right and up/down movements. However, it will
only have this behaviour when distance == 0.

This is part of what is needed to support moving the insertion point
between text views in, e.g., TextEdit when using the multi-page view.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@32964 72102866-910b-0410-8b05-ffd578937521
2011-05-01 22:06:45 +00:00
Fred Kiefer
924b24dde4 Fix warnigns reported by clang.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@32814 72102866-910b-0410-8b05-ffd578937521
2011-04-08 23:21:55 +00:00
Eric Wasylishen
f14cd5a450 Don't draw spelling underlines when printing
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@32567 72102866-910b-0410-8b05-ffd578937521
2011-03-14 09:05:29 +00:00
Eric Wasylishen
2d713e6cca * Source/NSLayoutManager.m: Clear temporary attributes
on the modified range when informed of a change in the text
storage
* Source/NSTextView.m: Add a context menu with spelling
suggestions and cut/copy/paste


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@32561 72102866-910b-0410-8b05-ffd578937521
2011-03-14 04:19:32 +00:00
Eric Wasylishen
b460081f8c NSTextView continuous spell checking
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@32534 72102866-910b-0410-8b05-ffd578937521
2011-03-12 07:45:14 +00:00
Richard Frith-MacDonald
19f8307312 add warning comment
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@32527 72102866-910b-0410-8b05-ffd578937521
2011-03-10 08:22:44 +00:00
Eric Wasylishen
e39fed5a42 gui: implement NSLayoutManager temporary attributes
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@32503 72102866-910b-0410-8b05-ffd578937521
2011-03-09 05:28:47 +00:00
David Chisnall
12fd784151 Remove some tests that are always true (NSRange.length > 0 - NSUIntegers are always > 0).
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@32348 72102866-910b-0410-8b05-ffd578937521
2011-02-24 13:21:37 +00:00
Eric Wasylishen
227381f621 preliminary implementation of underlining
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@32304 72102866-910b-0410-8b05-ffd578937521
2011-02-22 20:53:13 +00:00
Wolfgang Lux
678df29a94 Prevent potential null pointer dereference when computing the size of
an attachment.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@31814 72102866-910b-0410-8b05-ffd578937521
2011-01-01 16:43:34 +00:00
Fred Kiefer
62a8ead182 * Source/NSLayoutManager.m: Add code to handle temporary
attributes. This code is taken from NSAttributedString and the
two
        core methods are still missing.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@31798 72102866-910b-0410-8b05-ffd578937521
2010-12-30 15:29:05 +00:00
Wolfgang Lux
efd0bc2248 Clip the rectangle computed by -rectArrayForGlyphRange: for the last
line to the line fragment's used rectangle if the line doesn't end
with a newline (or other invisible character). This better matches
Apple's implementation.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@31720 72102866-910b-0410-8b05-ffd578937521
2010-12-09 18:04:25 +00:00
Fred Kiefer
49fdc602ba Remove a few compiler warnings.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@31587 72102866-910b-0410-8b05-ffd578937521
2010-11-03 20:26:30 +00:00
Fred Kiefer
d08b23d9b0 First batch of corrections based on David's static analysis.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@31337 72102866-910b-0410-8b05-ffd578937521
2010-09-12 16:34:22 +00:00
Fred Kiefer
6f2c2f94ea Correction of the declarations for the methods to handle temporary attributes.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@31205 72102866-910b-0410-8b05-ffd578937521
2010-08-29 18:49:03 +00:00
Wolfgang Lux
424440dd30 Make NSLayoutManager attributes and flags persistent when using a
keyed archiver, i.e., saving or loading a .nib file.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@30490 72102866-910b-0410-8b05-ffd578937521
2010-05-30 17:51:29 +00:00
Richard Frith-MacDonald
a45f28148f Fix error updating dynamic services
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@29768 72102866-910b-0410-8b05-ffd578937521
2010-02-26 05:20:59 +00:00
Wolfgang Lux
c076dbd009 Fix issue where the insertion point was not placed in an empty last
line of a text view when clicking with the mouse.
Fix issue where the insertion point was not placed in an empty last
line when using the down arrow key (bug #15893).
Fix issue where the insertion point was placed incorrectly if the last
line of a text view ends in an invisible character (e.g., a tab).


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@29584 72102866-910b-0410-8b05-ffd578937521
2010-02-12 15:27:02 +00:00
Gregory John Casamento
4991a29743 * Source/GSStandardWindowDecorationView.m: Live window resize changes
for when using GNUstep decorations in resizeWindowStartingWithEvent:.
	* Source/NSLayoutManager.m: Unarchive the text containers into an 
	array in initWithCoder:.
	* Source/NSTextContainer.m: Get the layout manager in initWithCoder:.
	* Source/NSTextView.m: Changes to include text container from nib
	file into the nib loading process in initWithCoder:.   


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@28296 72102866-910b-0410-8b05-ffd578937521
2009-05-23 15:50:51 +00:00
Gregory John Casamento
d0d81bf1b1 * Source/GSNibLoader.m: Correct the message to indicate an issue
loading a nib, not a gorm, file.
	* Source/GSNibLoading.m: Uncomment the release in the dealloc
	method.
	* Source/NSApplication.m: Restrict the icon size to the size of the
	miniwindow if it's larger, but don't expand it, if it's smaller.
	* Source/NSLayoutManager.m: -initWithCoder: Initialize when 
	loading a nib in the same way that we initialize when loading 
	a gorm file.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@27775 72102866-910b-0410-8b05-ffd578937521
2009-02-04 06:48:06 +00:00
Fred Kiefer
ddf1b1a269 Improvement of attributed string loading and attachment display in text
view.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@27705 72102866-910b-0410-8b05-ffd578937521
2009-01-27 19:16:04 +00:00
Gregory John Casamento
8b23e80c6d * Headers/AppKit/NSLayoutManager.h: Declarations for new methods
to handle temporary attributes.
	* Source/GSNibCompatibility.m: Corrections to nib loading logic.
	* Source/NSLayoutManager.m: Skeleton implementations of new
	methods to handle temporary attributes.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@27124 72102866-910b-0410-8b05-ffd578937521
2008-11-23 23:54:00 +00:00
Adam Fedor
7afdd32ac1 Revert library license version to 2 until applications can be converted
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@26619 72102866-910b-0410-8b05-ffd578937521
2008-06-10 04:01:49 +00:00
Fred Kiefer
f59bbe5aa8 Extract glyph generation code into separate class.
Plus some additional cleanup.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@26523 72102866-910b-0410-8b05-ffd578937521
2008-05-13 19:40:20 +00:00
Richard Frith-MacDonald
03a4a96a40 Update includes ... closer MacOS-X compatibility.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@25635 72102866-910b-0410-8b05-ffd578937521
2007-11-29 20:28:03 +00:00
Fred Kiefer
193e31e678 Change all files to use GPL 3 and LGPL 3.
Prepare for next release.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@25536 72102866-910b-0410-8b05-ffd578937521
2007-10-29 21:16:17 +00:00
Fred Kiefer
86264a8284 Diverse gui patches by Wolfgang Lux <wolfgang.lux@gmail.com>.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@25451 72102866-910b-0410-8b05-ffd578937521
2007-09-04 23:29:05 +00:00
Fred Kiefer
4835a35c1c Add new MacOSX methods. Code mostly by Nikolaus Schaller.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@25270 72102866-910b-0410-8b05-ffd578937521
2007-06-18 21:08:54 +00:00
Richard Frith-MacDonald
701853d407 bugfix for #13564
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@24697 72102866-910b-0410-8b05-ffd578937521
2007-02-27 06:07:01 +00:00
Sergii Stoian
a4fba19c11 * Source/NSLayoutManager.m: (-drawBackgroundForGlyphRange:atPoint):
Use the text view's selected text attributes. Remove TODO.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@24680 72102866-910b-0410-8b05-ffd578937521
2007-02-21 23:47:58 +00:00
Sergii Stoian
4b9e32d057 NSLayoutManager
(insertionPointRectForCharacterIndex:inTextContainer:): Remove
insertion point rectangle correction.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@24572 72102866-910b-0410-8b05-ffd578937521
2007-02-14 17:54:00 +00:00
Sergii Stoian
f8cc62e978 (_insertionPointRectForCharacterIndex:textContainer:): Use
default font height for insertion point height if there is
no characters.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@24571 72102866-910b-0410-8b05-ffd578937521
2007-02-14 17:42:07 +00:00
Matt Rice
ba8d729b8a * Source/NSTextView_actions.m:
* Source/NSOpenPanel.m:
        * Source/GSLayoutManager.m:
        * Source/NSLayoutManager.m:
        * Source/NSSavePanel.m:
        * Source/NSTextView.m:
        * Source/NSStringDrawing.m:
        * Headers/Additions/GNUstepGUI/GSLayoutManager_internal.h:
        * Headers/AppKit/NSTextView.h: Remove underscores from category names
        as they can confuse the debugger.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@24032 72102866-910b-0410-8b05-ffd578937521
2006-11-06 10:19:20 +00:00
Richard Frith-MacDonald
65b175b904 Tweaks to avoid new compiler warnings with gcc-4.1 and some 64bit issues.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@23126 72102866-910b-0410-8b05-ffd578937521
2006-07-04 21:31:49 +00:00
Gregory John Casamento
d68950d71a Nib compatibility code merge.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@22957 72102866-910b-0410-8b05-ffd578937521
2006-05-20 22:12:46 +00:00
Richard Frith-Macdonald
7971a89c72 Coding style fixups
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@22019 72102866-910b-0410-8b05-ffd578937521
2005-11-16 11:34:25 +00:00
Adam Fedor
303dd1baf9 Update FSF Address.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@21259 72102866-910b-0410-8b05-ffd578937521
2005-05-26 02:52:46 +00:00
Alexander Malmberg
ad2419e484 2005-01-21 21:43 Alexander Malmberg <alexander@malmberg.org>
Various whitespace cleanups, comment type fixes, and changes
	to avoid warnings from recent versions of gcc.

	* Headers/Additions/GNUstepGUI/GSToolbar.h (-_toolbars): Declare.
	* Source/NSWindow+Toolbar.m: Remove conflicting declaration of
	[NSToolbar -_toolbars].

	* Headers/Additions/GNUstepGUI/GSServicesManager.h,
 	Source/GSServicesMananger.m (-item2title:, -validateMenuItem:):
	Adjust argument types.
	* Headers/AppKit/NSMenu.h (-validateMenuItem:): Adjust argument
	type.

	* Source/NSTextView.m (-sizeToFit): Don't use size uninitialized
	if neither resizable flags is set.
	(-insertText:): Adjust argument type.
	* Headers/AppKit/NSResponder.h, Source/NSResponder.m (-insertText:):
	Adjust argument type. Document.

	* Headers/AppKit/NSView.h: Change type of ivar _window to NSWindow *.

	* Source/GSTitleView.m (-mouseDown:): Always initialize
	startWindowOrigin.
	* Source/NSApplication.m (-setApplicationIconImage:): Add casts
	to avoid warnings.
	* Source/NSCell.m (-cellSize): Add default: case.
	* Source/NSPasteboard.m
	([GSFiltered -pasteboard:provideDataForType:]): Detect and warn if we
	can't find a filter that will get us the desired type.
	* Source/NSProgressIndicator.m: Comment out unused variable 'images'.
	* Source/NSBezierPath.m: Declare GSBezierPath fully before using it.
	(-bezierPathByFlatteningPath, -bezierPathByReversingPath): Make sure
	variables are always initialized.

	* Source/NSMenuView.m,
	* Source/NSPrintOperation.m,
	* Source/NSSplitView.m,
	* Source/NSTableHeaderView.m: Make sure variables are always
	initialized.

	* Source/NSBox.m,
	* Source/NSImageview.m,
	* Source/NSText.m,
	* Source/NSTextStorage.m: Add missing includes.

	* Source/GSKeyBindingTable.m,
	* Source/GSLayoutManager.m,
	* Source/NSBitmapImageRep+PNM.m,
	* Source/NSBundleAdditions.m,
	* Source/NSLayoutManager.m,
	* Source/nsimage-tiff.h,
	* Source/tiff.m,
	* Headers/Additions/GNUstepGUI/GSDisplayServer.h,
	* Source/GSDisplayServer.m: Change signedness of various variables.

	* Source/NSPanel.m (-sendEvent:): Remove.
	* Source/NSWindow.m (-becomesKeyOnlyIfNeeded): New method.
	(-_sendEvent:becomesKeyOnlyIfNeeded:): Remove. Move code ...
	(-sendEvent:): ... here. Use -becomesKeyOnlyIfNeeded instead
	of the argument.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@20590 72102866-910b-0410-8b05-ffd578937521
2005-01-21 20:39:18 +00:00
Alexander Malmberg
ee70d6ab43 2004-11-11 15:08 Alexander Malmberg <alexander@malmberg.org>
* Source/NSCell.m (-_setupTextWithFrame:inView:editor:): Reduce the
	maximum size. Explicitly set the size of the text view, and make it
	not resizable.
	* Source/NSLayoutManager.m (-rectArrayForGlyphRange:
	withinSelectedGlyphRange:inTextContainer:rectCount:): Fix check for
	whether the starting index is inside a line frag rect.
	* Source/NSTextView.m (-sizeToFit): Don't increase the size if we
	have no inset.
	(-updateInsertionPointStateAndRestartTimer:): Force the insertion
	point rect to be inside the text view.
	(-scrollRangeToVisible:): If we are a non-rich-text field editor,
	adjust the scrolling to make the auto-scrolling more useful.

	Fixes bug #9279.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@20340 72102866-910b-0410-8b05-ffd578937521
2004-11-11 14:10:08 +00:00
Alexander Malmberg
dd69ef973d Adjust handling of selected range changes in response to text changes.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@19866 72102866-910b-0410-8b05-ffd578937521
2004-08-11 23:46:37 +00:00
Alexander Malmberg
195960d5d5 Get the printing buffer size right this time.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@19712 72102866-910b-0410-8b05-ffd578937521
2004-07-11 14:36:51 +00:00
Alexander Malmberg
6feb2e58f5 When printing, position each glyph explicitly.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@19711 72102866-910b-0410-8b05-ffd578937521
2004-07-11 12:21:41 +00:00