From: <ho...@us...> - 2007-07-29 18:45:02
|
Revision: 10867 http://bibdesk.svn.sourceforge.net/bibdesk/?rev=10867&view=rev Author: hofman Date: 2007-07-29 11:45:01 -0700 (Sun, 29 Jul 2007) Log Message: ----------- Enclose preview pdfViews in a box. Modified Paths: -------------- trunk/bibdesk/BibDocument.h trunk/bibdesk/BibDocument.m trunk/bibdesk/BibDocument_Actions.m trunk/bibdesk/BibDocument_Search.m trunk/bibdesk/Scripting/BibDocument+Scripting.m Modified: trunk/bibdesk/BibDocument.h =================================================================== --- trunk/bibdesk/BibDocument.h 2007-07-29 18:02:32 UTC (rev 10866) +++ trunk/bibdesk/BibDocument.h 2007-07-29 18:45:01 UTC (rev 10867) @@ -133,7 +133,9 @@ IBOutlet NSTextView *previewTextView; IBOutlet NSView *currentPreviewView; BDSKPreviewer *previewer; + NSBox *previewerBox; BDSKZoomablePDFView *previewPdfView; + NSBox *previewBox; #pragma mark Toolbar variables Modified: trunk/bibdesk/BibDocument.m =================================================================== --- trunk/bibdesk/BibDocument.m 2007-07-29 18:02:32 UTC (rev 10866) +++ trunk/bibdesk/BibDocument.m 2007-07-29 18:45:01 UTC (rev 10867) @@ -236,7 +236,8 @@ [splitView release]; [[previewTextView enclosingScrollView] release]; [previewer release]; - [previewPdfView release]; + [previewerBox release]; + [previewBox release]; [macroWC release]; [infoWC release]; [promiseDragColumnIdentifier release]; @@ -2539,8 +2540,14 @@ NSDictionary *xatrrDefaults = [self mainWindowSetupDictionaryFromExtendedAttributes]; [previewer setPDFScaleFactor:[xatrrDefaults floatForKey:BDSKPreviewPDFScaleFactorKey defaultValue:0.0]]; [previewer setRTFScaleFactor:[xatrrDefaults floatForKey:BDSKPreviewRTFScaleFactorKey defaultValue:1.0]]; + previewerBox = [[NSBox alloc] init]; + [previewerBox setBoxType:NSBoxOldStyle]; + [previewerBox setBorderType:NSLineBorder]; + [previewerBox setTitlePosition:NSNoTitle]; + [previewerBox setContentViewMargins:NSZeroSize]; + [previewerBox setContentView:[previewer pdfView]]; } - view = displayType == BDSKRTFPreviewDisplay ? (NSView *)[[previewer textView] enclosingScrollView] : (NSView *)[previewer pdfView]; + view = displayType == BDSKRTFPreviewDisplay ? (NSView *)[[previewer textView] enclosingScrollView] : (NSView *)previewerBox; if(currentPreviewView != view){ [view setFrame:[currentPreviewView frame]]; [[currentPreviewView superview] replaceSubview:currentPreviewView with:view]; @@ -2553,9 +2560,17 @@ [[previewer progressOverlay] remove]; [previewer updateWithBibTeXString:nil]; - if (previewPdfView == nil) + if (previewPdfView == nil) { previewPdfView = [[BDSKZoomablePDFView alloc] init]; - view = previewPdfView; + previewBox = [[NSBox alloc] init]; + [previewBox setBoxType:NSBoxOldStyle]; + [previewBox setBorderType:NSLineBorder]; + [previewBox setTitlePosition:NSNoTitle]; + [previewBox setContentViewMargins:NSZeroSize]; + [previewBox setContentView:previewPdfView]; + [previewPdfView release]; + } + view = previewBox; if(currentPreviewView != view){ [view setFrame:[currentPreviewView frame]]; [[currentPreviewView superview] replaceSubview:currentPreviewView with:view]; @@ -2904,8 +2919,10 @@ #pragma mark Printing support - (IBAction)printDocument:(id)sender{ - if([currentPreviewView isKindOfClass:[BDSKZoomablePDFView class]]) - [(PDFView *)currentPreviewView printWithInfo:[self printInfo] autoRotate:NO]; + if([currentPreviewView isEqual:previewerBox]) + [[previewer pdfView] printWithInfo:[self printInfo] autoRotate:NO]; + else if([currentPreviewView isEqual:previewBox]) + [previewPdfView printWithInfo:[self printInfo] autoRotate:NO]; else [super printDocument:sender]; } Modified: trunk/bibdesk/BibDocument_Actions.m =================================================================== --- trunk/bibdesk/BibDocument_Actions.m 2007-07-29 18:02:32 UTC (rev 10866) +++ trunk/bibdesk/BibDocument_Actions.m 2007-07-29 18:45:01 UTC (rev 10867) @@ -80,6 +80,7 @@ #import "BDSKCustomCiteDrawerController.h" #import "NSObject_BDSKExtensions.h" #import "BDSKOwnerProtocol.h" +#import "BDSKPreviewer.h" @implementation BibDocument (Actions) @@ -792,10 +793,12 @@ - (void)pageDownInPreview:(id)sender{ NSScrollView *scrollView = nil; - if([currentPreviewView isKindOfClass:[NSScrollView class]]) + if([currentPreviewView isEqual:previewerBox]) + scrollView = [(BDSKZoomablePDFView *)[previewer pdfView] scrollView]; + else if([currentPreviewView isEqual:previewBox]) + scrollView = [previewPdfView scrollView]; + else scrollView = (NSScrollView *)currentPreviewView; - else if([currentPreviewView isKindOfClass:[BDSKZoomablePDFView class]]) - scrollView = [(BDSKZoomablePDFView *)currentPreviewView scrollView]; NSPoint p = [[scrollView documentView] scrollPositionAsPercentage]; @@ -815,10 +818,12 @@ - (void)pageUpInPreview:(id)sender{ NSScrollView *scrollView = nil; - if([currentPreviewView isKindOfClass:[NSScrollView class]]) + if([currentPreviewView isEqual:previewerBox]) + scrollView = [(BDSKZoomablePDFView *)[previewer pdfView] scrollView]; + else if([currentPreviewView isEqual:previewBox]) + scrollView = [previewPdfView scrollView]; + else scrollView = (NSScrollView *)currentPreviewView; - else if([currentPreviewView isKindOfClass:[BDSKZoomablePDFView class]]) - scrollView = [(BDSKZoomablePDFView *)currentPreviewView scrollView]; NSPoint p = [[scrollView documentView] scrollPositionAsPercentage]; Modified: trunk/bibdesk/BibDocument_Search.m =================================================================== --- trunk/bibdesk/BibDocument_Search.m 2007-07-29 18:02:32 UTC (rev 10866) +++ trunk/bibdesk/BibDocument_Search.m 2007-07-29 18:45:01 UTC (rev 10867) @@ -346,7 +346,7 @@ [splitView setFrame:frame]; [mainBox addSubview:splitView]; - if(currentPreviewView != [previewTextView enclosingScrollView] && currentPreviewView != previewPdfView) + if([currentPreviewView isEqual:previewerBox] || [currentPreviewView isEqual:[[previewer textView] enclosingScrollView]]) [[previewer progressOverlay] overlayView:currentPreviewView]; if (BDSKDefaultAnimationTimeInterval > 0.0) { @@ -409,14 +409,16 @@ { if([currentPreviewView isHidden]) return nil; - if([currentPreviewView isKindOfClass:[NSScrollView class]]){ + if([currentPreviewView isEqual:previewerBox]){ + return [[[previewer pdfView] currentSelection] string]; + }else if([currentPreviewView isEqual:previewBox]){ + return [[previewPdfView currentSelection] string]; + }else{ NSTextView *textView = (NSTextView *)[(NSScrollView *)currentPreviewView documentView]; NSRange selRange = [textView selectedRange]; if (selRange.location == NSNotFound) return nil; return [[textView string] substringWithRange:selRange]; - }else if([currentPreviewView isKindOfClass:[BDSKZoomablePDFView class]]){ - return [[(BDSKZoomablePDFView *)currentPreviewView currentSelection] string]; } return nil; } Modified: trunk/bibdesk/Scripting/BibDocument+Scripting.m =================================================================== --- trunk/bibdesk/Scripting/BibDocument+Scripting.m 2007-07-29 18:02:32 UTC (rev 10866) +++ trunk/bibdesk/Scripting/BibDocument+Scripting.m 2007-07-29 18:45:01 UTC (rev 10867) @@ -52,7 +52,7 @@ @implementation BibDocument (Scripting) - (id)handlePrintScriptCommand:(NSScriptCommand *)command { - if([currentPreviewView isKindOfClass:[PDFView class]]) { + if([currentPreviewView isEqual:previewerBox] || [currentPreviewView isEqual:previewBox]) { // we let the PDFView handle printing NSDictionary *args = [command evaluatedArguments]; @@ -60,7 +60,7 @@ // PDFView does not allow printing without showing the dialog, so we just ignore that setting NSPrintInfo *printInfo = [self printInfo]; - PDFView *pdfView = [previewer pdfView]; + PDFView *pdfView = (PDFView *)[(NSBox *)currentPreviewView contentView]; if ([settings isKindOfClass:[NSDictionary class]]) { settings = [[settings mutableCopy] autorelease]; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |