Revision: 13275
          http://sourceforge.net/p/skim-app/code/13275
Author:   hofman
Date:     2023-02-02 09:35:46 +0000 (Thu, 02 Feb 2023)
Log Message:
-----------
don't allow widgets added as PDFAnnotation superclass, they will not support KVO

Modified Paths:
--------------
    trunk/PDFAnnotation_SKExtensions.m

Modified: trunk/PDFAnnotation_SKExtensions.m
===================================================================
--- trunk/PDFAnnotation_SKExtensions.m  2023-02-01 10:44:41 UTC (rev 13274)
+++ trunk/PDFAnnotation_SKExtensions.m  2023-02-02 09:35:46 UTC (rev 13275)
@@ -362,65 +362,14 @@
 - (SKNoteText *)noteText { return nil; }
 
 - (id)objectValue {
-    if ([[self type] isEqualToString:SKNWidgetString]) {
-        if ([self widgetType] == kSKNPDFWidgetTypeButton) {
-            if ([self respondsToSelector:@selector(buttonWidgetState)])
-                return [NSNumber numberWithInteger:[self buttonWidgetState]];
-            else if ([self 
respondsToSelector:@selector(valueForAnnotationKey:)])
-                return [NSNumber numberWithInteger:[[self 
valueForAnnotationKey:@"/V"] isEqual:@"Off"] ? 0 : 1];
-        } else {
-            if ([self respondsToSelector:@selector(widgetStringValue)])
-                return [self widgetStringValue];
-            else if ([self 
respondsToSelector:@selector(valueForAnnotationKey:)])
-                return [self valueForAnnotationKey:@"/V"];
-        }
-        return nil;
-    } else {
-        return [self string];
-    }
+    return [self string];
 }
 
 - (void)setObjectValue:(id)newObjectValue {
-    if ([[self type] isEqualToString:SKNWidgetString]) {
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wpartial-availability"
-        if ([self widgetType] == kSKNPDFWidgetTypeButton) {
-            if ([self respondsToSelector:@selector(setButtonWidgetState:)])
-                [self setButtonWidgetState:[newObjectValue integerValue]];
-            else if ([self 
respondsToSelector:@selector(setValue:forAnnotationKey:)])
-                [self setValue:[newObjectValue integerValue] == 0 ? @"Off" : 
@"Yes" forAnnotationKey:@"/V"];
-        } else {
-            if ([self respondsToSelector:@selector(setWidgetStringValue:)])
-                [self setWidgetStringValue:newObjectValue];
-            else if ([newObjectValue isKindOfClass:[NSString class]] && [self 
respondsToSelector:@selector(setValue:forAnnotationKey:)])
-                [self setValue:newObjectValue forAnnotationKey:@"/V"];
-            else if ([self 
respondsToSelector:@selector(removeValueForAnnotationKey:)])
-                [self removeValueForAnnotationKey:@"/V"];
-        }
-#pragma clang diagnostic pop
-    } else if ([newObjectValue isKindOfClass:[NSString class]]) {
-        [self setString:newObjectValue];
-    }
+    [self setString:newObjectValue];
 }
 
-- (SKNPDFWidgetType)widgetType {
-    if ([[self type] isEqualToString:SKNWidgetString]) {
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wpartial-availability"
-        if ([self respondsToSelector:@selector(valueForAnnotationKey:)]) {
-            NSString *ft = [self valueForAnnotationKey:@"/FT"];
-            if ([ft isEqualToString:@"/Tx"])
-                return kSKNPDFWidgetTypeText;
-            else if ([ft isEqualToString:@"/Btn"])
-                return kSKNPDFWidgetTypeButton;
-            else if ([ft isEqualToString:@"/Ch"])
-                return kSKNPDFWidgetTypeChoice;
-        }
-#pragma clang diagnostic pop
-    }
-    return kSKNPDFWidgetTypeUnknown;
-    
-}
+- (SKNPDFWidgetType)widgetType { return kSKNPDFWidgetTypeUnknown; }
 
 - (NSString *)textString { return nil; }
 
@@ -436,9 +385,7 @@
 
 - (BOOL)isLink { return [[self type] isEqualToString:@"Link"]; }
 
-- (BOOL)isWidget {
-    return [[self type] isEqualToString:SKNWidgetString] && [self widgetType] 
!= kSKNPDFWidgetTypeUnknown;
-}
+- (BOOL)isWidget {return NO; }
 
 - (BOOL)isResizable { return NO; }
 

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

Reply via email to