Commit graph

157 commits

Author SHA1 Message Date
Eric Wasylishen
77b7b9558e * Source/GSThemeDrawing.m: Change stepper drawing methods to use
images. The stepper is too small to make decomposing it in to
border + bezel + arrow worthwhile; it's simpler to just use images.
* Images/GNUmakefile:
* Images/common_StepperDown.tiff:
* Images/common_StepperDownHighlighted.tiff:
* Images/common_StepperUp.tiff:
* Images/common_StepperUpHighlighted.tiff: Add stepper images


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37229 72102866-910b-0410-8b05-ffd578937521
2013-10-14 20:52:55 +00:00
Eric Wasylishen
6f4a16835b * Headers/Additions/GNUstepGUI/GSTheme.h: Add three new theme
control state: GSThemeFirstResponderState,
GSThemeHighlightedFirstResponderState,
and GSThemeSelectedFirstResponderState. This lets themes draw
custom first responder tiles, if the desired effect can't be
accomplished by drawing on top of an existing button.
* Source/GSThemeDrawing.m (-drawFocusFrame:inRect:):
Use tiles named "NSFocusRing" if available, else draw dotted
rect.
* Source/GSTheme.m:
* Source/NSButtonCell.m: Use new GSTheme*FirstResponderState
states


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37227 72102866-910b-0410-8b05-ffd578937521
2013-10-14 17:18:38 +00:00
Eric Wasylishen
856b71dd2f * Source/GSThemeDrawing.m (-drawTableViewBackgroundInClipRect:...):
Add support for drawing striped table backgrounds, using the colors
returned by [NSColor controlAlternatingRowBackgroundColors].
Currently not used because
-[NSTableView usesAlternatingRowBackgroundColors] is hardcoded to
return NO.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37226 72102866-910b-0410-8b05-ffd578937521
2013-10-14 07:05:05 +00:00
Eric Wasylishen
5501a5a4b7 * Headers/Additions/GNUstepGUI/GSTheme.h:
* Source/GSTheme.m: Add GSProgressIndicatorBezel part name
* Source/GSThemeDrawing.m (-drawProgressIndicatorBezel:withClip:):
Use GSProgressIndicatorBezel to draw bezel if available.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37222 72102866-910b-0410-8b05-ffd578937521
2013-10-14 03:31:54 +00:00
Eric Wasylishen
1411fdfa3a * Source/GSThemeTools.m: Fix unflipped/flipped coordinates bug
in the 9-patch content rect parsing code. Add some comments.
Simplify contentRectForRect: implementation.
* Source/GSThemeDrawing.m (-browserHeaderDrawingRectForCell:...):
Use -contentRectForRect: to get the content rect instead of
incorrectly reading from ivar. Fixes broken text positioning
in browser header with Nesedah theme.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37217 72102866-910b-0410-8b05-ffd578937521
2013-10-12 04:33:59 +00:00
Eric Wasylishen
3e533f43b1 * Source/GSThemeDrawing.m:
* Source/GSTheme.m:
* Headers/Additions/GNUstepGUI/GSTheme.h: Add part names for
themeing bottom tabs.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37211 72102866-910b-0410-8b05-ffd578937521
2013-10-09 01:48:50 +00:00
Eric Wasylishen
3d3125cdde * Source/GSThemeDrawing.m (-drawBoxInClipRect:...):
* Source/NSBox.m (-calcSizesAllowingNegative):
Special case for box type NSBoxSeparator to draw a centered line


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37210 72102866-910b-0410-8b05-ffd578937521
2013-10-08 23:42:30 +00:00
Eric Wasylishen
02bc49e2d5 * Source/GSThemeDrawing.m (NSBox): If drawing with theme tiles,
use actual clipping to clip a hole in the border, so we can avoid
filling anything with the background color.
* Source/NSBox.m (-isOpaque:): change to NO.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37207 72102866-910b-0410-8b05-ffd578937521
2013-10-08 18:22:15 +00:00
Eric Wasylishen
0786f621f2 * Source/NSTabView.m: Uncomment - (BOOL) isFlipped { return YES; }
* Source/GSThemeDrawing.m: Change tab drawing to assume flipped
coordinates


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37206 72102866-910b-0410-8b05-ffd578937521
2013-10-08 17:35:44 +00:00
Eric Wasylishen
7d7cac6780 * Source/GSThemeDrawing.m: Rewrite tab drawing code to be more
organized, lay out the images in a straightforward way, and
allow themeing the fill part of the tab between the end images.
The output is almost pixel-identical to
the old code (only some unnoticable 1-pixel differences
in where shadows end). It's also organized so that adding support
for left and right tabs should be easy.
* Headers/Additions/GNUstepGUI/GSTheme.h: Add some part names
* Images/common_Tab*.tiff: Tweak to work with the new layout code.
All top images are now the same size, as are all bottom images.
* Images/GNUmakefile:
* Images/common_TabUnSelectToSelectedJunction.tiff: Renamed to
Images/common_TabUnSelectedToSelectedJunction.tiff
* Source/GSThemePrivate.h:
* Source/GSTheme.m: Add GSStringFromTabViewType utility function


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37205 72102866-910b-0410-8b05-ffd578937521
2013-10-08 08:01:23 +00:00
Eric Wasylishen
11d5fc7902 * Source/GSThemeDrawing.m (-drawTableViewGridInClipRect:inView:):
Clean up grid drawing code; use rect fills to avoid blurriness.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37204 72102866-910b-0410-8b05-ffd578937521
2013-10-07 23:32:14 +00:00
Eric Wasylishen
69acbb22b1 * Headers/Additions/GNUstepGUI/GSTheme.h:
* Source/GSThemeDrawing.m:
* Source/NSPopUpButtonCell.m:
Remove -[GSTheme drawBorderAndBackgroundForPopUpButtonCell:
withFrame:inView:state:] which I added recently, and just use
-[GSTheme drawButton:in:view:style:state]. This way,
NSPopUpButtonCell automatically supports all of the different
NSBezelStyles.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37202 72102866-910b-0410-8b05-ffd578937521
2013-10-07 07:29:13 +00:00
Eric Wasylishen
e72fe86870 * Documentation/GuiUser/DefaultsSummary.gsdoc:
* Headers/Additions/GNUstepGUI/GSTheme.h:
* Source/GSThemeDrawing.m:
* Source/NSScroller.m: Add defaults GSScrollerScrollsByPage
and GSScrollerArrowsSameEnd to allow customizing scroller
behaviour beyond the combinations provided by NSInterfaceStyle.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37200 72102866-910b-0410-8b05-ffd578937521
2013-10-07 03:29:14 +00:00
Eric Wasylishen
53dcd018ad * Headers/Additions/GNUstepGUI/GSTheme.h:
* Source/GSThemeDrawing.m:
* Source/NSBrowser.m:
* Source/NSTableHeaderCell.m: Add custom color names
tableHeaderTextColor and browserHeaderTextColor for
table and browser headers.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37193 72102866-910b-0410-8b05-ffd578937521
2013-10-04 02:23:16 +00:00
Eric Wasylishen
fb723f8241 * Source/GSThemeDrawing.m: Use new -[GSDrawTiles themeMargins]
to get the margins for draw tiles.
* Source/GSThemePrivate.h:
* Source/GSThemeTools.m: Get the 9-patch content rect support
working from end-to-end.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37191 72102866-910b-0410-8b05-ffd578937521
2013-10-03 22:24:57 +00:00
Eric Wasylishen
c63df23ba8 * Headers/Additions/GNUstepGUI/GSTheme.h:
* 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
2013-10-03 19:52:05 +00:00
Eric Wasylishen
2347347cf9 * Headers/Additions/GNUstepGUI/GSTheme.h:
* 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
2013-10-03 04:51:10 +00:00
Eric Wasylishen
dfab5c6196 * Headers/Additions/GNUstepGUI/GSTheme.h:
* 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
2013-10-02 23:56:16 +00:00
Eric Wasylishen
ea8ded398f * Source/NSMenuView.m: Read the menu item/menu bar/separator
height from GSTheme.
* Headers/Additions/GNUstepGUI/GSTheme.h:
* Source/GSThemeDrawing.m: Add -menuBarHeight, -menuItemHeight,
-menuSeparatorHeight. Corresponding defaults are GSMenuBarHeight,
GSMenuItemHeight, GSMenuSeparatorHeight


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37182 72102866-910b-0410-8b05-ffd578937521
2013-10-02 22:06:24 +00:00
Eric Wasylishen
3bbfcbaab2 * Headers/Additions/GNUstepGUI/GSTheme.h:
* 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
2013-09-30 05:53:21 +00:00
Eric Wasylishen
67de37f017 * Source/NSBrowser.m:
* Source/GSThemeDrawing.m:
* Headers/Additions/GNUstepGUI/GSTheme.h: Add GSBrowserUseBezels
user default. Themes can set it to NO to prevent NSBrowser from
drawing any bezels, even if separatesColumns is set to YES.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37174 72102866-910b-0410-8b05-ffd578937521
2013-09-30 00:38:09 +00:00
Eric Wasylishen
8b6fffb7fc * Source/NSBrowser.m: Change NSBR_COLUMN_SEP and NSBR_VOFFSET
macros to static floats. Cache the values in +initialize and
when GSThemeDidActivateNotification is sent, by calling the
new GSTheme methods.
* Source/GSThemeDrawing.m:
* Headers/Additions/GNUstepGUI/GSTheme.h: Add
-browserColumnSeparation and -browserVerticalPadding methods
which access user defaults GSBrowserColumnSeparation and
GSBrowserVerticalPadding. These determine the padding between
browser columns, and the vertical padding between the bottom
scroller, contents, and headers.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37171 72102866-910b-0410-8b05-ffd578937521
2013-09-29 19:36:08 +00:00
Eric Wasylishen
2fe4c2e708 * Source/GSTheme.m:
* 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
2013-09-29 00:30:59 +00:00
Eric Wasylishen
d3a8560cc5 * Source/GSThemeDrawing.m: Add GSScrollerDefaultWidth user default
so non-code themes can change -[GSTheme defaultScrollerWidth]


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37163 72102866-910b-0410-8b05-ffd578937521
2013-09-28 20:40:42 +00:00
Fred Kiefer
a070f43ca7 * Source/NSTabView.m (-minimumSize, -contentRect): Make the
* values
        here consistent with the code in GSThemeDrawing.
        * Source/GSThemeDrawing.m (-drawTabViewRect:...): Remove useless
        line of code. 


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@36184 72102866-910b-0410-8b05-ffd578937521
2013-02-22 09:26:55 +00:00
Fred Kiefer
d870275b7f * Headers/AppKit/NSCell.h
* Headers/AppKit/NSColor.h
        * Headers/AppKit/NSGraphics.h
        * Headers/AppKit/NSView.h
        * Source/Functions.m
        * Source/GSThemeDrawing.m
        * Source/GSTitleView.m
        * Source/NSApplication.m
        * Source/NSCell.m
        * Source/NSView.m: More NSInteger/NSUInteger/CGFloat cleanup



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@36035 72102866-910b-0410-8b05-ffd578937521
2013-01-29 21:57:41 +00:00
Gregory John Casamento
8ca0f08715 * Source/GSThemeDrawing.m: Changes per discussion with Fred.
Added check to make sure the image is not overriden.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@35705 72102866-910b-0410-8b05-ffd578937521
2012-10-17 12:15:52 +00:00
Gregory John Casamento
f248bc9988 * Headers/Additions/GNUstepGUI/GSTheme.h: Add declaration
for method setKeyEquivalent:forButtonCell:
	* Source/GSThemeDrawing.m: Add implementation for method
	setKeyEquivalent:forButtonCell:
	* Source/NSButtonCell.m: Add call to new method.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@35702 72102866-910b-0410-8b05-ffd578937521
2012-10-16 21:23:48 +00:00
Fred Kiefer
ce25719c03 * Source/GSThemeDrawing.m (-drawTabViewRect:...selectedItem:),
* Source/NSTabView.m (-drawRect:): Move the select logic from
theme into normal code.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@35686 72102866-910b-0410-8b05-ffd578937521
2012-10-14 19:21:55 +00:00
Eric Wasylishen
93ca7c0e0e * Source/GSThemeDrawing.m (-toolbarBorderColor): Change default to
[NSColor darkGrayColor]
* Source/NSToolbar.m (-initWithIdentifier:): Call
[self setShowsBaselineSeparator: YES] by default so the toolbar has
a bottom border.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34983 72102866-910b-0410-8b05-ffd578937521
2012-03-22 23:11:44 +00:00
Fred Kiefer
8ad4aa86c4 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
Quentin Mathe
96aad93e0f 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
Eric Wasylishen
60674d5076 * 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
Quentin Mathe
e2967ab5bc 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
Eric Wasylishen
991c4639a7 * 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
Eric Wasylishen
01c4a0be63 * 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
Riccardo Mottola
774ac5ba02 added Icon for the Music folder
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@31731 72102866-910b-0410-8b05-ffd578937521
2010-12-14 10:22:50 +00:00
Gregory John Casamento
64516b7af5 Additional table view methods for themeing.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@31679 72102866-910b-0410-8b05-ffd578937521
2010-11-28 03:55:58 +00:00
Gregory John Casamento
529856ef33 Added NSTableView to the drawing methods for GSTheme.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@31678 72102866-910b-0410-8b05-ffd578937521
2010-11-28 00:05:46 +00:00
Gregory John Casamento
be0954d2ac Change to GSThemeDrawing to implement drawTableHeaderRect:inView:
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@31673 72102866-910b-0410-8b05-ffd578937521
2010-11-27 18:17:49 +00:00
Riccardo Mottola
a34d9f2b4a Revert color well thickness. If desired, this should go in a theme
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@31672 72102866-910b-0410-8b05-ffd578937521
2010-11-27 11:57:57 +00:00
Gregory John Casamento
942841a1d4 Added methods for drawing tableheader cell.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@31668 72102866-910b-0410-8b05-ffd578937521
2010-11-27 03:51:13 +00:00
Gregory John Casamento
5751234b4b Adding methods to draw knob and bar to theme.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@31666 72102866-910b-0410-8b05-ffd578937521
2010-11-26 22:48:46 +00:00
Gregory John Casamento
4b57864928 Added method to draw scroll view.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@31662 72102866-910b-0410-8b05-ffd578937521
2010-11-26 21:27:58 +00:00
Gregory John Casamento
72963b2f49 Added theming for NSMenuView into GSTheme.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@31660 72102866-910b-0410-8b05-ffd578937521
2010-11-26 20:28:45 +00:00
Gregory John Casamento
eac1ad07ad Adding theme method for NSBrowser drawing.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@31658 72102866-910b-0410-8b05-ffd578937521
2010-11-26 19:49:04 +00:00
Gregory John Casamento
538432c72f Added method to draw scroller using theme.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@31656 72102866-910b-0410-8b05-ffd578937521
2010-11-26 19:16:46 +00:00
Gregory John Casamento
8ed87de2f2 Added method to draw tab view to theme.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@31654 72102866-910b-0410-8b05-ffd578937521
2010-11-26 18:08:58 +00:00
Doug Simons
3d3450fa2b Make border of NSColorWell smaller to more closely match Cocoa metrics.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@31633 72102866-910b-0410-8b05-ffd578937521
2010-11-19 17:39:29 +00:00
Fred Kiefer
0ecdeae752 Remove compiler warning for NSBrowser header cell drawing.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@30360 72102866-910b-0410-8b05-ffd578937521
2010-05-11 16:48:44 +00:00
Eric Wasylishen
0d365b7d10 NSBrowser header themeing
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@30189 72102866-910b-0410-8b05-ffd578937521
2010-04-19 03:14:36 +00:00
Fred Kiefer
7e289df84b 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
Eric Wasylishen
13b071dd72 * Source/NSMenu.m: Make the background color of NSMenuPanel clear
* Source/GSThemeDrawing.m:
in drawBackgroundForMenuView:withFrame:dirtyRect:horizontal:,
when not using tiles, fill the background of the menu with
the window background color.
Now themes can draw semitransparent menus, and they work properly.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@29600 72102866-910b-0410-8b05-ffd578937521
2010-02-13 03:24:19 +00:00
Eric Wasylishen
f91e4cceec Make the window border color customizable
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@29595 72102866-910b-0410-8b05-ffd578937521
2010-02-12 23:57:21 +00:00
Eric Wasylishen
411d3e27bc NSColorWell themeing
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@29594 72102866-910b-0410-8b05-ffd578937521
2010-02-12 23:09:35 +00:00
Eric Wasylishen
e7e2c06ef5 Allow customization of window title text color for key/normal/main windows
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@29593 72102866-910b-0410-8b05-ffd578937521
2010-02-12 22:19:40 +00:00
Eric Wasylishen
94946a1f50 * GSThemeDrawing.m: Move code in NSTableHeaderView which leaves a
1pt gap underneath table headers to GSThemeDrawing, since it only
looks decent with a NeXT-like theme. This fixes the
misalignment between the table corner and the table headers visible
in the Narcissus theme


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@29567 72102866-910b-0410-8b05-ffd578937521
2010-02-12 06:59:12 +00:00
Eric Wasylishen
6a8d987dbc Draw window title bar with image tiles, if available
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@29504 72102866-910b-0410-8b05-ffd578937521
2010-02-07 22:09:32 +00:00
Eric Wasylishen
e086eb3dbe Draw borders using image tiles, if available.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@29503 72102866-910b-0410-8b05-ffd578937521
2010-02-07 21:42:50 +00:00
Eric Wasylishen
539223a674 Preliminary support for themeing the window resize bar with tiles.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@29456 72102866-910b-0410-8b05-ffd578937521
2010-02-01 08:41:04 +00:00
Eric Wasylishen
82d6f25159 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
Eric Wasylishen
1d764b8771 Use theme tiles (if available) to draw progress bars.
New tile name: GSProgressIndicatorBarDeterminate


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@29453 72102866-910b-0410-8b05-ffd578937521
2010-02-01 06:20:11 +00:00
Eric Wasylishen
5b680cf5d2 * Source/GSThemeDrawing.m: Use theme tiles (if available)
to draw segmented controls, chosen based on the segment style constant,
and falling back to drawing buttons if the segment tiles are not
available.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@29452 72102866-910b-0410-8b05-ffd578937521
2010-02-01 05:27:01 +00:00
Eric Wasylishen
7225f6e380 Use theme tiles (if available) to draw menu backgrounds and items.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@29447 72102866-910b-0410-8b05-ffd578937521
2010-01-30 05:00:29 +00:00
Eric Wasylishen
ffc734898c Use theme tiles (if available) to draw table headers. New tile names are
GSTableHeader and GSTableCorner.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@29444 72102866-910b-0410-8b05-ffd578937521
2010-01-29 22:21:34 +00:00
Eric Wasylishen
cd3d1785e3 Use tiles for drawing scroller slots, if available
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@29443 72102866-910b-0410-8b05-ffd578937521
2010-01-29 20:55:24 +00:00
Eric Wasylishen
a3835dbe56 Add support for looking up button tiles based on bezel style
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@29441 72102866-910b-0410-8b05-ffd578937521
2010-01-29 08:08:10 +00:00
Eric Wasylishen
e6c79f2fb8 NSSegmentedCell themeing support
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@29435 72102866-910b-0410-8b05-ffd578937521
2010-01-29 03:11:43 +00:00
Eric Wasylishen
2c328a83d5 Correct typo in NSTexturedRoundedBezelStyle
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@29432 72102866-910b-0410-8b05-ffd578937521
2010-01-28 23:33:08 +00:00
Eric Wasylishen
253a3dff34 Factor out table header cell drawing into a new GSTheme method,
-drawTableHeaderCell:withFrame:inView:state:


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@29431 72102866-910b-0410-8b05-ffd578937521
2010-01-28 07:25:04 +00:00
Eric Wasylishen
f03ffb9793 Create a new GSTheme method for drawing the background of NSMenuView,
-drawBackgroundForMenuView:withFrame:dirtyRect:horizontal:


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@29430 72102866-910b-0410-8b05-ffd578937521
2010-01-28 04:28:23 +00:00
Eric Wasylishen
b521058a3a Remove some accidentally committed code from r29416
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@29429 72102866-910b-0410-8b05-ffd578937521
2010-01-28 01:40:35 +00:00
Eric Wasylishen
4e82769c24 * Source/GSThemeDrawing.m (-buttonBorderForCell:style:state:):
Use the new contentRect when calculating the border for tiles


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@29425 72102866-910b-0410-8b05-ffd578937521
2010-01-27 23:24:21 +00:00
Quentin Mathe
84683f1c4d Added the possibility to customize the title view look and behavior in a theme
with a GSTitleView subclass.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@29419 72102866-910b-0410-8b05-ffd578937521
2010-01-27 11:29:07 +00:00
Eric Wasylishen
27d0e485e3 * Source/NSView.m (-setHidden:): Fix un-hiding of hidden views, loaded
from nib's, with subviews. The subview coordinates just need to be
invalidated when the view is unhidden.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@29416 72102866-910b-0410-8b05-ffd578937521
2010-01-27 07:40:54 +00:00
Eric Wasylishen
ab285b8ea4 Finish NSColorWell interaction tweaks:
- activation of the now happens on mouseUp, not mouseDown
- non-bordered NSColorWells can't be activated by clicking
- non-bordered NSColorWells start a drag operation upon mouseDown
- disabled NSColorWells don't accept colours being dropped on them
- dropping a colour on the well inside the NSColorPanel now
  also updates the active NSColorWell
Also moved the static variable for keeping track of where the mouseDown
occurred to an instance variable.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@29150 72102866-910b-0410-8b05-ffd578937521
2009-12-21 00:31:24 +00:00
Wolfgang Lux
06dc196682 Prevent division by zero exception if a theme has no images for a
spinning or indeterminate progress indicator.
Ensure that a running animation is stopped when an indeterminate
indicator is changed into a determinate one.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@29136 72102866-910b-0410-8b05-ffd578937521
2009-12-17 02:36:22 +00:00
Richard Frith-MacDonald
f2a8d1d58c api cleanup
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@29039 72102866-910b-0410-8b05-ffd578937521
2009-11-19 20:37:43 +00:00
Richard Frith-MacDonald
09c902f201 theming cleanups
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@29024 72102866-910b-0410-8b05-ffd578937521
2009-11-16 14:28:11 +00:00
Hans Baier
0a872453bc Source/GSThemeDrawing.m: fix bug introduced in last commit (progress bar fills the whole area)
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@29004 72102866-910b-0410-8b05-ffd578937521
2009-11-14 03:52:59 +00:00
Hans Baier
4e4a09f7de Factor out drawing of progress indicator's bezel and bar
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@29003 72102866-910b-0410-8b05-ffd578937521
2009-11-14 03:46:00 +00:00
Hans Baier
be3a29fd05 make the arrow image in NSMenuItemCell themeable
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@29001 72102866-910b-0410-8b05-ffd578937521
2009-11-14 02:56:29 +00:00
Fred Kiefer
139258eec5 Move initialisation and drawing of progress indicator into GSTheme.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@28987 72102866-910b-0410-8b05-ffd578937521
2009-11-09 20:15:36 +00:00
Fred Kiefer
882cecd516 Move the colour well border drawing into GSTheme.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@28986 72102866-910b-0410-8b05-ffd578937521
2009-11-09 18:00:54 +00:00
Fred Kiefer
17ef668924 Move corner view drawing into GSTheme.
Add new 10.3 methods for NSTableHeaderCell.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@28985 72102866-910b-0410-8b05-ffd578937521
2009-11-09 14:53:59 +00:00
Fred Kiefer
3bfc5beceb Move stepper drawing code into GSTheme.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@28983 72102866-910b-0410-8b05-ffd578937521
2009-11-09 13:01:48 +00:00
Fred Kiefer
6d3f57e366 dd a few more includes.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@28946 72102866-910b-0410-8b05-ffd578937521
2009-11-03 18:33:35 +00:00
Fred Kiefer
eecdf96f4b Extract a few more drawing and colour methods to GSTheme.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@28937 72102866-910b-0410-8b05-ffd578937521
2009-11-02 11:48:22 +00:00
Richard Frith-MacDonald
0400de2215 get things working on mingw again
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@28925 72102866-910b-0410-8b05-ffd578937521
2009-10-30 20:32:24 +00:00
Richard Frith-MacDonald
a49d3efb05 give theme more control over drawing
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@28839 72102866-910b-0410-8b05-ffd578937521
2009-10-18 16:23:34 +00:00
Fred Kiefer
28c709afdf Move all the window border drawing code into GSTheme.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@28792 72102866-910b-0410-8b05-ffd578937521
2009-10-10 17:37:01 +00:00
Hans Baier
73a9ff2af5 GSTheme.h: fix typo in method name: Toobar -> Toolbar
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@28688 72102866-910b-0410-8b05-ffd578937521
2009-09-16 02:44:28 +00:00
Gregory John Casamento
3300a0b948 Correct images used for H/V orientation of the dimple.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@28570 72102866-910b-0410-8b05-ffd578937521
2009-08-28 22:08:16 +00:00
Gregory John Casamento
1aa8213925 Correct the image name to be consistent with the other image names.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@28568 72102866-910b-0410-8b05-ffd578937521
2009-08-28 21:33:37 +00:00
Gregory John Casamento
989fb01d6d * Images/common_DimpleH.tiff: Horizontal image for dimple. This
image is not different from the vertical dimple for the default
	theme.  It's here so that it can be overriden by a theme, if
	needed.
	* Images/GNUmakefile: Add new image.
	* Source/GSThemeDrawing.m: Modify code in cellForScrollerKnob
	to use common_Dimple.tiff or common_DimpleH.tiff depending
	on the orientation of the scroller.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@28567 72102866-910b-0410-8b05-ffd578937521
2009-08-28 21:22:52 +00:00
Gregory John Casamento
5d839b7f81 * 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
Gregory John Casamento
bc95107253 * 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
Gregory John Casamento
b6789caaeb * Headers/Additions/GNUstepGUI/GSTheme.h: Add methods for drawing
stepper cell here.
	* Source/GSThemeDrawing.m: Implementations for stepper cell functions.
	* Source/NSStepperCell.m: Use new stepper cell functions.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@28510 72102866-910b-0410-8b05-ffd578937521
2009-08-22 23:50:14 +00:00
Fred Kiefer
ee49afcb9b 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
Fred Kiefer
71f807b1c7 Add theme drawing for toolbar view.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@27806 72102866-910b-0410-8b05-ffd578937521
2009-02-07 21:58:12 +00:00