Commit graph

1403 commits

Author SHA1 Message Date
fredkiefer
e278d9956c Fix clang compiler warnings as reported by Sebastian Reitenbach
<sebastia@l00-bugdead-prods.de>.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34608 72102866-910b-0410-8b05-ffd578937521
2012-01-23 14:27:58 +00:00
fredkiefer
0b99ca07c2 * Headers/AppKit/NSImageView.h,
* Source/NSImageView.m: Protect image drag with new ivar that
gets set via a new GNUstep extension method.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34580 72102866-910b-0410-8b05-ffd578937521
2012-01-18 21:03:37 +00:00
rfm
39fbad9a42 Cleanup/simplify code for handling theme names in defaults system
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34527 72102866-910b-0410-8b05-ffd578937521
2012-01-14 16:10:48 +00:00
fredkiefer
edb7e41078 Make the same change in NSDrawer and also switch to CGFloat.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34314 72102866-910b-0410-8b05-ffd578937521
2011-12-17 20:29:09 +00:00
fredkiefer
ccf59ac3ca Replace some occurences of int with NSInteger
and unsigned with NSUInteger. This allows to recompile gui on 
64 bit systems after the change to NSNotFound in base.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34312 72102866-910b-0410-8b05-ffd578937521
2011-12-17 17:16:09 +00:00
ericwa
4ccce7b985 * Headers/AppKit/NSTextView.h: Change _dragTargetLocation to NSUInteger
because NSNotFound no longer fits in unsigned int on 64-bit


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34295 72102866-910b-0410-8b05-ffd578937521
2011-12-15 18:37:19 +00:00
ericwa
aefc51b5bb * Source/NSPrinter.m:
* Source/NSPrintOperation.m:
* Source/NSPageLayout.m:
* Source/NSPrintInfo.m:
* Headers/AppKit/NSPrintInfo.h: Migrate printing code to CGFloat
or double.
* Source/NSTextView.m: Rewrite -adjustPageHeightNew🔝bottom:limit:


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34288 72102866-910b-0410-8b05-ffd578937521
2011-12-15 06:51:02 +00:00
fredkiefer
29539acfe6 * Headers/AppKit/AppKit.h: Add NSColorSpace.h. This fixes bug #34913.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34221 72102866-910b-0410-8b05-ffd578937521
2011-11-27 23:14:26 +00:00
theraven
db50a78bfb NSAutoreleasePool* -> id in NSApplication.h, so the header can be used in ARC code (which prohibits explicit references to NSAutoreleasePool).
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34216 72102866-910b-0410-8b05-ffd578937521
2011-11-25 20:27:39 +00:00
ericwa
f0d3f1435a * Source/GSNibLoading.m:
* Source/NSToolbar.m:
* Source/GSToolbarCustomizationPalette.m:
* Source/GSToolbarView.m:
* Source/NSToolbarItem.m:
* Source/NSToolbarFrameworkPrivate.h:
* Headers/AppKit/NSToolbar.h: Implement -initWithCoder: for
NSToolbar. This required a bit more work that usual because
toolbars created with -initWithCoder can operate without a delegate.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34189 72102866-910b-0410-8b05-ffd578937521
2011-11-18 20:15:53 +00:00
qmathe
effd2e71de Improved the menu theming to support some common menu look variations.
Fixed bug #34792 too.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34174 72102866-910b-0410-8b05-ffd578937521
2011-11-16 10:32:15 +00:00
ericwa
5eae61ca3e * Headers/AppKit/NSImageCell.h:
* Headers/AppKit/NSCell.h: Move NSImageScaling constants to NSCell
* Source/NSImageCell.m:
* Source/NSCell.m: Refactor the image scaling logic to a private
method in NSCell, -_scaleImageWithSize:toFitInSize:scalingType:
which can be share by NSImageCell, NSButtonCell, and any other
cell classes that need it.
* Source/NSButtonCell.m:
* Headers/AppKit/NSButtonCell.h: Implement -imageScaling and
-setImageScaling methods. 
* Source/GSThemeDrawing.m:
* Headers/Additions/GNUstepGUI/GSTheme.h: Remove the
-drawImage:inButtonCell:withFrame:position: API intended
to let themes substitute images right before drawing,
as IMHO it's the wrong place to hook in new images (by
the time this method was caleld, sizing/positionging
was already done).


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34160 72102866-910b-0410-8b05-ffd578937521
2011-11-11 23:10:15 +00:00
fredkiefer
a978e01752 Add decoding of class IBInitialTabViewItemAttribute.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34124 72102866-910b-0410-8b05-ffd578937521
2011-11-05 17:45:09 +00:00
qmathe
93988bdfbd Made separator menu item themable, by moving the drawing code from
NSMenuItemCell to a new method in GSThemeDrawing.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34079 72102866-910b-0410-8b05-ffd578937521
2011-10-28 09:40:41 +00:00
ericwa
bc71005837 * Source/NSBitmapImageRep.m:
* Source/NSColor.m:
* Source/GSThemeTools.m:
* Source/NSGraphicsContext.m:
* Headers/AppKit/NSColor.h:
* Headers/AppKit/NSGraphicsContext.h:
* ColorPickers/GSGrayColorPicker.m:
* ColorPickers/GSCMYKColorPicker.m:
* ColorPickers/GSWheelColorPicker.m:
* ColorPickers/GSRGBColorPicker.m:
* ColorPickers/GSHSBColorPicker.m: Migrate float to CGFloat in
NSColor


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34070 72102866-910b-0410-8b05-ffd578937521
2011-10-26 00:21:57 +00:00
fredkiefer
bab8bb2d00 Integrate XIB loading methods used in Gorm.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34055 72102866-910b-0410-8b05-ffd578937521
2011-10-25 09:06:01 +00:00
fredkiefer
0cae3a5134 Big improvement of XIB loading. Now all XIB files from the bug reports
get loaded.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34050 72102866-910b-0410-8b05-ffd578937521
2011-10-24 14:44:29 +00:00
fredkiefer
323e837d9a Rewrote NSBezierPath to allow subclasses.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33942 72102866-910b-0410-8b05-ffd578937521
2011-10-04 13:32:50 +00:00
fredkiefer
b0d82bd37d Patch by Julian Mayer.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33941 72102866-910b-0410-8b05-ffd578937521
2011-10-04 13:30:53 +00:00
rfm
793dae0eeb fix for C++ linkage
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33940 72102866-910b-0410-8b05-ffd578937521
2011-10-04 05:50:57 +00:00
fredkiefer
b2c407e50f Add forward declaration for NSNibBindingConnector.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33935 72102866-910b-0410-8b05-ffd578937521
2011-10-03 20:28:51 +00:00
fredkiefer
cab517b510 Fix XIB loading bug reported by Julian Mayer as bug #34454.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33931 72102866-910b-0410-8b05-ffd578937521
2011-10-03 12:48:15 +00:00
ericwa
ae4c28c8d2 * Source/NSOpenPanel.m: Use the NSSavePanel _allowedFileTypes ivar
in place of the _fileTypes ivar. Replace calls to _setupForTypes: with
-setAllowedFileTypes:.
* Headers/AppKit/NSOpenPanel.h: Remove now unused _fileTypes ivar
* Source/NSSavePanel.m: Treat directories whose names have extensions
in the _allowedFileTypes array as file packages.
Previously, we only relied on -[NSWorkspace isFilePackageAtPath:],
to determine if a director is a file package, which only considers the
info.plists of installed applications.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33810 72102866-910b-0410-8b05-ffd578937521
2011-09-07 07:46:28 +00:00
ericwa
2fe8b328c5 * Source/NSCachedImageRep.m: Restore the implementation of -draw
because libart/xlib need it.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33797 72102866-910b-0410-8b05-ffd578937521
2011-08-30 02:20:29 +00:00
ericwa
769a504f37 * Source/NSImage.m: Reinstate use of the cached image rep, but only
on backends supporting GSdraw: (cairo).  This means we don't have to
create a window for every call to draw an image, and gives me a 5-10x
speedup for image drawing.
* Source/NSCachedImageRep.m: Implement private method
-nativeDrawInRect:.. which is called by NSImageRep's
-drawInRect:fromRect:..., and efficiently draw the cached rep
using GSdraw:. Also make some changes so cached image reps can have a
DPI != 72.
* Headers/AppKit/NSCachedImageRep.h: New private init method that lets
you specify diferent pixel size and point size.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33765 72102866-910b-0410-8b05-ffd578937521
2011-08-19 19:06:41 +00:00
ericwa
f3a9150d7c * Headers/AppKit/NSImageRep.h: Add
-drawInRect:fromRect:operation:fraction:respectFlipped:hints: method
* Source/NSImage.m:
* Source/NSImageRep.m: Refactor drawing code from NSImage to NSImageRep.
This should cause no functionlity change, but it lets NSImageRep
subclasses implement more efficient versions of -drawInRect:fromRect:...
that don't involve the (expensive) drawing of the image in a temporary
offscreen window and then drawing from there on to the destination surface.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33764 72102866-910b-0410-8b05-ffd578937521
2011-08-18 23:57:50 +00:00
ericwa
d147d93adf * Source/Functions.m:
* Headers/AppKit/NSGraphics.h: NSDrawNinePartImage implementation


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33745 72102866-910b-0410-8b05-ffd578937521
2011-08-16 02:58:12 +00:00
ericwa
abe0bb41f6 * Headers/Additions/GNUstepGUI/GSTheme.h: New GSThemeMargins struct.
Rename buttonBorderForCell:style:state: to buttonMarginsForCell:style:state:
and return the top/bottom/left/right margins instead of just two values.
(This is a theme API break.)
* Source/GSThemeDrawing.m: Implement buttonMarginsForCell:style:state:.
Also reduce the top and left margin of the default button by 1 pt, to
better reflect the button's appearance.
* Source/GSGuiPrivate.h: Add a GSRoundTowardsNegativeInfinity function
* Source/NSButtonCell.m (-drawImage:withFrame:inView:): Round the image
position down and to the right, as this seems to look the best.
* Source/NSButtonCell.m (-cellSize): Call new buttonMarginsForCell: method
* Source/NSButtonCell.m (-drawingRectForBounds:): Call new
buttonMarginsForCell: method


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33743 72102866-910b-0410-8b05-ffd578937521
2011-08-15 23:12:37 +00:00
ericwa
faa4f9b8ce * Source/GSLayoutManager.m:
* Source/GSHorizontalTypesetter.m:
* Headers/Additions/GNUstepGUI/GSLayoutManager_internal.h:
* Headers/Additions/GNUstepGUI/GSLayoutManager.h: Store
glyph advances in the runs in GSLayoutManager. Extend the
NSGlyphStorage protocol to support a case where the glyph
generator provides the glyph advances.

I'm hoping to use this in the future to implement (optional)
glyph generators which are wrappers around HarfBuzz or the ICU
OpenType layout engine.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33684 72102866-910b-0410-8b05-ffd578937521
2011-08-02 23:34:06 +00:00
ericwa
fe973031d4 * Source/NSImage.m: Implement
-[NSImage drawInRect:fromRect:operation:fraction:respectFlipped:hints:


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33571 72102866-910b-0410-8b05-ffd578937521
2011-07-16 02:09:06 +00:00
ericwa
67cd120733 * Headers/AppKit/NSView.h:
* Source/NSView.m (-resizeWithOldSuperviewSize): Pixel-align
view frame when autoresizing.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33483 72102866-910b-0410-8b05-ffd578937521
2011-07-07 23:16:02 +00:00
ericwa
85c8422ca8 Add a new character picker panel. It's accessible
via a button in the font panel.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33470 72102866-910b-0410-8b05-ffd578937521
2011-07-06 18:39:49 +00:00
ericwa
bc9bebe77c * Source/GSDisplayServer.m:
* Headers/Additions/GNUstepGUI/GSDisplayServer.h: Add a new API for taking
screenshots: -contentsOfScreen:inRect:


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33442 72102866-910b-0410-8b05-ffd578937521
2011-07-03 23:43:07 +00:00
theraven
c3fb881fb2 Another qualifier for ARC mode.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33418 72102866-910b-0410-8b05-ffd578937521
2011-06-29 16:03:03 +00:00
theraven
14c286368f Fix AppKit headers to allow inclusion in ARC mode. Since ARC requires the non-fragile ABI, a better solution would be to simply not expose any of these ivars with the non-fragile ABI.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33414 72102866-910b-0410-8b05-ffd578937521
2011-06-29 15:39:45 +00:00
ericwa
a589652352 * Headers/Additions/GNUstepGUI/GSImageMagickImageRep.h:
* Source/GNUmakefile:
* Source/NSImageRep.m:
* Source/GSImageMagickImageRep.m:
* configure.ac: New ImageMagick-based NSBitmapImageRep subclass


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33399 72102866-910b-0410-8b05-ffd578937521
2011-06-29 03:35:25 +00:00
fredkiefer
1a31d7e65a * Source/GSDragView.m (-init): Set the window background colour to clear.
* Headers/AppKit/NSAffineTransform.h,
* Headers/AppKit/NSView.h,
* Source/NSAffineTransform.m,
* Source/NSPrintOperation.m,
* Source/NSView.m: Use CGFlaot instead of float.
* Tests/gui/NSView/NSView_bounds_scale.m: New test file that currently fails.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33398 72102866-910b-0410-8b05-ffd578937521
2011-06-28 20:59:24 +00:00
ericwa
a22d96f145 * Source/GSGhostscriptImageRep.m:
* Headers/Additions/GNUstepGUI/GSGhostscriptImageRep.h:
* Source/GNUmakefile:
* Source/NSImageRep.m: New image rep which attempts to
invoke Ghostscript to rasterize PS/EPS/PDF images. It needs
some polishing but basically works.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33389 72102866-910b-0410-8b05-ffd578937521
2011-06-27 05:45:40 +00:00
fredkiefer
8c10cabd84 * Headers/AppKit/NSPrintPanel.h: Add missing APPKIT_EXPORT for new strings.
Bug point out by Bluna Ratimonkey <object@gmail.com>.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33364 72102866-910b-0410-8b05-ffd578937521
2011-06-22 21:52:43 +00:00
fredkiefer
a4ca6c5505 Change all the runModal:... methods to return an NSInteger.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33352 72102866-910b-0410-8b05-ffd578937521
2011-06-19 20:44:24 +00:00
ericwa
82c961c9c1 * Headers/AppKit/NSImageCell.h:
* Source/NSImageCell.m: Add support for NSImageScaleProportionallyUpOrDown


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33309 72102866-910b-0410-8b05-ffd578937521
2011-06-15 18:38:12 +00:00
ericwa
5da6d52508 * Source/NSImage.m: Implement -bestRepresentationForRect:context:hints:,
which chooses the smallest rep larger than or equal to the provided size.

Modify -nativeDrawInRect:... to use the above method for choosing a rep.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33304 72102866-910b-0410-8b05-ffd578937521
2011-06-14 19:00:23 +00:00
fredkiefer
bf245bc3cf Add new MacOSX strings for NSPrintInfo.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33282 72102866-910b-0410-8b05-ffd578937521
2011-06-11 20:34:49 +00:00
fredkiefer
0c5ed271e1 Add a few MacOSX methods with dummy implementations.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33281 72102866-910b-0410-8b05-ffd578937521
2011-06-11 15:48:08 +00:00
fredkiefer
f507c26271 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
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
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
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
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