* Source/GSTheme.m:
* Source/GSThemeDrawing.m:
* Source/NSBox.m: Factor out -[NSBox drawRect:] to GSTheme
method -drawBoxInClipRect:boxType:borderType:inView:.
Add a tiles name GSBoxBorder for themeing the box border.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37188 72102866-910b-0410-8b05-ffd578937521
* Source/GSTheme.m:
Declare GSSliderHorizontalTrack and GSSliderVerticalTrack
part names for themeing the background of NSSlider
* Source/GSThemeDrawing.m:
Add new drawSliderBorderAndBackground:frame:inCell:isHorizontal:
method to draw the slider border and background.
* Source/GSThemePrivate.h:
* Source/GSThemeTools.m:
Add a -size method on GSDrawTiles which returns the total
original size of the tiles, so we can easily compute a rect
that scales the tiles in only one dimension.
* Source/NSSliderCell.m:
Override _drawBorderAndBackgroundWithFrame: to call new
GSTheme method. Also, tweak the knob drawing code; the knob
is now centered and drawn at its native size. This still looks
correct with the default slider sizes create by Gorm.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37185 72102866-910b-0410-8b05-ffd578937521
* Source/GSTheme.m:
* Source/GSThemeDrawing.m:
* Source/NSPopUpButtonCell.m: Add a theme part GSPopUpButton
so NSPopUpButtonCell can be drawn with a different background
than NSMenuItemCell.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37183 72102866-910b-0410-8b05-ffd578937521
* Source/NSScrollView.m:
* Source/GSThemeDrawing.m:
* Source/GSTheme.m: Add GSScrollViewUseBottomCorner default,
which themes can set to NO to leave a square gap in the bottom-
left (or bottom-right) corner where the horizontal and vertical
scrollers meet.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37176 72102866-910b-0410-8b05-ffd578937521
* Source/GSTitleView.m:
* Source/GSThemeDrawing.m:
* Headers/Additions/GNUstepGUI/GSTheme.h: Add GSMenuTitleBackground
theme tile for themeing the background of GSTitleView.
NOTE: I removed some code that was in -[GSTitleView drawRect:] for
drawing with a different style when the GSTitleView is NOT owned
by an NSMenu, but by an NSWindow/NSPanel (_ownedByMenu == NO).
If needed, this can be added back, but it doesn't appear to ever
be used in gnustep-gui - GSTitleView is only created in one place,
with NSMenu as the owner.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37165 72102866-910b-0410-8b05-ffd578937521
* Source/NSImage.m: Revert previous commit and write a much cleaner
implementation that fixes the same bug.
I removed the step in theme activation where we call
+[NSImage _setImagePath:name:] on each image in the theme, and instead
modified +[NSImage _pathForImageNamed:] to also search the theme images
directory.
When a GSTheme activates now, it only calls +[NSImage _reloadCachedImages]
which checks all NSImage cached by name and reloads any whose path has
changed.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@36482 72102866-910b-0410-8b05-ffd578937521
common_3DArrowRight and have images that map to it (NSMenuArrow)
automatically update.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@36474 72102866-910b-0410-8b05-ffd578937521
on theme activation/deactivation.
* Source/NSImage.m (+imageNamed:): Factor out code for finding
the path for a name to a separate method, +pathForImageNamed.
The code is unchanged otherwise, except for fixing the retrieval
of images from the theme bundle, which was broken.
* Source/NSImage.m (-setName:): Remove code for creating theme
proxy. Subscribe/unscribe to theme change notification when
the receiver is added/removed from the name dictionary.
* Source/NSImage.m (-themeDidActivate:): Method called in
response to a GSThemeDidActivateNotification on images with
a name set. It does a path lookup in the same way that
+imageNamed: would, and checks if the path has changed due
to the theme change. If it has, all reps are discarded and
the image at the new path is loaded. This avoids the need for
the theme proxy objects.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34474 72102866-910b-0410-8b05-ffd578937521
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
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
* 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
* 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
from NSImage category.
* Source/NSImage.m: Added code in _setImage:forName: to archive
by name instead.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@31075 72102866-910b-0410-8b05-ffd578937521
* Source/GSTheme.m: Call method _setArchiveByName: with YES so that
images loaded by a theme will not be persisted as image data, but
rather as references. This will avoid an issue with saving theme
images when saving files in Gorm while a theme is loaded.
* Source/NSImage.m: Added method _setArchiveByName:.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@31021 72102866-910b-0410-8b05-ffd578937521