Cocoa/TabControl: TCocoaTabControl.updateVariousIndex() added

This commit is contained in:
rich2014 2023-10-08 23:35:33 +08:00
parent f7f153694c
commit f3add49346

View File

@ -58,8 +58,14 @@ type
nextarr : NSButton;
public
currentIndex : Integer; // index of the current tab shown
{ various indexes in fulltabs }
currentIndex : Integer; // index of the current tab
visibleLeftIndex: Integer; // index shown in TabView on the left
visibleRightIndex: Integer; // index shown in TabView on the right
leftKeepAmount: Integer; // left tab amount to keep, equals currentIndex-visibleLeftIndex
procedure attachAllTabs; message 'attachAllTabs';
procedure updateVariousIndex; message 'updateVariousIndex';
public
callback: ITabControlCallback;
@ -465,6 +471,19 @@ begin
end;
end;
procedure TCocoaTabControl.updateVariousIndex;
begin
if numberOfTabViewItems > 0 then begin
visibleLeftIndex:= fulltabs.indexOfObject( tabViewItemAtIndex(0) );
visibleRightIndex:= visibleLeftIndex + numberOfTabViewItems - 1;
leftKeepAmount:= currentIndex - visibleLeftIndex;
end else begin
visibleLeftIndex:= -1;
visibleRightIndex:= -1;
leftKeepAmount:= 0;
end;
end;
class function TCocoaTabControl.alloc: id;
begin
Result := inherited alloc;