Commit graph

5030 commits

Author SHA1 Message Date
fredkiefer
87aa21aa33 Add basic implementation for more action methods.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33272 72102866-910b-0410-8b05-ffd578937521
2011-06-10 08:31:22 +00:00
gcasa
87920fb9b9 2011-06-09 13:49-EDT Gregory John Casamento <greg.casamento@gmail.com>
* Source/GSTheme.m: Move notifications handling code to
	setTheme: instead and add code which deactivates the notifications
	and then starts listening again after activate is called.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33267 72102866-910b-0410-8b05-ffd578937521
2011-06-09 17:51:39 +00:00
gcasa
2138dcdb9f 2011-06-09 13:43-EDT Gregory John Casamento <greg.casamento@gmail.com>
* Source/GSTheme.m: Move call to listen to default changes to 
	activate instead of +initialize. 


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33266 72102866-910b-0410-8b05-ffd578937521
2011-06-09 17:46:36 +00:00
gcasa
f14428de58 Remove temporary fix.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33255 72102866-910b-0410-8b05-ffd578937521
2011-06-07 11:43:00 +00:00
fredkiefer
7fec0a25f1 * Source/externs.m: Correct the strings for NSPrintPanel.
* Source/NSAttributedString.m (-setBaseWritingDirection:range:):
Add proper implementation for this method.
* Source/NSTextView_actions.m (-insertContainerBreak:,
-insertLineBreak): Add this methods.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33254 72102866-910b-0410-8b05-ffd578937521
2011-06-06 11:33:40 +00:00
fredkiefer
3bfbeeee07 Add newer MacOSX methods to NSPrintPanel
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33252 72102866-910b-0410-8b05-ffd578937521
2011-06-05 21:55:34 +00:00
wlux
a6164dc306 Create the app icon in NSApplication -_init as suggested by Fred.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33244 72102866-910b-0410-8b05-ffd578937521
2011-06-04 15:07:54 +00:00
wlux
fe515ca1e1 Revert to creating the app icon in finishLaunching, since existing
applications that do not use NSApplicationMain otherwise won't get an
app icon.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33242 72102866-910b-0410-8b05-ffd578937521
2011-06-04 08:42:33 +00:00
gcasa
958269ba98 Revert last change and add temporary fix for crash.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33236 72102866-910b-0410-8b05-ffd578937521
2011-06-03 05:00:50 +00:00
gcasa
9a272cd97d Use the NSArchiver to copy the menu since the copy method does not do a deep enough copy.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33234 72102866-910b-0410-8b05-ffd578937521
2011-06-02 20:22:39 +00:00
wlux
8e402fc361 Ensure that applications get a proper app icon under WindowMaker even
when their main nib contains visible at launch time windows.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33231 72102866-910b-0410-8b05-ffd578937521
2011-06-02 08:45:07 +00:00
wlux
479baf70bf Fix management of windows whose hide on deactivate attribute is set.
In particular, such windows remain ordered out when the application
orders them out while it is not active and then is activated again.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33213 72102866-910b-0410-8b05-ffd578937521
2011-05-31 09:59:48 +00:00
wlux
f10f10e1ca Improve implementation of NSImage -bestRepresentationForDevice: for
images with multiple representations and fix a related bug.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33211 72102866-910b-0410-8b05-ffd578937521
2011-05-31 07:35:57 +00:00
gcasa
42d9fbb043 Minor correction.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33201 72102866-910b-0410-8b05-ffd578937521
2011-05-30 00:40:15 +00:00
gcasa
af73d9265a * Source/GNUmakefile: Remove NSManagedObjectContext.[hm] from compile
* Source/NSManagedObjectContext.h
	* Source/NSManagedObjectContext.m: Delete
	* Source/NSObjectController.m: Remove #import and add @class 
	declaration.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33200 72102866-910b-0410-8b05-ffd578937521
2011-05-30 00:36:50 +00:00
fredkiefer
7eabdc67c2 Use rint instead of round.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33195 72102866-910b-0410-8b05-ffd578937521
2011-05-29 18:50:43 +00:00
theraven
0c9d090532 Don't create a zone in GC mode (detected at run time). This avoids a warning
when starting GUI apps in GC mode, but should have no real effect on
functionality.

Note: this zone seems to have been created for OpenStep compatibility, but then
we don't actually use it anywhere.  The Cocoa docs say that this is 'The zone
from which NSMenu objects should be allocated', but we allocate NSMenu objects
from the default malloc zone.  

Fred: I think the correct thing to do here is probably to just return
NSDefaultMallocZone() from +menuZone in all modes.  Can you take a look and
see?



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33150 72102866-910b-0410-8b05-ffd578937521
2011-05-27 14:08:35 +00:00
theraven
dbd4c1b77c Turn release messages sent to autorelease pools into drain messages. No
functionality change in non-GC mode, in GC mode it invokes a quick GC pass to
try to delete the short-lived objects.

Also deleted some [pool release] lines just before exit() or return-from-main
statements.  These cause objects to be swapped in and destructors to be run to
no benefit (the OS will reclaim this memory without requiring stuff to be
swapped in when the process exits).



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33146 72102866-910b-0410-8b05-ffd578937521
2011-05-27 12:42:37 +00:00
fredkiefer
ac36e417ea Declare a few MacOSX 10.5 methods and make
the background of the NSSplitView transparent by default.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33139 72102866-910b-0410-8b05-ffd578937521
2011-05-27 08:35:24 +00:00
ericwa
b1cca9952a * Source/NSImage.m (-nativeDrawInRect:...): Fix drawing images
with a source rect smaller than the entire image. This was a mistake
left by my last commit to this method.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33135 72102866-910b-0410-8b05-ffd578937521
2011-05-26 20:50:50 +00:00
ericwa
4857c9bbd4 * 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
ericwa
1300127d57 * Source/NSComboBoxCell.m: Correct positioning of popup window when
a scale factor is in use.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33120 72102866-910b-0410-8b05-ffd578937521
2011-05-25 23:45:19 +00:00
ericwa
7442ffb62e 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
theraven
00f5e41f60 Change direct references to the isa pointer to calls to object_getClass(). In
discussion with Steve Naroff (before he left Apple) it was decided that the isa
pointer should be regarded as an implementation detail and not part of the
language, so direct references to it are deprecated (on OS X).  This gives the
runtime a bit more freedom to do secret isa-swizzling tricks.

I've had these changes sitting in my copy for ages - no idea why they weren't
committed.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33111 72102866-910b-0410-8b05-ffd578937521
2011-05-25 11:19:09 +00:00
fredkiefer
b4e1a828e3 Add OSX 10.5 methods.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33081 72102866-910b-0410-8b05-ffd578937521
2011-05-21 22:18:22 +00:00
fredkiefer
79ee526fc5 * Source/NSView.m (-setSubviews:): New method.
Code by Banlu Kemiyatorn <object@gmail.com>.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33068 72102866-910b-0410-8b05-ffd578937521
2011-05-19 08:19:13 +00:00
fredkiefer
a2088a66a9 Method to get all images from an ICNS file.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33062 72102866-910b-0410-8b05-ffd578937521
2011-05-18 20:07:02 +00:00
fredkiefer
73ae595130 Remove most uses of the method [NSView -removeSubview:].
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33047 72102866-910b-0410-8b05-ffd578937521
2011-05-15 14:42:08 +00:00
ericwa
4bb166cb5d * Source/NSTextView.m: Use pointing hand cursor for links
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33043 72102866-910b-0410-8b05-ffd578937521
2011-05-15 06:55:33 +00:00
ericwa
73a0d9bc1d * Source/NSTableHeaderView.m: Use resize cursors
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33042 72102866-910b-0410-8b05-ffd578937521
2011-05-15 05:48:22 +00:00
ericwa
4c45b02292 * Source/NSTextView.m: Use IBeam cursor if selectable
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33041 72102866-910b-0410-8b05-ffd578937521
2011-05-15 05:03:14 +00:00
ericwa
71f2876806 * Source/NSSplitView.m: Use resize cursors
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33040 72102866-910b-0410-8b05-ffd578937521
2011-05-15 04:24:20 +00:00
fredkiefer
51a3070bf7 Partial fix for bug #32845
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33038 72102866-910b-0410-8b05-ffd578937521
2011-05-14 18:00:13 +00:00
fredkiefer
28e0200ed8 * Source/GSXibLoader.m: Add support for the "array" and
"dictionary" elements found in newer XIB files (Version >= 8).


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33022 72102866-910b-0410-8b05-ffd578937521
2011-05-11 08:53:31 +00:00
ericwa
4bb99a7de8 * Source/Functions.m: For functions which set the fill or stroke
color as part of their implementation, save/restore the graphics
state so that the user's fill/stroke color isn't overwritten.
See the PixelExactDrawing test in GSTest for an example.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33021 72102866-910b-0410-8b05-ffd578937521
2011-05-11 07:53:04 +00:00
ericwa
ed3f7e52cd * Source/NSButtonCell.m (-drawImage:withFrame:inView:): Align
the point at which the image is drawn to the nearest pixel.

r32895 which reimplemented -[NSImage composite..] methods
on top of -[NSImage draw...] methods means that drawing
images with -compositeToPoint: no longer pixel-aligns
the image automatically. The new behaviour matches
Cocoa, however.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33002 72102866-910b-0410-8b05-ffd578937521
2011-05-07 21:37:14 +00:00
ericwa
a68c89afb8 011-05-07 Eric Wasylishen <ewasylishen@gmail.com>
* Source/NSView.m (-convertPoint:toView:): Correct this
	method; it was applying the transforms backwards :-(


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33001 72102866-910b-0410-8b05-ffd578937521
2011-05-07 21:30:25 +00:00
ericwa
99bd5d4243 * Source/NSScreen.m: Use -userSpaceScaleFactor to calculate
NSDeviceResolution
* Source/NSImage.m: Implement -_bestRep:withResolutionMatch:
* Images/common_Dimple.tiff:
* Images/common_3DArrowRight.tiff: Add to these images
a second 'page' at 4x the original resolution which I drew.

If you use GSScaleFactor > 1 then the high resolution version
of these images should be used.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@32975 72102866-910b-0410-8b05-ffd578937521
2011-05-04 01:33:21 +00:00
ericwa
32bab79ad4 * 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
ericwa
13d635f673 * Source/NSView.m (-updateBoundsMatrix):
Fix a bug where updateBoundsMatrix would refuse to restore a
view's scale to its original value, after a modified bounds rect
had been set.
* Source/NSView.m (-setBounds:, -setBoundsOrigin:, -setBoundsSize:):
Call [self setNeedsDisplay: YES]; at the ends of these methods.
While the Cocoa docs explicitly say that calling these methods
won't mark the view as needing redisplay, this doesn't seem to
be true in practice.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@32955 72102866-910b-0410-8b05-ffd578937521
2011-04-30 06:40:14 +00:00
ericwa
64c3b2c4fd * Source/NSOutlineView.m: Implement -keyDown: to expand/contract
items.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@32954 72102866-910b-0410-8b05-ffd578937521
2011-04-30 05:46:44 +00:00
ericwa
238f943fca * Source/NSTextView.m (-mouseDown:):
Add support for making selections with the mouse which span multiple
text views
* Source/NSTextView.m (-setSelectedRange:affinity:stillSelecting:):
Replace the complex display invalidation code with two calls to
-[NSLayoutManager invalidateDisplayForCharacterRange:], which will
take care to invalidate all necessary text views.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@32953 72102866-910b-0410-8b05-ffd578937521
2011-04-30 04:49:51 +00:00
ericwa
7a271bfa5b * Source/NSTextView.m (-setTypingAttributes:) Guard against
nil layout manager


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@32952 72102866-910b-0410-8b05-ffd578937521
2011-04-30 04:30:45 +00:00
ericwa
72ae55cd7e * Source/NSPopUpButtonCell.m: Override -representedObject and
-setRepresentedObject: with implementations that delegate the
call to [self selectedItem] (the NSMenuItem).


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@32943 72102866-910b-0410-8b05-ffd578937521
2011-04-29 00:17:01 +00:00
ericwa
ca64b1c62f * Source/NSTextView.m (-selectionRangeForProposedRange:granularity:):
Remove a special case which caused this method to refuse to
expand a range {[string length], 0}.
This was why the align left/center/right menu items didn't work
in Ink when the insertion point was at the end of a document.
The behaviour should match OS X now.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@32935 72102866-910b-0410-8b05-ffd578937521
2011-04-27 09:19:53 +00:00
ericwa
b7c1c823a8 * Headers/AppKit/NSSavePanel.h:
* Source/NSSavePanel.m: Implement -setNameFieldStringValue:,
-nameFieldStringValue, -setNameFieldLabel:, -nameFieldLabel.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@32933 72102866-910b-0410-8b05-ffd578937521
2011-04-27 04:55:22 +00:00
ericwa
7b28e1771c * Source/NSTextView.m (-setRulersVisible:): Create a horizontal ruler on
the scroll view if needed - this seems to be the OS X behaviour.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@32932 72102866-910b-0410-8b05-ffd578937521
2011-04-27 04:00:33 +00:00
ericwa
a0317c6ad6 * Source/NSImage.m (-nativeDrawInRect:...): Fix a bug in my recent change
here which mis-positioned images.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@32921 72102866-910b-0410-8b05-ffd578937521
2011-04-21 23:21:44 +00:00
ericwa
cb94c73601 * Source/tiff.m:
* Source/nsimage-tiff.h:
* Source/NSBitmapImageRep.m: Read DPI metadata in TIFF files and use this
to set the point size of the image rep


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@32920 72102866-910b-0410-8b05-ffd578937521
2011-04-21 22:19:06 +00:00
ericwa
b145e686b0 * Source/NSImage.m (-nativeDrawInRect:...): Make the cache window
large enough so that detail is preserved when drawing using a scale factor
larger than 1. This change should only improve output quality but not
affect image drawing otherwise.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@32917 72102866-910b-0410-8b05-ffd578937521
2011-04-21 05:46:06 +00:00