changeset 708:5fe2ca5ef88b

Fixes for container event handling. Also made container/listbox cells non-editable.
author bsmith@81767d24-ef19-dc11-ae90-00e081727c95
date Sat, 12 Mar 2011 02:54:04 +0000
parents 86d76fc09237
children 5a268d5f1cfa
files mac/dw.m
diffstat 1 files changed, 15 insertions(+), 29 deletions(-) [+]
line wrap: on
line diff
--- a/mac/dw.m	Sat Mar 12 01:50:20 2011 +0000
+++ b/mac/dw.m	Sat Mar 12 02:54:04 2011 +0000
@@ -705,7 +705,6 @@
     int result = (int)([self doubleValue] * range);
     int newpos = result;
     int page = (int)(proportion * range);
-    int max = (int)(range - page);
     
     switch ([sender hitPart]) 
     {
@@ -812,7 +811,7 @@
 }
 -(NSInteger)numberOfRowsInTableView:(NSTableView *)aTable;
 -(id)tableView:(NSTableView *)aTable objectValueForTableColumn:(NSTableColumn *)aCol row:(NSInteger)aRow;
-/*-(void)tableView:(NSTableView *)aTableView setObjectValue:(id)anObject forTableColumn:(NSTableColumn *)aTableColumn row:(NSInteger)rowIndex;*/
+-(BOOL)tableView:(NSTableView *)aTableView shouldEditTableColumn:(NSTableColumn *)aTableColumn row:(int)rowIndex;
 -(void *)userdata;
 -(void)setUserdata:(void *)input;
 -(id)scrollview;
@@ -832,6 +831,7 @@
 -(void)setLastQueryPoint:(int)input;
 -(void)clear;
 -(void)setup;
+-(void)doubleClicked:(id)sender;
 -(void)selectionChanged:(id)sender;
 -(NSMenu *)menuForEvent:(NSEvent *)event;
 @end
@@ -873,28 +873,7 @@
 	}
 	return nil;
 }
-/*-(void)tableView:(NSTableView *)aTableView setObjectValue:(id)anObject forTableColumn:(NSTableColumn *)aTableColumn row:(NSInteger)rowIndex
-{
-	if(tvcols)
-	{
-		int z, col = -1;
-		int count = (int)[tvcols count];
-		
-		for(z=0;z<count;z++)
-		{
-			if([tvcols objectAtIndex:z] == aTableColumn)
-			{
-				col = z;
-				break;
-			}
-		}
-		if(col != -1)
-		{
-			int index = (int)(rowIndex * count) + col;
-			[data replaceObjectAtIndex:index withObject:anObject];
-		}
-	}
-}*/
+-(BOOL)tableView:(NSTableView *)aTableView shouldEditTableColumn:(NSTableColumn *)aTableColumn row:(int)rowIndex { return NO; }
 -(void *)userdata { return userdata; }
 -(void)setUserdata:(void *)input { userdata = input; }
 -(NSScrollView *)scrollview { return scrollview; }
@@ -995,10 +974,15 @@
 	titles = [[NSPointerArray pointerArrayWithWeakObjects] retain];
 	[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(selectionChanged:) name:NSTableViewSelectionDidChangeNotification object:[self window]];
 }
+-(void)doubleClicked:(id)sender
+{
+    /* Handler for container class */
+	_event_handler(self, (NSEvent *)[self getRowTitle:(int)[self selectedRow]], 9);
+}
 -(void)selectionChanged:(id)sender
 {
     /* Handler for container class */
-	_event_handler(self, (NSEvent *)[self getRowTitle:(int)[self selectedRow]], 9);
+	_event_handler(self, (NSEvent *)[self getRowTitle:(int)[self selectedRow]], 12);
     /* Handler for listbox class */
 	_event_handler(self, (NSEvent *)(int)[self selectedRow], 11);
 }
@@ -3969,14 +3953,16 @@
 {
     int _locked_by_me = FALSE;
     DW_MUTEX_LOCK;
-	DWContainer *cont = _cont_new(cid, multi);
+    DWContainer *cont = _cont_new(cid, multi);
     NSScrollView *scrollview = [cont scrollview];
     [scrollview setHasHorizontalScroller:YES];
-	NSTableHeaderView *header = [[NSTableHeaderView alloc] init];
-	[cont setHeaderView:header];
+    NSTableHeaderView *header = [[NSTableHeaderView alloc] init];
+    [cont setHeaderView:header];
+    [cont setTarget:cont];
+    [cont setDoubleAction:@selector(doubleClicked:)];
     [header release];
     DW_MUTEX_UNLOCK;
-	return cont;
+    return cont;
 }
 
 /*