Revision: 3606
          http://skim-app.svn.sourceforge.net/skim-app/?rev=3606&view=rev
Author:   hofman
Date:     2008-04-03 09:57:57 -0700 (Thu, 03 Apr 2008)

Log Message:
-----------
Global variable for note size. Use unsigned long for 4-char code.

Modified Paths:
--------------
    trunk/PDFAnnotation_SKExtensions.m
    trunk/SKPDFAnnotationNote.h
    trunk/SKPDFAnnotationNote.m
    trunk/SKPDFView.m

Modified: trunk/PDFAnnotation_SKExtensions.m
===================================================================
--- trunk/PDFAnnotation_SKExtensions.m  2008-04-03 15:27:57 UTC (rev 3605)
+++ trunk/PDFAnnotation_SKExtensions.m  2008-04-03 16:57:57 UTC (rev 3606)
@@ -90,13 +90,12 @@
 NSString *SKPDFAnnotationScriptingNoteTypeKey = @"scriptingNoteType";
 NSString *SKPDFAnnotationScriptingBorderStyleKey = @"scriptingBorderStyle";
 
+enum {
+    SKPDFAnnotationScriptingNoteClassCode = 'Note'
+};
+
 @implementation PDFAnnotation (SKExtensions)
 
-- (id)initWithBounds:(NSRect)bounds dictionary:(NSDictionary *)dict{
-    [[self initWithBounds:NSZeroRect] release];
-    return nil;
-}
-
 - (id)initWithProperties:(NSDictionary *)dict{
     Class stringClass = [NSString class];
     
@@ -327,13 +326,14 @@
     NSScriptCommand *currentCommand = [NSScriptCommand currentCommand];
     if ([currentCommand isKindOfClass:[NSCreateCommand class]]) {
         unsigned long classCode = [[(NSCreateCommand *)currentCommand 
createClassDescription] appleEventCode];
-        float defaultWidth = [[NSUserDefaults standardUserDefaults] 
floatForKey:SKDefaultNoteWidthKey];
-        float defaultHeight = [[NSUserDefaults standardUserDefaults] 
floatForKey:SKDefaultNoteHeightKey];
+        NSRect bounds = NSMakeRect(100.0, 100.0, 0.0, 0.0);
+        bounds.size.width = [[NSUserDefaults standardUserDefaults] 
floatForKey:SKDefaultNoteWidthKey];
+        bounds.size.height = [[NSUserDefaults standardUserDefaults] 
floatForKey:SKDefaultNoteHeightKey];
        
-        if (classCode == 'Note') {
+        if (classCode == SKPDFAnnotationScriptingNoteClassCode) {
             
             NSDictionary *properties = [(NSCreateCommand *)currentCommand 
resolvedKeyDictionary];
-            int type = [[properties 
objectForKey:SKPDFAnnotationScriptingNoteTypeKey] intValue];
+            unsigned long type = [[properties 
objectForKey:SKPDFAnnotationScriptingNoteTypeKey] unsignedLongValue];
             
             if (type == 0) {
                 [currentCommand 
setScriptErrorNumber:NSRequiredArgumentsMissingScriptError]; 
@@ -360,15 +360,16 @@
                     }
                 }
             } else if (type == SKScriptingTextNote) {
-                self = [[SKPDFAnnotationFreeText alloc] 
initWithBounds:NSMakeRect(100.0, 100.0, defaultWidth, defaultHeight)];
+                self = [[SKPDFAnnotationFreeText alloc] initWithBounds:bounds];
             } else if (type == SKScriptingAnchoredNote) {
-                self = [[SKPDFAnnotationNote alloc] 
initWithBounds:NSMakeRect(100.0, 100.0, 16.0, 16.0)];
+                bounds.size = SKPDFAnnotationNoteSize;
+                self = [[SKPDFAnnotationNote alloc] initWithBounds:bounds];
             } else if (type == SKScriptingCircleNote) {
-                self = [[SKPDFAnnotationCircle alloc] 
initWithBounds:NSMakeRect(100.0, 100.0, defaultWidth, defaultHeight)];
+                self = [[SKPDFAnnotationCircle alloc] initWithBounds:bounds];
             } else if (type == SKScriptingSquareNote) {
-                self = [[SKPDFAnnotationSquare alloc] 
initWithBounds:NSMakeRect(100.0, 100.0, defaultWidth, defaultHeight)];
+                self = [[SKPDFAnnotationSquare alloc] initWithBounds:bounds];
             } else if (type == SKScriptingLineNote) {
-                self = [[SKPDFAnnotationLine alloc] 
initWithBounds:NSMakeRect(100.0, 100.0, defaultWidth, defaultHeight)];
+                self = [[SKPDFAnnotationLine alloc] initWithBounds:bounds];
             }
         }
     }

Modified: trunk/SKPDFAnnotationNote.h
===================================================================
--- trunk/SKPDFAnnotationNote.h 2008-04-03 15:27:57 UTC (rev 3605)
+++ trunk/SKPDFAnnotationNote.h 2008-04-03 16:57:57 UTC (rev 3606)
@@ -62,7 +62,9 @@
 extern NSString *SKPDFAnnotationScriptingIconTypeKey;
 extern NSString *SKPDFAnnotationRichTextKey;
 
+extern NSSize SKPDFAnnotationNoteSize;
 
+
 @interface PDFAnnotationText (SKLeopardDeprecated)
 // these are deprecated on 10.5, but we don't want to use the popup for 10.4 
compatibility; we check for existence before using this anyway
 - (BOOL)windowIsOpen;

Modified: trunk/SKPDFAnnotationNote.m
===================================================================
--- trunk/SKPDFAnnotationNote.m 2008-04-03 15:27:57 UTC (rev 3605)
+++ trunk/SKPDFAnnotationNote.m 2008-04-03 16:57:57 UTC (rev 3606)
@@ -79,6 +79,7 @@
 NSString *SKPDFAnnotationScriptingIconTypeKey = @"scriptingIconType";
 NSString *SKPDFAnnotationRichTextKey = @"richText";
 
+NSSize SKPDFAnnotationNoteSize = {16.0, 16.0};
 
 @implementation SKPDFAnnotationNote
 
@@ -318,7 +319,7 @@
 
 - (id)copyNoteAnnotation {
     NSRect bounds = [self bounds];
-    bounds.size = SKMakeSquareSize(16.0);
+    bounds.size = SKPDFAnnotationNoteSize;
     SKPDFAnnotationNote *annotation = [[SKPDFAnnotationNote alloc] 
initWithBounds:bounds];
     [annotation setString:[self string]];
     [annotation setColor:[self color]];

Modified: trunk/SKPDFView.m
===================================================================
--- trunk/SKPDFView.m   2008-04-03 15:27:57 UTC (rev 3605)
+++ trunk/SKPDFView.m   2008-04-03 16:57:57 UTC (rev 3606)
@@ -92,8 +92,6 @@
 static unsigned int moveReadingBarModifiers = NSAlternateKeyMask;
 static unsigned int resizeReadingBarModifiers = NSAlternateKeyMask | 
NSShiftKeyMask;
 
-#define ANCHORED_NOTE_SIZE SKMakeSquareSize(16.0)
-
 static inline int SKIndexOfRectAtYInOrderedRects(float y,  NSArray 
*rectValues, BOOL lower);
 
 static CGMutablePathRef SKCGCreatePathWithRoundRectInRect(CGRect rect, float 
radius);
@@ -827,7 +825,7 @@
         
         float defaultWidth = [[NSUserDefaults standardUserDefaults] 
floatForKey:SKDefaultNoteWidthKey];
         float defaultHeight = [[NSUserDefaults standardUserDefaults] 
floatForKey:SKDefaultNoteHeightKey];
-        NSSize defaultSize = isAlternate ? ANCHORED_NOTE_SIZE : ([page 
rotation] % 180 == 0) ? NSMakeSize(defaultWidth, defaultHeight) : 
NSMakeSize(defaultHeight, defaultWidth);
+        NSSize defaultSize = isAlternate ? SKPDFAnnotationNoteSize : ([page 
rotation] % 180 == 0) ? NSMakeSize(defaultWidth, defaultHeight) : 
NSMakeSize(defaultHeight, defaultWidth);
         NSRect bounds = SKRectFromCenterAndSize(center, defaultSize);
         
         bounds = SKConstrainRect(bounds, [page boundsForBox:[self 
displayBox]]);
@@ -1705,7 +1703,7 @@
         if (annotationType == SKCircleNote || annotationType == SKSquareNote)
             bounds = NSInsetRect(bounds, -5.0, -5.0);
         else if (annotationType == SKAnchoredNote)
-            bounds.size = ANCHORED_NOTE_SIZE;
+            bounds.size = SKPDFAnnotationNoteSize;
        } else if (annotationType == SKHighlightNote || annotationType == 
SKUnderlineNote || annotationType == SKStrikeOutNote) {
         NSBeep();
         return;
@@ -1726,7 +1724,7 @@
         
         float defaultWidth = [[NSUserDefaults standardUserDefaults] 
floatForKey:SKDefaultNoteWidthKey];
         float defaultHeight = [[NSUserDefaults standardUserDefaults] 
floatForKey:SKDefaultNoteHeightKey];
-        NSSize defaultSize = (annotationType == SKAnchoredNote) ? 
ANCHORED_NOTE_SIZE : ([page rotation] % 180 == 0) ? NSMakeSize(defaultWidth, 
defaultHeight) : NSMakeSize(defaultHeight, defaultWidth);
+        NSSize defaultSize = (annotationType == SKAnchoredNote) ? 
SKPDFAnnotationNoteSize : ([page rotation] % 180 == 0) ? 
NSMakeSize(defaultWidth, defaultHeight) : NSMakeSize(defaultHeight, 
defaultWidth);
                
                // Convert to "page space".
                center = SKIntegralPoint([self convertPoint: center toPage: 
page]);
@@ -2745,7 +2743,7 @@
                    NSPointInRect(pagePoint, [page boundsForBox:[self 
displayBox]])) {
             // add a new annotation immediately, unless this is just a click
             if (annotationMode == SKAnchoredNote || NSLeftMouseDragged == 
[[NSApp nextEventMatchingMask:(NSLeftMouseUpMask | NSLeftMouseDraggedMask) 
untilDate:[NSDate distantFuture] inMode:NSDefaultRunLoopMode dequeue:NO] type]) 
{
-                NSSize size = annotationMode == SKAnchoredNote ? 
ANCHORED_NOTE_SIZE : NSZeroSize;
+                NSSize size = annotationMode == SKAnchoredNote ? 
SKPDFAnnotationNoteSize : NSZeroSize;
                 NSRect bounds = SKRectFromCenterAndSize(pagePoint, size);
                 [self addAnnotationWithType:annotationMode contents:nil 
page:page bounds:bounds];
                 newActiveAnnotation = activeAnnotation;


This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.

-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace
_______________________________________________
Skim-app-commit mailing list
Skim-app-commit@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/skim-app-commit

Reply via email to