Hello,

I have just figured out that the implementations of -tabViewItemAtPoint: in Cocoa and GNUstep make different assumptions about the coordinate system of the passed point.

- (NSTabViewItem*) tabViewItemAtPoint: (NSPoint)point
{
  int           howMany = [_items count];
  int           i;

point = [self convertPoint: point fromView: nil]; // <--- remove this line to gain compatibility with Cocoa

  for (i = 0; i < howMany; i++)
    {
      NSTabViewItem *anItem = [_items objectAtIndex: i];

      if (NSPointInRect(point,[anItem _tabRect]))
        return anItem;
    }

  return nil;
}

The Cocoa documentation is not very specific on this aspect. GNUstep expects the point inthe coordinate system of the window, Cocoa expects it in the coordiate system of the tab view. I think we should remove this line to make GNustep compatible with Cocoa.

Regards,

  Andreas



_______________________________________________
Discuss-gnustep mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/discuss-gnustep

Reply via email to