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

@ -519,24 +519,20 @@ end;
procedure TCocoaTabControl.extselectTabViewItemAtIndex( index:NSInteger ); procedure TCocoaTabControl.extselectTabViewItemAtIndex( index:NSInteger );
var var
idx : integer;
itm: NSTabViewItem; itm: NSTabViewItem;
i : NSUInteger; visibleIndex: NSInteger;
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));
end
else begin
UpdateTabAndArrowVisibility( self ); UpdateTabAndArrowVisibility( self );
i := tabViewItems.indexOfObject(itm); visibleIndex:= indexOfTabViewItem( itm );
inherited selectTabViewItemAtIndex(NSInteger(i)); inherited selectTabViewItemAtIndex( visibleIndex );
end; end;
end; end;