Destination Finale 11
Stéphane SudreGlisseur-déposeur
Démo
Sélection Simple
Drop autorisé
Sélection Multiple
Sélection continue
Interdire juste au-dessus et en dessous de la sélection
Sélection discontinue
Interdire en dessous de chaque élément de la sélection
Sélection continue ?
NSIndexSet
{ 1 , 3 , 4 } { 3 , 4 } { 0 , 2 }
nombre = dernier - premier + 1 ?
@implementation NSIndexSet (Analysis)
- (BOOL)containsOnlyOneRange{
NSUInteger tCount=[self count];
if (tCount>0){
NSUInteger tFirstIndex=[self firstIndex]; NSUInteger tLastIndex=[self lastIndex];
return ((tLastIndex-tFirstIndex+1)==tCount);}
return NO;
}
@end
if ([_internalDragData containsOnlyOneRange]==YES){
NSUInteger tFirstIndex=[_internalDragData firstIndex];NSUInteger tLastIndex=[_internalDragData lastIndex];
if (destRow>=tFirstIndex && destRow<=(tLastIndex+1))
return NSDragOperationNone;}else{
if ([_internalDragData containsIndex:(destRow-1)]==YES)return NSDragOperationNone;
} return NSDragOperationMove;
Démo
Références
Sample Code
s.sudre.free.fr/Stuff/CocoaHeads/Drag&DropSampleCode.zip
Q A&