Revision: 12148
http://sourceforge.net/p/skim-app/code/12148
Author: hofman
Date: 2021-03-01 15:10:15 +0000 (Mon, 01 Mar 2021)
Log Message:
-----------
Convenience method to set drop location on item views
Modified Paths:
--------------
trunk/SKColorSwatch.m
Modified: trunk/SKColorSwatch.m
===================================================================
--- trunk/SKColorSwatch.m 2021-03-01 15:02:51 UTC (rev 12147)
+++ trunk/SKColorSwatch.m 2021-03-01 15:10:15 UTC (rev 12148)
@@ -58,8 +58,6 @@
#define COLOR_KEY @"color"
-#define DROPLOCATION_KEY @"dropLocation"
-
#define BEZEL_HEIGHT 22.0
#define BEZEL_INSET_LR 1.0
#define BEZEL_INSET_T 1.0
@@ -707,6 +705,18 @@
#pragma mark NSDraggingDestination protocol
+- (void)setDropLocation:(SKColorSwatchDropLocation)dropLocation
atIndex:(NSInteger)anIndex {
+ NSInteger i, iMax = [itemViews count];
+ for (i = 0; i < iMax; i++) {
+ SKColorSwatchDropLocation location = SKColorSwatchNoDrop;
+ if (i == anIndex)
+ location = dropLocation;
+ else if (dropLocation == SKColorSwatchDropBefore && i + 1 == anIndex)
+ location = SKColorSwatchDropAfter;
+ [[itemViews objectAtIndex:i] setDropLocation:location];
+ }
+}
+
- (NSDragOperation)draggingEntered:(id <NSDraggingInfo>)sender {
return [self draggingUpdated:sender];
}
@@ -719,24 +729,16 @@
NSDragOperation dragOp = isCopy ? NSDragOperationCopy :
NSDragOperationGeneric;
if ([self isEnabled] == NO || i == -1 ||
(isMove && (i == draggedIndex || i == draggedIndex + 1))) {
- [itemViews setValue:[NSNumber numberWithInteger:SKColorSwatchNoDrop]
forKey:DROPLOCATION_KEY];
+ [self setDropLocation:SKColorSwatchNoDrop atIndex:-1];
dragOp = NSDragOperationNone;
} else {
- [itemViews setValue:[NSNumber numberWithInteger:SKColorSwatchNoDrop]
forKey:DROPLOCATION_KEY];
- if (isCopy || isMove) {
- if (i < (NSInteger)[itemViews count])
- [[itemViews objectAtIndex:i]
setDropLocation:SKColorSwatchDropBefore];
- if (i > 0)
- [[itemViews objectAtIndex:i - 1]
setDropLocation:SKColorSwatchDropAfter];
- } else {
- [[itemViews objectAtIndex:i] setDropLocation:SKColorSwatchDropOn];
- }
+ [self setDropLocation:(isCopy || isMove) ? SKColorSwatchDropBefore :
SKColorSwatchDropOn atIndex:i];
}
return dragOp;
}
- (void)draggingExited:(id <NSDraggingInfo>)sender {
- [itemViews setValue:[NSNumber numberWithInteger:SKColorSwatchNoDrop]
forKey:DROPLOCATION_KEY];
+ [self setDropLocation:SKColorSwatchNoDrop atIndex:-1];
}
- (BOOL)performDragOperation:(id <NSDraggingInfo>)sender{
@@ -756,7 +758,7 @@
[self setColor:color atIndex:i];
}
- [itemViews setValue:[NSNumber numberWithInteger:SKColorSwatchNoDrop]
forKey:DROPLOCATION_KEY];
+ [self setDropLocation:SKColorSwatchNoDrop atIndex:-1];
return YES;
}
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
_______________________________________________
Skim-app-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/skim-app-commit