Revision: 2581
http://skim-app.svn.sourceforge.net/skim-app/?rev=2581&view=rev
Author: hofman
Date: 2007-07-28 12:34:35 -0700 (Sat, 28 Jul 2007)
Log Message:
-----------
Set column+row as userData for tracking rect. getting it from the location of
the event is unreliable.
Modified Paths:
--------------
trunk/SKFindTableView.m
trunk/SKOutlineView.m
Modified: trunk/SKFindTableView.m
===================================================================
--- trunk/SKFindTableView.m 2007-07-28 18:18:15 UTC (rev 2580)
+++ trunk/SKFindTableView.m 2007-07-28 19:34:35 UTC (rev 2581)
@@ -40,14 +40,15 @@
NSRange columnRange = [self columnsInRect:[self visibleRect]];
unsigned int row, column;
NSTableColumn *tableColumn;
+ int userData;
NSTrackingRectTag tag;
- BOOL assumeInside = [[self delegate]
respondsToSelector:@selector(tableView:mouseEnteredTableColumn:row:)];
for (column = columnRange.location; column < NSMaxRange(columnRange);
column++) {
tableColumn = [[self tableColumns] objectAtIndex:column];
for (row = rowRange.location; row < NSMaxRange(rowRange);
row++) {
if ([[self delegate] tableView:self
shouldTrackTableColumn:tableColumn row:row]) {
- tag = [self addTrackingRect:[self frameOfCellAtColumn:column
row:row] owner:self userData:NULL assumeInside:assumeInside];
+ userData = row * [self numberOfColumns] + column;
+ tag = [self addTrackingRect:[self frameOfCellAtColumn:column
row:row] owner:self userData:NULL assumeInside:NO];
CFArrayAppendValue(trackingRects, (const void *)tag);
}
}
@@ -86,9 +87,10 @@
- (void)mouseEntered:(NSEvent *)theEvent{
if ([[self delegate]
respondsToSelector:@selector(tableView:mouseEnteredTableColumn:row:)]) {
- NSPoint point = [self convertPoint:[theEvent locationInWindow]
fromView:nil];
- int column = [self columnAtPoint:point];
- int row = [self rowAtPoint:point];
+ int userData = (int)[theEvent userData];
+ int numCols = [self numberOfColumns];
+ int column = userData % numCols;
+ int row = userData / numCols;
if (column != -1 && row != -1) {
NSTableColumn *tableColumn = [[self tableColumns]
objectAtIndex:column];
[[self delegate] tableView:self
mouseEnteredTableColumn:tableColumn row:row];
@@ -98,9 +100,10 @@
- (void)mouseExited:(NSEvent *)theEvent{
if ([[self delegate]
respondsToSelector:@selector(tableView:mouseExitedTableColumn:row:)]) {
- NSPoint point = [self convertPoint:[theEvent locationInWindow]
fromView:nil];
- int column = [self columnAtPoint:point];
- int row = [self rowAtPoint:point];
+ int userData = (int)[theEvent userData];
+ int numCols = [self numberOfColumns];
+ int column = userData % numCols;
+ int row = userData / numCols;
if (column != -1 && row != -1) {
NSTableColumn *tableColumn = [[self tableColumns]
objectAtIndex:column];
[[self delegate] tableView:self mouseExitedTableColumn:tableColumn
row:row];
Modified: trunk/SKOutlineView.m
===================================================================
--- trunk/SKOutlineView.m 2007-07-28 18:18:15 UTC (rev 2580)
+++ trunk/SKOutlineView.m 2007-07-28 19:34:35 UTC (rev 2581)
@@ -94,13 +94,15 @@
NSRange columnRange = [self columnsInRect:[self visibleRect]];
unsigned int row, column;
NSTableColumn *tableColumn;
+ int userData;
NSTrackingRectTag tag;
for (column = columnRange.location; column < NSMaxRange(columnRange);
column++) {
tableColumn = [[self tableColumns] objectAtIndex:column];
for (row = rowRange.location; row < NSMaxRange(rowRange);
row++) {
if ([[self delegate] outlineView:self
shouldTrackTableColumn:tableColumn item:[self itemAtRow:row]]) {
- tag = [self addTrackingRect:[self frameOfCellAtColumn:column
row:row] owner:self userData:NULL assumeInside:NO];
+ userData = row * [self numberOfColumns] + column;
+ tag = [self addTrackingRect:[self frameOfCellAtColumn:column
row:row] owner:self userData:(void *)userData assumeInside:NO];
CFArrayAppendValue(trackingRects, (const void *)tag);
}
}
@@ -139,9 +141,10 @@
- (void)mouseEntered:(NSEvent *)theEvent{
if ([[self delegate]
respondsToSelector:@selector(outlineView:mouseEnteredTableColumn:item:)]) {
- NSPoint point = [self convertPoint:[theEvent locationInWindow]
fromView:nil];
- int column = [self columnAtPoint:point];
- int row = [self rowAtPoint:point];
+ int userData = (int)[theEvent userData];
+ int numCols = [self numberOfColumns];
+ int column = userData % numCols;
+ int row = userData / numCols;
if (column != -1 && row != -1) {
NSTableColumn *tableColumn = [[self tableColumns]
objectAtIndex:column];
[[self delegate] outlineView:self
mouseEnteredTableColumn:tableColumn item:[self itemAtRow:row]];
@@ -151,9 +154,10 @@
- (void)mouseExited:(NSEvent *)theEvent{
if ([[self delegate]
respondsToSelector:@selector(outlineView:mouseExitedTableColumn:item:)]) {
- NSPoint point = [self convertPoint:[theEvent locationInWindow]
fromView:nil];
- int column = [self columnAtPoint:point];
- int row = [self rowAtPoint:point];
+ int userData = (int)[theEvent userData];
+ int numCols = [self numberOfColumns];
+ int column = userData % numCols;
+ int row = userData / numCols;
if (column != -1 && row != -1) {
NSTableColumn *tableColumn = [[self tableColumns]
objectAtIndex:column];
[[self delegate] outlineView:self
mouseExitedTableColumn:tableColumn item:[self itemAtRow:row]];
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
Skim-app-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/skim-app-commit