Commit graph

157 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
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
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
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
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
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
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
fredkiefer
f41b5fd58c * Source/NSButtonCell.m (-setTitle:, -setAttributedTitle:,
-setAlternateImage:, -setImagePosition:): Update the control to
reflect the changes.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33350 72102866-910b-0410-8b05-ffd578937521
2011-06-19 16:13:47 +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
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
fredkiefer
30240921b4 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
wlux
10c98c9b2f Correct serious nib loading bug on big endian machines.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@30472 72102866-910b-0410-8b05-ffd578937521
2010-05-29 08:32:02 +00:00
theraven
3da9ac45b7 Lots of small tweaks to make -gui compile without warnings with clang.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@30119 72102866-910b-0410-8b05-ffd578937521
2010-04-10 20:33:30 +00:00
fredkiefer
cec34abb20 Remove compiler warnings from clang.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@30117 72102866-910b-0410-8b05-ffd578937521
2010-04-10 17:48:46 +00:00
fredkiefer
3d559c477e Yet another set of #include -> #import replacement.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@30083 72102866-910b-0410-8b05-ffd578937521
2010-03-31 08:14:50 +00:00
fredkiefer
c24eef3a7c Remove includes of GSCategories.h, as this file no longer exists.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@30000 72102866-910b-0410-8b05-ffd578937521
2010-03-19 08:18:43 +00:00
wlux
f5dafed11d Fix NSButtonCell's -setImagePosition: to avoid resetting the button's
image or title. Neither of this is desirable as it prevents
temporarily hiding the image or title by changing the image
position. This makes the behavior of -setImagePosition: now fully
compatible with Mac OS X.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@29704 72102866-910b-0410-8b05-ffd578937521
2010-02-22 20:50:08 +00:00
fredkiefer
a67707b682 Fix up teh includes to compile again after latest changes to base. Still
plenty of warnings and the result isn't working at least on 64 bit
machines :-(


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@29685 72102866-910b-0410-8b05-ffd578937521
2010-02-20 10:40:44 +00:00
ericwa
1e62a48e11 Add GSThemeDisabledState
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@29455 72102866-910b-0410-8b05-ffd578937521
2010-02-01 08:26:40 +00:00
ericwa
b6dd322c45 Treat NSButtonCell's with a bezel style as being non-opaque
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@29434 72102866-910b-0410-8b05-ffd578937521
2010-01-29 02:14:25 +00:00
fredkiefer
32d83a1422 Cleaned up implementation of NSButtonCell title setting. This allowed to
remove special case from NSCell setString:.
Removed unneeded NSSliderCell methods.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@29142 72102866-910b-0410-8b05-ffd578937521
2009-12-19 23:05:48 +00:00
fredkiefer
e6b676615b Merge changes from Doug Simons to trunk.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@29017 72102866-910b-0410-8b05-ffd578937521
2009-11-15 18:04:17 +00:00
rfm
f48b5d132e Small theme update, plus documentation fixes and tweaks to avoid warnings.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@28538 72102866-910b-0410-8b05-ffd578937521
2009-08-25 07:46:37 +00:00
gcasa
e70f79fbf7 * Headers/Additions/GNUstepGUI/GSTheme.h: Add image parameter,
* Source/GSThemeDrawing.m: Add image parameter.   Correctly
	handle disabled buttons.
	* Source/NSButtonCell.m: Change to use new signature.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@28523 72102866-910b-0410-8b05-ffd578937521
2009-08-23 18:24:34 +00:00
gcasa
e89b630802 * Headers/Additions/GNUstepGUI/GSTheme.h: Added new method declaration
for drawButtonCell:...
	* Source/GSThemeDrawing.m: Added implementation for new method.  The
	purpose of the method is to allow the theme to override images with
	native images which may be theme dependent.
	* Source/NSButtonCell.m: Use the new method.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@28522 72102866-910b-0410-8b05-ffd578937521
2009-08-23 18:07:39 +00:00
fredkiefer
ac0a1fa85f Changed all title methods on NSButtonCell to use the
super string value methods and redefine the local string value
methods to work with the object value. 
Patch by Matt Rice <ratmice@gmail.com>.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@27946 72102866-910b-0410-8b05-ffd578937521
2009-02-21 23:15:22 +00:00
fredkiefer
2bb22d1f9b Replace the key equivalent when it was set wrongly by Gorm.
Patch by Wolfgang Lux  <wolfgang.lux@gmail.com>.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@27579 72102866-910b-0410-8b05-ffd578937521
2009-01-12 14:02:05 +00:00
rfm
191ace5551 Some moves towards making scrollers more themable
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@27518 72102866-910b-0410-8b05-ffd578937521
2009-01-05 09:43:25 +00:00
rfm
5d35bfee59 Some code for scroller theming
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@27498 72102866-910b-0410-8b05-ffd578937521
2009-01-02 12:40:07 +00:00
fredkiefer
c1964b83f3 Make the button redraw after setting the image.
Don't do anything when the same contents view gets set on the window
again.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@27308 72102866-910b-0410-8b05-ffd578937521
2008-12-16 19:28:25 +00:00
gcasa
9f2f0af015 * Source/GSNibLoading.m
* Source/NSButtonCell.m
	* Source/NSNibAXAttributeConnector.m
	* Source/NSNibAXRelationshipConnector.m
	* Source/NSNibBindingConnector.m
	* Source/NSNib.m
	* Source/NSProgressIndicator.m: Change to use new headers.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@27189 72102866-910b-0410-8b05-ffd578937521
2008-12-02 07:27:14 +00:00
fredkiefer
7f9c5cf331 Moved _sizeForBorderType() into GSTheme header and added more methods
for theme abstraction.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@26836 72102866-910b-0410-8b05-ffd578937521
2008-09-08 18:59:48 +00:00
fedor
ce41d782c1 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
fredkiefer
3d9091f2d4 Better NIB loading for NSWindow.
Ignore missing image in NSButtonCell drawing.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@26591 72102866-910b-0410-8b05-ffd578937521
2008-06-02 10:35:42 +00:00
fredkiefer
4b5e5b24f2 Add image position decoding and encoding.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@26542 72102866-910b-0410-8b05-ffd578937521
2008-05-19 17:42:23 +00:00
nicola
1bcb285a85 Added back proper horizontal padding around autosized buttons that got lost with no explanations (probably a mistake) on 2007-01-23
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@26366 72102866-910b-0410-8b05-ffd578937521
2008-03-20 10:06:12 +00:00
fredkiefer
6c78246b0a Add direct check if the mouse is inside the cellFrame.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@26021 72102866-910b-0410-8b05-ffd578937521
2008-02-03 19:32:07 +00:00
fredkiefer
e25cceb710 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
gcasa
251a90b819 Added code to encodeWithCoder: in NSButtonCell to allow encoding of previous version of the class to the archive.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@25415 72102866-910b-0410-8b05-ffd578937521
2007-08-25 02:36:02 +00:00
fredkiefer
37a8fe73ae Adopt to changed values for _keyEquivalentModifierMask.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@25380 72102866-910b-0410-8b05-ffd578937521
2007-08-07 15:56:03 +00:00
fredkiefer
73a1bc1df3 Just white space clean-up.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@25094 72102866-910b-0410-8b05-ffd578937521
2007-04-29 11:29:33 +00:00
fredkiefer
0ccb895f2b Extract cell border drawing into helper method.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@24928 72102866-910b-0410-8b05-ffd578937521
2007-03-23 22:34:02 +00:00
fredkiefer
f63c0258d2 Corrected and cleaned up focus ring drawing for cell classes.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@24924 72102866-910b-0410-8b05-ffd578937521
2007-03-22 17:47:56 +00:00
fredkiefer
971ec8d86d Draw round and circular bezel borders for button cells. Code by Nikolaus
Schaller <hns@computer.org>.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@24415 72102866-910b-0410-8b05-ffd578937521
2007-01-25 13:11:49 +00:00
fredkiefer
200770a3e5 Add MaxOS 10.4 methods and required ivars to NSButtonCell, implemented
then and use this methods. Also adjusted subclasses tothis changes.
Split off theming code for buttons into two methods.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@24400 72102866-910b-0410-8b05-ffd578937521
2007-01-23 14:17:02 +00:00
stoyan
4f53bd35bc * Source/GSTheme.m (-drawButton:view:style:state:): Call
[drawButton:withClip:] instead of [drawGreyBezel:withClip:] if
  state is highlighted (e.g. scroller buttons).



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@24388 72102866-910b-0410-8b05-ffd578937521
2007-01-19 20:13:04 +00:00
rfm
8854f61fe3 Merge in some theming changes
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@24120 72102866-910b-0410-8b05-ffd578937521
2006-11-17 08:54:20 +00:00
rfm
cc3cafa874 tidyups and minor theme tiling updates.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@23871 72102866-910b-0410-8b05-ffd578937521
2006-10-15 08:34:47 +00:00
rfm
8bf3cdc94e theme reorganisation/tidy up
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@23586 72102866-910b-0410-8b05-ffd578937521
2006-09-22 11:53:40 +00:00
rfm
f5a8f2e9aa Some theme integration work
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@23585 72102866-910b-0410-8b05-ffd578937521
2006-09-22 11:23:03 +00:00