Mercurial > dwindows
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; } /*