NSOutlineView_Extensions.m
上传用户:center1979
上传日期:2022-07-26
资源大小:50633k
文件大小:4k
源码类别:
OpenGL
开发平台:
Visual C++
- /*
- NSOutlineView_Extensions.m
- Copyright (c) 2001 by Apple Computer, Inc., all rights reserved.
- Author: Chuck Pisula
- Milestones:
- Initially created 3/1/01
- NSOutlineView category (MyExtensions), and subclass (MyOutlineView).
- */
- /*
- IMPORTANT: This Apple software is supplied to you by Apple Computer, Inc. ("Apple") in
- consideration of your agreement to the following terms, and your use, installation,
- modification or redistribution of this Apple software constitutes acceptance of these
- terms. If you do not agree with these terms, please do not use, install, modify or
- redistribute this Apple software.
- In consideration of your agreement to abide by the following terms, and subject to these
- terms, Apple grants you a personal, non-exclusive license, under Apple誷 copyrights in
- this original Apple software (the "Apple Software"), to use, reproduce, modify and
- redistribute the Apple Software, with or without modifications, in source and/or binary
- forms; provided that if you redistribute the Apple Software in its entirety and without
- modifications, you must retain this notice and the following text and disclaimers in all
- such redistributions of the Apple Software. Neither the name, trademarks, service marks
- or logos of Apple Computer, Inc. may be used to endorse or promote products derived from
- the Apple Software without specific prior written permission from Apple. Except as expressly
- stated in this notice, no other rights or licenses, express or implied, are granted by Apple
- herein, including but not limited to any patent rights that may be infringed by your
- derivative works or by other works in which the Apple Software may be incorporated.
- The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO WARRANTIES,
- EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES OF NON-INFRINGEMENT,
- MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS
- USE AND OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
- IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE,
- REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED AND
- WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY OR
- OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
- #import "NSOutlineView_Extensions.h"
- @implementation NSOutlineView (MyExtensions)
- - (id)selectedItem { return [self itemAtRow: [self selectedRow]]; }
- - (NSArray*)allSelectedItems {
- NSMutableArray *items = [NSMutableArray array];
- NSEnumerator *selectedRows = [self selectedRowEnumerator];
- NSNumber *selRow = nil;
- while( (selRow = [selectedRows nextObject]) ) {
- if ([self itemAtRow:[selRow intValue]])
- [items addObject: [self itemAtRow:[selRow intValue]]];
- }
- return items;
- }
- - (void)selectItems:(NSArray*)items byExtendingSelection:(BOOL)extend {
- unsigned i;
- if (extend==NO) [self deselectAll:nil];
- for (i=0;i<[items count];i++) {
- int row = [self rowForItem:[items objectAtIndex:i]];
- if(row>=0) [self selectRow: row byExtendingSelection:YES];
- }
- }
- @end
- @implementation MyOutlineView
- - (NSDragOperation)draggingSourceOperationMaskForLocal:(BOOL)isLocal {
- if (isLocal) return NSDragOperationEvery;
- else return NSDragOperationCopy;
- }
- @end