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
This commit is contained in:
Eric Wasylishen 2010-01-28 07:25:04 +00:00
parent f03ffb9793
commit 253a3dff34
4 changed files with 38 additions and 3 deletions

View file

@ -1,3 +1,11 @@
2010-01-28 Eric Wasylishen <ewasylishen@gmail.com>
* Headers/Additions/GNUstepGUI/GSTheme.h:
* Source/NSTableHeaderCell.m:
* Source/GSThemeDrawing.m: Factor out table header cell drawing into
a new GSTheme method,
-drawTableHeaderCell:withFrame:inView:state:
2010-01-27 Eric Wasylishen <ewasylishen@gmail.com>
* Headers/Additions/GNUstepGUI/GSTheme.h:

View file

@ -238,6 +238,7 @@
@class NSMenuItemCell;
@class NSMenuView;
@class NSProgressIndicator;
@class NSTableHeaderCell;
@class GSDrawTiles;
/* First, declare names used for obtaining colors and/or tiles for specific
@ -869,7 +870,10 @@ APPKIT_EXPORT NSString *GSThemeWillDeactivateNotification;
// Table drawing methods
- (void) drawTableCornerView: (NSView*)cornerView
withClip: (NSRect)aRect;
- (void) drawTableHeaderCell: (NSTableHeaderCell *)cell
withFrame: (NSRect)cellFrame
inView: (NSView *)controlView
state: (GSThemeControlState)state;
- (float) titlebarHeight;

View file

@ -945,6 +945,22 @@ static NSImage *spinningImages[MaxCount];
NSRectFill(rect);
}
- (void) drawTableHeaderCell: (NSTableHeaderCell *)cell
withFrame: (NSRect)cellFrame
inView: (NSView *)controlView
state: (GSThemeControlState)state
{
if (state == GSThemeHighlightedState)
{
[self drawButton: cellFrame withClip: cellFrame];
}
else
{
[self drawDarkButton: cellFrame withClip: cellFrame];
}
}
// Window decoration drawing methods
/* These include the black border. */
#define TITLE_HEIGHT 23.0

View file

@ -64,15 +64,22 @@
- (void) _drawBorderAndBackgroundWithFrame: (NSRect)cellFrame
inView: (NSView*)controlView
{
GSThemeControlState state;
if (_cell.is_highlighted == YES)
{
[[GSTheme theme] drawButton: cellFrame withClip: cellFrame];
state = GSThemeHighlightedState;
}
else
{
[[GSTheme theme] drawDarkButton: cellFrame withClip: cellFrame];
state = GSThemeNormalState;
}
[[GSTheme theme] drawTableHeaderCell: self
withFrame: cellFrame
inView: controlView
state: state];
// Draw the label
[self _drawBackgroundWithFrame: cellFrame inView: controlView];
}