Commit graph

134 commits

Author SHA1 Message Date
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
Alexander Malmberg
5202d04b05 Calculate layout_char properly. Comment about the weird state of things.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@18861 72102866-910b-0410-8b05-ffd578937521
2004-03-22 00:17:18 +00:00
Alexander Malmberg
07176d3800 Don't cause layout_char to wrap around when adding lengthChange.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@18842 72102866-910b-0410-8b05-ffd578937521
2004-03-13 02:22:12 +00:00
Fred Kiefer
13a4046e1a More keyed decoding.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@18603 72102866-910b-0410-8b05-ffd578937521
2004-02-15 18:23:13 +00:00
Fred Kiefer
154110be23 Small drawing cleanup.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@18567 72102866-910b-0410-8b05-ffd578937521
2004-02-08 23:58:41 +00:00
Alexander Malmberg
5ce50e1384 Handle the case where there is no layout information at all more efficiently.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@18474 72102866-910b-0410-8b05-ffd578937521
2004-01-25 03:20:52 +00:00