mirror of
https://github.com/gnustep/libs-gui.git
synced 2025-05-30 05:50:37 +00:00
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
This commit is contained in:
parent
cd3d1785e3
commit
ffc734898c
6 changed files with 55 additions and 26 deletions
10
ChangeLog
10
ChangeLog
|
@ -1,3 +1,13 @@
|
|||
2010-01-29 Eric Wasylishen <ewasylishen@gmail.com>
|
||||
|
||||
* Source/NSTableHeaderCell.m:
|
||||
* Source/GSTheme.m:
|
||||
* Source/NSTableHeaderView.m:
|
||||
* Source/GSThemeDrawing.m:
|
||||
* Headers/Additions/GNUstepGUI/GSTheme.h: Use theme tiles (if available)
|
||||
to draw table headers. New tile names are GSTableHeader and
|
||||
GSTableCorner.
|
||||
|
||||
2010-01-29 Eric Wasylishen <ewasylishen@gmail.com>
|
||||
|
||||
* Source/GSThemeDrawing.m (-cellForScrollerKnobSlot:): If there are
|
||||
|
|
|
@ -259,6 +259,11 @@ APPKIT_EXPORT NSString *GSScrollerUpArrow;
|
|||
APPKIT_EXPORT NSString *GSScrollerVerticalKnob;
|
||||
APPKIT_EXPORT NSString *GSScrollerVerticalSlot;
|
||||
|
||||
/* Names for table view parts */
|
||||
APPKIT_EXPORT NSString *GSTableHeader;
|
||||
APPKIT_EXPORT NSString *GSTableCorner;
|
||||
|
||||
|
||||
/**
|
||||
* This defines how the values in a tile array should be used when
|
||||
* drawing a rectangle. Mostly this just effects the center, middle
|
||||
|
|
|
@ -72,6 +72,12 @@ NSString *GSScrollerUpArrow = @"GSScrollerUpArrow";
|
|||
NSString *GSScrollerVerticalKnob = @"GSScrollerVerticalKnob";
|
||||
NSString *GSScrollerVerticalSlot = @"GSScrollerVerticalSlot";
|
||||
|
||||
// Table view part names
|
||||
NSString *GSTableHeader = @"GSTableHeader";
|
||||
NSString *GSTableCorner = @"GSTableCorner";
|
||||
|
||||
|
||||
|
||||
NSString *GSThemeDidActivateNotification
|
||||
= @"GSThemeDidActivateNotification";
|
||||
NSString *GSThemeDidDeactivateNotification
|
||||
|
|
|
@ -959,6 +959,7 @@ static NSImage *spinningImages[MaxCount];
|
|||
{
|
||||
NSRect divide;
|
||||
NSRect rect;
|
||||
GSDrawTiles *tiles = [self tilesNamed: GSTableCorner state: GSThemeNormalState];
|
||||
|
||||
if ([cornerView isFlipped])
|
||||
{
|
||||
|
@ -969,11 +970,20 @@ static NSImage *spinningImages[MaxCount];
|
|||
NSDivideRect(aRect, ÷, &rect, 1.0, NSMinYEdge);
|
||||
}
|
||||
|
||||
[[NSColor blackColor] set];
|
||||
NSRectFill(divide);
|
||||
rect = [self drawDarkButton: rect withClip: aRect];
|
||||
[[NSColor controlShadowColor] set];
|
||||
NSRectFill(rect);
|
||||
if (tiles == nil)
|
||||
{
|
||||
[[NSColor blackColor] set];
|
||||
NSRectFill(divide);
|
||||
rect = [self drawDarkButton: rect withClip: aRect];
|
||||
[[NSColor controlShadowColor] set];
|
||||
NSRectFill(rect);
|
||||
}
|
||||
else
|
||||
{
|
||||
[self fillRect: aRect
|
||||
withTiles: tiles
|
||||
background: [NSColor clearColor]];
|
||||
}
|
||||
}
|
||||
|
||||
- (void) drawTableHeaderCell: (NSTableHeaderCell *)cell
|
||||
|
@ -981,13 +991,29 @@ static NSImage *spinningImages[MaxCount];
|
|||
inView: (NSView *)controlView
|
||||
state: (GSThemeControlState)state
|
||||
{
|
||||
if (state == GSThemeHighlightedState)
|
||||
GSDrawTiles *tiles = [self tilesNamed: GSTableHeader state: state];
|
||||
|
||||
if (tiles == nil)
|
||||
{
|
||||
[self drawButton: cellFrame withClip: cellFrame];
|
||||
NSRect rect;
|
||||
if (state == GSThemeHighlightedState)
|
||||
{
|
||||
rect = [self drawButton: cellFrame withClip: cellFrame];
|
||||
[[NSColor controlColor] set];
|
||||
NSRectFill(rect);
|
||||
}
|
||||
else
|
||||
{
|
||||
rect = [self drawDarkButton: cellFrame withClip: cellFrame];
|
||||
[[NSColor controlShadowColor] set];
|
||||
NSRectFill(rect);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
[self drawDarkButton: cellFrame withClip: cellFrame];
|
||||
[self fillRect: cellFrame
|
||||
withTiles: tiles
|
||||
background: [NSColor clearColor]];
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -78,9 +78,6 @@
|
|||
withFrame: cellFrame
|
||||
inView: controlView
|
||||
state: state];
|
||||
|
||||
// Draw the label
|
||||
[self _drawBackgroundWithFrame: cellFrame inView: controlView];
|
||||
}
|
||||
|
||||
- (void) drawSortIndicatorWithFrame: (NSRect)cellFrame
|
||||
|
|
|
@ -254,21 +254,6 @@
|
|||
inView: self];
|
||||
drawingRect.origin.x += width;
|
||||
}
|
||||
|
||||
{
|
||||
NSRectEdge up_sides[] = {NSMinYEdge, NSMaxXEdge};
|
||||
NSRectEdge dn_sides[] = {NSMaxYEdge, NSMaxXEdge};
|
||||
float grays[] = {NSBlack, NSBlack};
|
||||
|
||||
if (![self isFlipped])
|
||||
{
|
||||
NSDrawTiledRects(_bounds, aRect, up_sides, grays, 2);
|
||||
}
|
||||
else
|
||||
{
|
||||
NSDrawTiledRects(_bounds, aRect, dn_sides, grays, 2);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue