Commit graph

5177 commits

Author SHA1 Message Date
fredkiefer
906908d0a2 Commit OpenGL patch by Julian Mayer <julian@corecode.at>.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34226 72102866-910b-0410-8b05-ffd578937521
2011-11-28 17:16:10 +00:00
gcasa
46080b8730 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
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
rmottola
3961169a72 minor compiler compatibility
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34183 72102866-910b-0410-8b05-ffd578937521
2011-11-16 23:33:48 +00:00
qmathe
78fbad84c3 Removed logging statement that shouldn't have been committed
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34175 72102866-910b-0410-8b05-ffd578937521
2011-11-16 10:37:47 +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
fredkiefer
c387e7ad6e * Source/NSImage.m (-bestRepresentationForDevice:): Fix last
change for the case where there are no representations for the
image.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34168 72102866-910b-0410-8b05-ffd578937521
2011-11-13 19:24:17 +00:00
fredkiefer
5cc268b1b4 * Source/NSUserDefaultsController.m
([GSUserDefaultsHelper-valueForKey:]) Use a marker for values
  being nil. This should fix bug #34790.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34167 72102866-910b-0410-8b05-ffd578937521
2011-11-13 16:43:26 +00:00
ericwa
d379015d22 * Source/NSImage.m (-bestRepresentationForDevice:): When
all other matching criteria fail, use the first image instead
of the last (arbitrary, but seems to match cocoa.)


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34166 72102866-910b-0410-8b05-ffd578937521
2011-11-12 01:57:01 +00:00
ericwa
465552f777 * Source/NSAlert.m: Use NSImageScaleProportionallyUpOrDown on
app icon button cell.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34165 72102866-910b-0410-8b05-ffd578937521
2011-11-12 01:16:17 +00:00
ericwa
0d8485e54d * Source/NSImage.m (-setScalesWhenResized:): Disable this method
as it is currently broken on the cairo backend.
* Source/NSApplication.m (-setApplicationIconImage:): Don't
use call -setScalesWhenResized:, because if it worked as it is
supposed to, it would scale all icon reps down to 48x48,
making large icon sizes useless.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34164 72102866-910b-0410-8b05-ffd578937521
2011-11-12 00:40:18 +00:00
ericwa
21eb816339 * Source/GSInfoPanel.m: Fix app icon button size at 48x48 and use
NSImageScaleProportionallyUpOrDown.
This prevents icons with large sizes (e.g. 512x512 pixel) from
making the info panel really big.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34161 72102866-910b-0410-8b05-ffd578937521
2011-11-11 23:16:50 +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
0f9c9bd394 * Source/GSXibLoader.m: Better handling for flattened properties
to set the tool tips of an object. Should fix bug report #34783


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34155 72102866-910b-0410-8b05-ffd578937521
2011-11-11 00:03:11 +00:00
fredkiefer
85a2796f5e * Source/NSKeyValueBinding.m ([GSKeyValueBinding-transformValue:withOptions:]):
Don't use @"" when no null placeholder is defined.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34135 72102866-910b-0410-8b05-ffd578937521
2011-11-07 20:46:55 +00:00
fredkiefer
58a8cc6c6e * Source/NSColorWell.m (-objectValue, -setObjectValue:,
-takeObjectValueFrom:): Add these missing methods.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34132 72102866-910b-0410-8b05-ffd578937521
2011-11-07 15:30:33 +00:00
ericwa
025ce2354d * Source/NSBitmapImageRep+PNG.m:
HACK: PNG can not represent 72DPI exactly. If the pixels-per-meter value is
near 72DPI, assume it is exactly 72 DPI. Note that the same problem occurrs
at 144DPI, or 288DPI... so don't use PNG for resolution independent graphics.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34127 72102866-910b-0410-8b05-ffd578937521
2011-11-06 22:31:23 +00:00
fredkiefer
0a2c48a1ab * Source/NSPopUpButtonCell.m (-insertItemWithTitle:atIndex:): Set
the action on the menu item to -_popUpItemAction:.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34126 72102866-910b-0410-8b05-ffd578937521
2011-11-06 17:10:10 +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
rfm
757ff4b828 iTolerat 'Authors' in the plist being a string
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34116 72102866-910b-0410-8b05-ffd578937521
2011-11-04 06:16:37 +00:00
fredkiefer
e0ec95a1da Add some bindings for NSTabView.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34112 72102866-910b-0410-8b05-ffd578937521
2011-11-02 23:16:38 +00:00
ericwa
b36b46c5b8 * Source/NSColorPanel.m: Always send action and colorChanged: when
the color changes. NSColorPanel is always "continuous" for now...
to support -isContinuous == NO, we need to augment the API between
the color panel and the pickers so they can send a message when
the mouse is released.
* Source/NSTextView.m: Change typing attributes in response to
colorChanged:


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34105 72102866-910b-0410-8b05-ffd578937521
2011-11-01 20:31:24 +00:00
ericwa
d3f2649460 * Source/NSView.m: centerScanRect patch from Sebastian Reitenbach.
Note that this makes the NSView autoresizing and rounding test pass,
but the new centerScanRect test I just added fail.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34104 72102866-910b-0410-8b05-ffd578937521
2011-11-01 17:45:21 +00:00
fredkiefer
a635ae7ec9 * Source/NSPopUpButtonCell.m (-_popUpItemAction:): Inform bindings
of the control view that the value has changed.
Should fix bug #34492


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34099 72102866-910b-0410-8b05-ffd578937521
2011-10-31 21:48:32 +00:00
fredkiefer
e0ab2dcc75 Correct the instantiation of NIB bindings. Should fix bug #34644.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34098 72102866-910b-0410-8b05-ffd578937521
2011-10-31 17:52:33 +00:00
fredkiefer
15bd7324f4 Remove useless KVB code. I hope to commit better code later on.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34097 72102866-910b-0410-8b05-ffd578937521
2011-10-31 17:12:39 +00:00
fredkiefer
2a5ee82d7c Clean up last change.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34096 72102866-910b-0410-8b05-ffd578937521
2011-10-31 16:58:27 +00:00
gcasa
8071806019 Added code to handle sort descriptors from gorm files into NSTableColumn.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34095 72102866-910b-0410-8b05-ffd578937521
2011-10-31 14:45:06 +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
fredkiefer
953db32805 * Source/NSBitmapImageRep.m (+imageRepWithData:): Add missing
AUTORELEASE.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34078 72102866-910b-0410-8b05-ffd578937521
2011-10-27 17:07:54 +00:00
ericwa
9ed59b06a9 * Source/NSCell.m: Read/write NSLineBreakMode from the bits masked off
by 0xE00 in NSCellFlags2. The previous location they were being
read/written from was giving bogus values such as 7.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34073 72102866-910b-0410-8b05-ffd578937521
2011-10-26 20:01:31 +00:00
ericwa
9c26ec27e9 * Source/GSThemeDrawing.m: Draw a question mark centered in the bezel
for NSHelpButtonBezelStyle


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34072 72102866-910b-0410-8b05-ffd578937521
2011-10-26 02:25:36 +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
f586e3e787 * Source/GSXibLoader.m (-objectForXib:): Add type "real" and
handle empty strings.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34011 72102866-910b-0410-8b05-ffd578937521
2011-10-17 08:34:02 +00:00
fredkiefer
2653212909 * Source/NSScrollView.m (-encodeWithCoder:, -initWithCoder:):
Correct keyed encoding and decoding of flags. NIB files created
from GNUstep will need to be recreated.
Should fix bug #34498.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34008 72102866-910b-0410-8b05-ffd578937521
2011-10-15 20:29:02 +00:00
fredkiefer
43c4a9d0f0 * Source/NSColor.m: Add alpha handling to keyed-coding/decoding.
Should fix bug #34501.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33965 72102866-910b-0410-8b05-ffd578937521
2011-10-11 20:57:24 +00:00
fredkiefer
8b09ad3ca5 * Source/NSTextView.m(currentVersion, -encodeWithCoder:,
-initWithCoder:): Archive missing attributes in non-keyed
mode. This required updating the NSTextView version to 4.
Should fix bug #33884.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33962 72102866-910b-0410-8b05-ffd578937521
2011-10-11 08:21:13 +00:00
fredkiefer
fd9bd0faa7 * Source/NSImage.m (-lockFocusOnRepresentation:): Draw the
representation into the new cache. Use NSRectFillUsingOperation
  instead of PScompositerect.
* Source/NSImage.m (-drawRepresentation:inRect:): Use DPS
  operations instead of PS operations.

Should fix bug #34470


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33948 72102866-910b-0410-8b05-ffd578937521
2011-10-06 11:06:31 +00:00
fredkiefer
d4edc7228e * Source/NSProgressIndicator.m (-encodeWithCoder:, initWithCoder:)
The flag isDisplayedWhenStopped is stored negated.
Should fix bug #34487


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33947 72102866-910b-0410-8b05-ffd578937521
2011-10-06 08:47:59 +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
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
fredkiefer
db54238627 Started rewrite that simplifies menu tracking code.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33926 72102866-910b-0410-8b05-ffd578937521
2011-10-01 14:09:56 +00:00
fredkiefer
0de761d88e Merge original in-window menu branch.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33924 72102866-910b-0410-8b05-ffd578937521
2011-10-01 11:17:16 +00:00
espectador
92b44ffa68 Improvements to menu in window
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33837 72102866-910b-0410-8b05-ffd578937521
2011-09-13 01:45:13 +00:00
fredkiefer
184f3f5c5a * Source/NSControl.m (+initialize, -valueForKey:,
-setValue:forKey:): Add support for the bindings NSFontNameBinding
  and NSFontSizeBinding.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33834 72102866-910b-0410-8b05-ffd578937521
2011-09-12 21:04:53 +00:00
ericwa
0ef27026f5 * Source/NSImage.m (_cacheForRep:): Don't assume rep is non-nil. This should fix
locking focus on an image with no representations.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33827 72102866-910b-0410-8b05-ffd578937521
2011-09-09 19:49:08 +00:00
gcasa
ce9ccdea4f Correction for compilation error. NSSizesEqual should have been NSEqualSizes.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33820 72102866-910b-0410-8b05-ffd578937521
2011-09-08 20:13:42 +00:00
ericwa
ae291881d9 * Source/NSImage.m: Throw an exception if you attempt to lock focus on an image with
size (0, 0)
* Source/NSCachedImageRep.m: Throw an exception if you attempt to create a cached
image rep with a size of (0, 0).


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33819 72102866-910b-0410-8b05-ffd578937521
2011-09-08 18:42:31 +00:00
ericwa
11dfb73516 * Source/NSFontPanel.m: Add a tooltip on the character panel button
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33817 72102866-910b-0410-8b05-ffd578937521
2011-09-08 05:59:20 +00:00
ericwa
2f9cf019f2 * Source/NSSpellChecker.m: Use NSLog rather than a popup alert when the spell
server can't be contacted; otherwise the user may be spammed with a series
of popups if automatic spellchecking (underlining) is turned on, but
the current language isn't set.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33816 72102866-910b-0410-8b05-ffd578937521
2011-09-07 19:56:36 +00:00
ericwa
8ed41d52d4 * Source/GSCharacterPanel.m: Implement -[NSApplication orderFrontCharacterPalette:]
* Source/NSFontPanel.m: Use NSApplication method to order front character palette


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33815 72102866-910b-0410-8b05-ffd578937521
2011-09-07 19:31:22 +00:00
ericwa
ed053b5b5e * Source/NSImageCell.m (-drawInteriorWithFrame:inView:): Simplify a bit
bit by using
-[NSImage drawInRect:fromRect:operation:fraction:respectFlipped:hints:]
* Source/NSCell.m (-drawInteriorWithFrame:inView:): Switch from
-[NSImage compositeToPoint...] to
-[NSImage drawInRect:fromRect:operation:fraction:respectFlipped:hints:]


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33813 72102866-910b-0410-8b05-ffd578937521
2011-09-07 08:18:40 +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
26e09cb5f2 * Source/NSView.m (_setNeedsDisplayInRect_real:): Enlarge
(if necessary) _invalidRect so it lies on integral device pixels.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33809 72102866-910b-0410-8b05-ffd578937521
2011-09-07 05:33:25 +00:00
fredkiefer
0cba25353e * Source/NSApplication.m (-setApplicationIconImage): Ignore this
call when the image is nil.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33801 72102866-910b-0410-8b05-ffd578937521
2011-08-31 19:15:47 +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
carmstrong
bb09c73223 2011-08-28 Christopher Armstrong <carmstrong@fastmail.com.au>
* Source/GSHorizontalTypesetter.m: Split declaration of struct
	GSHorizontalTypesetter_glyph_cache_s and struct
	GSHorizontalTypesetter_line_frag_s from their typedefs to compile
	under clang.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33793 72102866-910b-0410-8b05-ffd578937521
2011-08-28 09:25:02 +00:00
fredkiefer
c7329d89dc Correct last commit to use && instead of ||.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33788 72102866-910b-0410-8b05-ffd578937521
2011-08-26 07:35:41 +00:00
rmottola
b1b1d1522f check that the array of reps is populated, not just non-nil
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33786 72102866-910b-0410-8b05-ffd578937521
2011-08-25 15:20:45 +00:00
ericwa
4f8b7abade * Source/NSImage.m (-setSize:): Don't invalidate the cache anymore,
because we now cache the entire representation and not the rep scaled
to the image's size.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33770 72102866-910b-0410-8b05-ffd578937521
2011-08-20 18:37:52 +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
ea63bbc0ff * Source/Functions.m (NSDrawNinePartImage): Pixel-align drawing rect using
-[NSView centerScanRect]


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33761 72102866-910b-0410-8b05-ffd578937521
2011-08-17 16:24:17 +00:00
ericwa
0c9cae17bf * Source/Functions.m (NSDrawNinePartImage): Bugfix when drawing with
not enough space


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33749 72102866-910b-0410-8b05-ffd578937521
2011-08-16 03:45:12 +00:00
ericwa
eb59071e88 * Source/Functions.m (NSDrawNinePartImage): Bugfix in flipped drawing code
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33748 72102866-910b-0410-8b05-ffd578937521
2011-08-16 03:31:04 +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
8d20ff6316 * Source/NSImage.m (GSResolutionOfImageRep): Specify behaviour when the
rep has a size of zero, or is a vector rep. Prevent division by 0.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33742 72102866-910b-0410-8b05-ffd578937521
2011-08-15 20:19:21 +00:00
ericwa
8bc31a2ed9 * Source/NSImage.m (-nativeDrawInRect:...): Deal with a zero rep size
* Source/NSCustomImageRep.m:
- Don't retain the delegate (matching OS X)
- Remove unnecessary flip checks from -drawAtPoint: and -drawInRect:
  to match the code in NSImageRep
- Fix a mistake when setting the ctm scale factor


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33741 72102866-910b-0410-8b05-ffd578937521
2011-08-15 20:11:11 +00:00
fredkiefer
55d2d291af * Source/NSView.m (-setBoundsSize:): Adjust the origin as well.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33717 72102866-910b-0410-8b05-ffd578937521
2011-08-11 08:14:53 +00:00
fredkiefer
0020bb75e1 * Source/NSMenu.m (+initialize): Don't create the default menu
zone as we never use it and a change in base made this an
  expensive operation.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33694 72102866-910b-0410-8b05-ffd578937521
2011-08-04 08:52:42 +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
411b565237 * Source/NSScreen.m (-userSpaceScaleFactor): Use the DPI
from the display server instead of ignoring it and assuming 72.

The X11 server was changed to always return 72 for now, so there
is no change in behaviour on X.

On Windows we do use the system DPI/scale factor now.

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33659 72102866-910b-0410-8b05-ffd578937521
2011-07-30 20:44:06 +00:00
fredkiefer
b678eba9cb * Source/NSAnimation.m (NSViewAnimation -dealloc): Use DESTROY
instead of RELEASE as _viewAnimationDesc to prevent segmentation
        fault in super call.
        * Source/NSWindow.m (-setFrame:display:animate:): Use
        NSViewAnimation instead of local blocking code.
        * Source/NSWindow.m (-animationResizeTime:): Use abs() in all
        * directions.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33624 72102866-910b-0410-8b05-ffd578937521
2011-07-24 18:53:07 +00:00
fredkiefer
03508b6e82 Lots of minimal changes.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33613 72102866-910b-0410-8b05-ffd578937521
2011-07-23 13:43:33 +00:00
ericwa
09ff289d9e * Source/GSToolTips.m (-_timedOut:): Guard against nil tooltip string
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33599 72102866-910b-0410-8b05-ffd578937521
2011-07-21 07:12:07 +00:00
ericwa
43972e0a3e * Source/NSButtonCell.m (-title): Return @"" instead of nil
* Source/NSButtonCell.m (-alternateTitle): Return @"" instead of nil
* Source/NSButtonCell.m (-attributedAlternateTitle): Use
[self alternateTitle] instead of accessing _altContents directly to guard
against _altContents being nil
* Source/NSButtonCell.m (-attributedTitle): Don't return nil. Use
[self title] instead of accessing _contents directly to guard against
_contents being nil
* Source/NSButtonCell.m (-keyEquivalent): Return @"" instead of nil
* Source/NSButtonCell.m (-encodeWithCoder):
For keyEquivelant and alternateTitle, now that the methods never return
nil, instead of checking if they return nil to decide whether to encode them,
check if the string length is > 0.
* Source/NSToolbarItem.m (-label): Return @"" instead of nil.
* Source/NSCell.m (-stringValue): Return @"" instead of nil
* Source/NSCell.m (-attributedStringValue): Don't return nil. Use
[self stringValue] instead of accessing _contents directly to guard against
_contents being nil.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33598 72102866-910b-0410-8b05-ffd578937521
2011-07-21 06:31:34 +00:00
ericwa
ff0419835b * Source/NSTextView.m (-view:stringForToolTip:point:userData:):
Ensure this returns an NSString, even if NSToolTipAttributeName
is set to something else (it calls -description on the value).


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33597 72102866-910b-0410-8b05-ffd578937521
2011-07-21 04:56:02 +00:00
ericwa
e4679e3534 * Source/GSGhostscriptImageRep.m: Search for gs by enumerating directories
in PATH rather than calling 'which'. Also search for gswin32c.exe for
Windows.

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33587 72102866-910b-0410-8b05-ffd578937521
2011-07-19 21:51:25 +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
258333d209 * Source/NSImage.m (-nativeDrawInRect:...): Fix two bugs
demonstrated in GSTest:
- drawing an image in a flipped view with -drawInRect:... wasn't
  working, and
- drawing a vector rep in a dest rect larger than the point
  size of the rep was resulting in blurry output.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33570 72102866-910b-0410-8b05-ffd578937521
2011-07-16 01:23:40 +00:00
ericwa
ed88e43731 * Source/NSColorPanel.m: Remove code for generating a dynamic
magnifying glass cursor; it flickers on X11.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33565 72102866-910b-0410-8b05-ffd578937521
2011-07-15 19:55:38 +00:00
rfm
f47e8a2568 remove obsolete include
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33561 72102866-910b-0410-8b05-ffd578937521
2011-07-15 13:51:22 +00:00
ericwa
50ae7e5851 * Source/NSOutlineView.m: Allow collapsing or expanding multiple
rows at a time using the arrow keys


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33552 72102866-910b-0410-8b05-ffd578937521
2011-07-15 05:39:10 +00:00
fredkiefer
5c93b41e6d Replace direct use of the isa pointer with a call to object_getClass()
to make David happy.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33545 72102866-910b-0410-8b05-ffd578937521
2011-07-14 07:17:24 +00:00
ericwa
bd8a409d6b * Source/NSColorPanel.m: Make a magnifying glass cursor when using
the magnifying glass color picker. back/x11 isn't displaying
the cursor at the moment.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33543 72102866-910b-0410-8b05-ffd578937521
2011-07-13 23:10:51 +00:00
espectador
7bc02da76e Character Panel in Spanish
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33542 72102866-910b-0410-8b05-ffd578937521
2011-07-13 18:51:59 +00:00
ericwa
74039ef007 * Source/GSImageMagickImageRep.m: Don't call DestroyImage on a
NULL image


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33541 72102866-910b-0410-8b05-ffd578937521
2011-07-13 03:34:38 +00:00
ericwa
58594b1f63 * Source/GSImageMagickImageRep.m: Log warnings from ImageMagick
instead of giving up.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33540 72102866-910b-0410-8b05-ffd578937521
2011-07-13 02:46:12 +00:00
ericwa
c7e05f2c7b * Source/GSGuiPrivate.h: New rounding rounding function
GSRoundTowardsInfinity which is simply floor(x+0.5)
* Source/NSBrowser.m:
* Source/NSSliderCell.m:
* Source/NSButtonCell.m:
* Source/NSClipView.m:
* Source/NSOutlineView.m:
* Source/NSRulerView.m:
Switch rint[f] to GSRoundTowardsInfinity


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33539 72102866-910b-0410-8b05-ffd578937521
2011-07-12 21:12:22 +00:00
ericwa
adca33937f * Source/GSGhostscriptImageRep.m: Only invoke 'which' once.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33529 72102866-910b-0410-8b05-ffd578937521
2011-07-11 18:46:05 +00:00
ericwa
bb225f9ead * Source/GSGhostscriptImageRep.m: Change to NSLog, only log
a warning the first time invoking ghostscript throws an exception,
and log a message if it returns a nonzero exit status.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33527 72102866-910b-0410-8b05-ffd578937521
2011-07-11 18:16:45 +00:00
ericwa
6a88e333d4 * Source/GSGhostscriptImageRep.m: Add NSWarnLog to execption
handlers to print a message when finding or invoking Ghostscript
fails.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33524 72102866-910b-0410-8b05-ffd578937521
2011-07-11 16:09:35 +00:00
fredkiefer
f859a92508 * Source/NSImage.m (-nativeDrawInRect:...): Compute the rep size
after the nil test.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33513 72102866-910b-0410-8b05-ffd578937521
2011-07-11 09:41:47 +00:00
fredkiefer
e04f21516d 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
ericwa
d938e01461 * Source/NSColorPanel.m (-_magnify:): Preliminary implementation
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33510 72102866-910b-0410-8b05-ffd578937521
2011-07-11 06:25:29 +00:00
ericwa
5a6cc44ba3 * Source/NSMenuView.m (-_trackWithEvent:): Fix for the bug where
the highlighted menu item can be offset from the mouse pointer
location when menu windows are moved by the window manager. See
detailed comment in the code for more info.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33508 72102866-910b-0410-8b05-ffd578937521
2011-07-11 02:58:36 +00:00
ericwa
41302a7155 * Source/GSGhostscriptImageRep.m: Remove hardcoded path to gs
executable. First try GSGhostscriptExecutablePath default, then
try running "$SHELL -c which gs" to get the path.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33505 72102866-910b-0410-8b05-ffd578937521
2011-07-10 22:41:35 +00:00