Carbon: TabIndexAtClientPos / TabRect
Original Reporter info from Mantis: Martin @martin_frb
-
Reporter name: Martin Friebe
Original Reporter info from Mantis: Martin @martin_frb
- Reporter name: Martin Friebe
Description:
* Issue 1:
TabIndexAtClientPos only works for tabs on top, or tabs on the right side.
If tabs are on the left side, or the bottom, then TabIndexAtClientPos returns the current active tab, instead of the tab at the requested coordinates.
---
* Issue 2:
TabRect seems not to be implemented, it always returns (-1,-1,-1,-1) for all and any tab.
Note that the TabRect for top/left tabs on other widget-sets has negative Y (or for left-tabs, X) coordinates.
This makes sense, since (for tab on top) the y coordinate used for TabIndexAtClientPos is negative too => so the client rect, should then contain this coordinate.
Example: See sourceditor line 7455
procedure TSourceDragableNotebook.DragOver(Source: TObject; X, Y: Integer; State: TDragState;
This is called with negative value for Y (or if tabs are on the left, with negative X // tabs on bottom/right have all values positive).
This calls
TabIndexAtClientPos(Point(100, -15));
and get a result of (lets say) 2 as index at this pos.
The TabRect for this index, therefore should be (for example)
Top = -20, bottom = 0, Left = 80, Right = 150
Mantis conversion info:
- Mantis ID: 16470
- Version: 0.9.29 (SVN)