diff --git a/AppKit/CPTabView.j b/AppKit/CPTabView.j index 60dd53a3d..05ebcb3a2 100644 --- a/AppKit/CPTabView.j +++ b/AppKit/CPTabView.j @@ -247,6 +247,8 @@ var CPTabViewDidSelectTabViewItemSelector = 1, [_labelsView tabView:self didAddTabViewItem:aTabViewItem]; + [aTabViewItem _setTabView:self]; + if ([_tabViewItems count] == 1) [self selectFirstTabViewItem:self]; @@ -263,9 +265,11 @@ var CPTabViewDidSelectTabViewItemSelector = 1, var index = [self indexOfTabViewItem:aTabViewItem]; [_tabViewItems removeObjectIdenticalTo:aTabViewItem]; - + [_labelsView tabView:self didRemoveTabViewItemAtIndex:index]; + [aTabViewItem _setTabView:nil]; + if (_delegateSelectors & CPTabViewDidChangeNumberOfTabViewItemsSelector) [_delegate tabViewDidChangeNumberOfTabViewItems:self]; } diff --git a/AppKit/CPTabViewItem.j b/AppKit/CPTabViewItem.j index 356f4f1af..f1c3715d8 100644 --- a/AppKit/CPTabViewItem.j +++ b/AppKit/CPTabViewItem.j @@ -58,6 +58,8 @@ CPPressedTab = 2; CPView _view; CPView _auxiliaryView; + + CPTabView _tabView; } - (id)init @@ -168,6 +170,14 @@ CPPressedTab = 2; return _tabView; } +/*! + @ignore +*/ +- (void)_setTabView:(CPTabView)aView +{ + _tabView = aView; +} + @end var CPTabViewItemIdentifierKey = "CPTabViewItemIdentifierKey",