From db9e649f6ee50a177e95e2bd7e5f9db9b9037ab4 Mon Sep 17 00:00:00 2001 From: cacaodev Date: Thu, 7 May 2015 22:35:02 +0200 Subject: [PATCH] FIXED: missing return stmt in -indexOfTabViewItemWithIdenfier; Refactored delegate notifications. CPTabViewItem style. Tests: All delegate methods are tested in CPTabViewNib manual test. --- AppKit/CPTabView.j | 23 ++++++++++++++++++----- AppKit/CPTabViewItem.j | 26 +++++++++++++------------- 2 files changed, 31 insertions(+), 18 deletions(-) diff --git a/AppKit/CPTabView.j b/AppKit/CPTabView.j index fc9aa4654..6de27c05a 100644 --- a/AppKit/CPTabView.j +++ b/AppKit/CPTabView.j @@ -203,7 +203,7 @@ var CPTabViewDidSelectTabViewItemSelector = 1 << 1, { return [[self items] indexOfObjectPassingTest:function(item, idx, stop) { - [[item identifier] isEqual:anIdentifier]; + return [[item identifier] isEqual:anIdentifier]; }]; } @@ -325,16 +325,15 @@ var CPTabViewDidSelectTabViewItemSelector = 1 << 1, if (aTabViewItem == _selectedTabViewItem) return NO; - if ((_delegateSelectors & CPTabViewShouldSelectTabViewItemSelector) && ![_delegate tabView:self shouldSelectTabViewItem:aTabViewItem]) + if (![self _sendDelegateShouldSelectTabViewItem:aTabViewItem]) return NO; - if (_delegateSelectors & CPTabViewWillSelectTabViewItemSelector) - [_delegate tabView:self willSelectTabViewItem:aTabViewItem]; + [self _sendDelegateWillSelectTabViewItem:aTabViewItem]; [_tabs setSelectedSegment:anIndex]; _selectedTabViewItem = aTabViewItem; - [self _displayItemView:[aTabViewItem view]]; + [self _sendDelegateDidSelectTabViewItem:aTabViewItem]; return YES; @@ -516,6 +515,20 @@ var CPTabViewDidSelectTabViewItemSelector = 1 << 1, // DELEGATE METHODS +- (BOOL)_sendDelegateShouldSelectTabViewItem:(CPTabViewItem)aTabViewItem +{ + if (_delegateSelectors & CPTabViewShouldSelectTabViewItemSelector) + return [_delegate tabView:self shouldSelectTabViewItem:aTabViewItem]; + + return YES; +} + +- (void)_sendDelegateWillSelectTabViewItem:(CPTabViewItem)aTabViewItem +{ + if (_delegateSelectors & CPTabViewWillSelectTabViewItemSelector) + [_delegate tabView:self willSelectTabViewItem:aTabViewItem]; +} + - (void)_sendDelegateDidSelectTabViewItem:(CPTabViewItem)aTabViewItem { if (_delegateSelectors & CPTabViewDidSelectTabViewItemSelector) diff --git a/AppKit/CPTabViewItem.j b/AppKit/CPTabViewItem.j index 3bec89bd1..78795d666 100644 --- a/AppKit/CPTabViewItem.j +++ b/AppKit/CPTabViewItem.j @@ -24,7 +24,7 @@ @import "CPView.j" @class CPTabView -@class CPViewControler +@class CPViewController /* The tab is currently selected. @@ -54,23 +54,23 @@ CPPressedTab = 2; */ @implementation CPTabViewItem : CPObject { - id _identifier; - CPString _label; - CPInteger _tag @accessors(property=tag); + id _identifier; + CPString _label; + CPInteger _tag @accessors(property=tag); - CPView _view; - CPView _auxiliaryView; + CPView _view; + CPView _auxiliaryView; - CPTabView _tabView; - unsigned _tabState; // Looks like it is not yet implemented + CPTabView _tabView; + unsigned _tabState; // Looks like it is not yet implemented - CPImage _image @accessors(property=image); + CPImage _image @accessors(property=image); CPViewController _viewController @accessors(getter=viewController); - BOOL _enabled @accessors(property=enabled); - BOOL _selected @accessors(property=selected); - CGRect _tabRect @accessors(property=frame); - float _width @accessors(property=width); + BOOL _enabled @accessors(property=enabled); + BOOL _selected @accessors(property=selected); + CGRect _tabRect @accessors(property=frame); + float _width @accessors(property=width); } /*