Cocoa/TabControl: TCocoaTabControl.extselectTabViewItemAtIndex() improved

This commit is contained in:
rich2014 2023-10-08 23:56:21 +08:00
parent 62d199c399
commit 2bd05f0474

View File

@ -517,26 +517,22 @@ begin
UpdateTabAndArrowVisibility(self); UpdateTabAndArrowVisibility(self);
end; end;
procedure TCocoaTabControl.extselectTabViewItemAtIndex(index: NSInteger); procedure TCocoaTabControl.extselectTabViewItemAtIndex( index:NSInteger );
var var
idx : integer; itm: NSTabViewItem;
itm : NSTabViewItem; visibleIndex: NSInteger;
i : NSUInteger;
begin begin
if (index<0) or (index>=fulltabs.count) then Exit; if (index<0) or (index>=fulltabs.count) then Exit;
currentIndex := index; currentIndex := index;
itm := NSTabViewItem(fulltabs.objectAtIndex(index)); itm := NSTabViewItem( fulltabs.objectAtIndex(index) );
visibleIndex := indexOfTabViewItem( itm );
i := tabViewItems.indexOfObject(itm); if visibleIndex <> NSNotFound then begin
if i <> NSNotFound then inherited selectTabViewItemAtIndex( visibleIndex );
begin end else begin
inherited selectTabViewItemAtIndex(NSInteger(i)); UpdateTabAndArrowVisibility( self );
end visibleIndex:= indexOfTabViewItem( itm );
else begin inherited selectTabViewItemAtIndex( visibleIndex );
UpdateTabAndArrowVisibility(self);
i := tabViewItems.indexOfObject(itm);
inherited selectTabViewItemAtIndex(NSInteger(i));
end; end;
end; end;