- Visual C++源码
- Visual Basic源码
- C++ Builder源码
- Java源码
- Delphi源码
- C/C++源码
- PHP源码
- Perl源码
- Python源码
- Asm源码
- Pascal源码
- Borland C++源码
- Others源码
- SQL源码
- VBScript源码
- JavaScript源码
- ASP/ASPX源码
- C#源码
- Flash/ActionScript源码
- matlab源码
- PowerBuilder源码
- LabView源码
- Flex源码
- MathCAD源码
- VBA源码
- IDL源码
- Lisp/Scheme源码
- VHDL源码
- Objective-C源码
- Fortran源码
- tcl/tk源码
- QT源码
ContextOutlineView.m
上传用户:center1979
上传日期:2022-07-26
资源大小:50633k
文件大小:1k
源码类别:
OpenGL
开发平台:
Visual C++
- #import "ContextOutlineView.h"
- @implementation ContextOutlineView
- - (NSMenu*)menuForEvent:(NSEvent*)theEvent
- {
- int rowIndex = [self rowAtPoint:[self convertPoint:[theEvent locationInWindow] fromView:nil]];
- if (rowIndex >= 0)
- {
- id item;
- [self abortEditing];
- item = [self itemAtRow:rowIndex];
- if (item != nil) {
- id delegate = [self delegate];
- if ([delegate respondsToSelector:@selector(outlineView:shouldSelectItem:)] && [delegate outlineView:self shouldSelectItem:item])
- [self selectRow:rowIndex byExtendingSelection:NO];
- if ([delegate respondsToSelector:@selector(outlineView:contextMenuForItem:)])
- {
- SEL sel = @selector(outlineView:contextMenuForItem:);
- NSInvocation *invoc = [NSInvocation invocationWithMethodSignature:
- [delegate methodSignatureForSelector: sel]];
- if (invoc)
- {
- NSMenu *result;
- [invoc setSelector: sel];
- [invoc setArgument: &self atIndex: 2];
- [invoc setArgument: &item atIndex: 3];
- [invoc invokeWithTarget: delegate];
- [invoc getReturnValue: &result];
- return result;
- }
- }
- }
- } else {
- [self deselectAll:self];
- return [self menu];
- }
- return nil;
- }
- @end