Fixed state columns not showing up.

Reviewed by me.
This commit is contained in:
Francisco Ryan Tolmasky I
2009-12-02 20:18:25 -08:00
parent 348e45a5cd
commit f579fd925e
3 changed files with 16 additions and 9 deletions
+2 -2
View File
@@ -41,7 +41,7 @@ var _CPMenuBarWindowBackgroundColor = nil,
var bundle = [CPBundle bundleForClass:self];
_CPMenuBarWindowFont = [CPFont systemFontOfSize:11.0];
_CPMenuBarWindowFont = [CPFont boldSystemFontOfSize:13.0];
}
- (id)init
@@ -72,7 +72,7 @@ var _CPMenuBarWindowBackgroundColor = nil,
_titleField = [[CPTextField alloc] initWithFrame:CGRectMakeZero()];
[_titleField setFont:[CPFont boldSystemFontOfSize:12.0]];
[_titleField setFont:[CPFont boldSystemFontOfSize:13.0]];
[_titleField setAlignment:CPCenterTextAlignment];
[_titleField setTextShadowOffset:CGSizeMake(0, 1)];
+8 -4
View File
@@ -24,7 +24,6 @@ var SUBMENU_INDICATOR_COLOR = nil,
CGSize _minSize @accessors(readonly, property=minSize);
BOOL _isDirty;
BOOL _showsStateColumn;
CPImageView _stateView;
_CPImageAndTextView _imageAndTextView;
@@ -67,6 +66,8 @@ var SUBMENU_INDICATOR_COLOR = nil,
{
_stateView = [[CPImageView alloc] initWithFrame:CGRectMake(0.0, 0.0, 0.0, 0.0)];
[_stateView setImageScaling:CPScaleNone];
[self addSubview:_stateView];
_imageAndTextView = [[_CPImageAndTextView alloc] initWithFrame:CGRectMake(0.0, 0.0, 0.0, 0.0)];
@@ -116,12 +117,12 @@ var SUBMENU_INDICATOR_COLOR = nil,
- (void)update
{
var x = LEFT_MARGIN + [_menuItem indentationLevel] * INDENTATION_WIDTH,
height = 0.0;
height = 0.0,
hasStateColumn = [[_menuItem menu] showsStateColumn];
if (_showsStateColumn)
if (hasStateColumn)
{
[_stateView setHidden:NO];
[_stateView setFrameSize:CGSizeMake(STATE_COLUMN_WIDTH, STATE_COLUMN_WIDTH)];
[_stateView setImage:_CPMenuItemDefaultStateImages[[_menuItem state]] || nil];
x += STATE_COLUMN_WIDTH;
@@ -193,6 +194,9 @@ var SUBMENU_INDICATOR_COLOR = nil,
imageAndTextViewFrame.origin.y = FLOOR((height - CGRectGetHeight(imageAndTextViewFrame)) / 2.0);
[_imageAndTextView setFrame:imageAndTextViewFrame];
if (hasStateColumn)
[_stateView setFrameSize:CGSizeMake(STATE_COLUMN_WIDTH, height)];
if (hasKeyEquivalent)
{
keyEquivalentViewFrame.origin.y = FLOOR((height - CGRectGetHeight(keyEquivalentViewFrame)) / 2.0);
+6 -3
View File
@@ -198,11 +198,14 @@ var _CPMenuItemSelectionColor = nil,
- (void)setFont:(CPFont)aFont
{
if (_font == aFont)
if (_font === aFont)
return;
_font = aFont;
if ([_view respondsToSelector:@selector(setFont:)])
[_view setFont:aFont];
[self setDirty];
}