From: Adam M. <ama...@us...> - 2005-04-23 15:21:42
|
Update of /cvsroot/bibdesk/bibdesk In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23129 Modified Files: BDSKPreviewer.h BDSKPreviewer.m BibDocument.m BibDocument_DataSource.m Log Message: Change some RTF method names in the previewer, since my original ones didn't make much sense. Also removed the unused NSView accessor from the previewer. Since locking is handled by the previewer object itself, I don't think it's necessary to use lockFocusIfCanDraw everywhere, since no one should be competing for the views. Index: BDSKPreviewer.m =================================================================== RCS file: /cvsroot/bibdesk/bibdesk/BDSKPreviewer.m,v retrieving revision 1.34 retrieving revision 1.35 diff -C2 -d -r1.34 -r1.35 *** BDSKPreviewer.m 19 Apr 2005 03:57:36 -0000 1.34 --- BDSKPreviewer.m 23 Apr 2005 15:21:18 -0000 1.35 *************** *** 72,78 **** - (void)windowDidLoad{ // we get this the first time the user selects "Show Preview" NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; ! [self performSelectorOnMainThread:@selector(resetPreviews) ! withObject:nil ! waitUntilDone:YES]; [pool release]; } --- 72,76 ---- - (void)windowDidLoad{ // we get this the first time the user selects "Show Preview" NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; ! [self resetPreviews]; [pool release]; } *************** *** 85,89 **** BOOL rv = YES; ! if(str == nil){ [self resetPreviews]; [pool release]; --- 83,87 ---- BOOL rv = YES; ! if(str == nil || [str isEqualToString:@""]){ [self resetPreviews]; [pool release]; *************** *** 122,129 **** s = [NSScanner scannerWithString:texFile]; ! if([imagePreviewView lockFocusIfCanDraw]){ ! [imagePreviewView setImage:[NSImage imageNamed:@"typesetting.pdf"]]; ! [imagePreviewView unlockFocus]; ! } // replace the appropriate style & bib files. --- 120,124 ---- s = [NSScanner scannerWithString:texFile]; ! [imagePreviewView setImage:[NSImage imageNamed:@"typesetting.pdf"]]; // replace the appropriate style & bib files. *************** *** 160,166 **** display: ! [self performSelectorOnMainThread:@selector(performDrawing) ! withObject:nil ! waitUntilDone:YES]; // now we fall through to clean up cleanup: [pool release]; --- 155,159 ---- display: ! [self performDrawing]; cleanup: [pool release]; *************** *** 187,195 **** - (void)performDrawing{ NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; ! if([tabView lockFocusIfCanDraw]){ ! [imagePreviewView loadFromPath:finalPDFPath]; ! [tabView unlockFocus]; ! [self rtfPreviewFromData:[self rtfDataPreview]]; // does its own locking of the view ! } [pool release]; } --- 180,185 ---- - (void)performDrawing{ NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; ! [imagePreviewView loadFromPath:finalPDFPath]; ! [self displayRTFPreviewFromData:[self RTFPreviewData]]; // does its own locking of the view [pool release]; } *************** *** 325,365 **** } ! - (NSData *)rtfDataPreview{ // Returns the RTF as NSData, used for pasteboard ops NSData *d = [NSData dataWithContentsOfFile:rtfFilePath]; return d; } ! ! // accessor ! - (NSImageView*) pdfView { ! return imagePreviewView; ! } ! ! ! - (BOOL)rtfPreviewFromData:(NSData *)rtfdata{ // This draws the RTF in a textview NSSize inset = NSMakeSize(20,20); // set this for the margin ! if([tabView lockFocusIfCanDraw]){ ! [rtfPreviewView setString:@""]; // clean the view ! [rtfPreviewView setTextContainerInset:inset]; // pad the edges of the text ! [tabView unlockFocus]; ! } // we get a zero-length string if a bad bibstyle is used, so check for it ! if([rtfdata length] > 0 && [tabView lockFocusIfCanDraw]){ [rtfPreviewView replaceCharactersInRange:[rtfPreviewView selectedRange] withRTF:rtfdata]; - [tabView unlockFocus]; - return YES; } else { NSString *errstr = [NSString stringWithString:@"***** ERROR: unable to create preview *****"]; ! if([tabView lockFocusIfCanDraw]){ ! [rtfPreviewView replaceCharactersInRange: [rtfPreviewView selectedRange] ! withString:errstr]; ! [tabView unlockFocus]; ! } ! return NO; } ! } --- 315,344 ---- } ! - (NSData *)RTFPreviewData{ // Returns the RTF as NSData, used for pasteboard ops NSData *d = [NSData dataWithContentsOfFile:rtfFilePath]; return d; } ! - (BOOL)displayRTFPreviewFromData:(NSData *)rtfdata{ // This draws the RTF in a textview ! NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; ! BOOL rv = YES; ! NSSize inset = NSMakeSize(20,20); // set this for the margin ! [rtfPreviewView setString:@""]; // clean the view ! [rtfPreviewView setTextContainerInset:inset]; // pad the edges of the text // we get a zero-length string if a bad bibstyle is used, so check for it ! if([rtfdata length] > 0){ [rtfPreviewView replaceCharactersInRange:[rtfPreviewView selectedRange] withRTF:rtfdata]; } else { NSString *errstr = [NSString stringWithString:@"***** ERROR: unable to create preview *****"]; ! [rtfPreviewView replaceCharactersInRange: [rtfPreviewView selectedRange] ! withString:errstr]; ! rv = NO; } ! [pool release]; ! return rv; } *************** *** 379,393 **** - (void)resetPreviews{ ! if([tabView lockFocusIfCanDraw]){ ! [imagePreviewView loadFromPath:nopreviewPDFPath]; ! [tabView unlockFocus]; ! } ! if([tabView lockFocusIfCanDraw]){ ! [rtfPreviewView setString:@""]; ! [rtfPreviewView setTextContainerInset:NSMakeSize(20, 20)]; ! [rtfPreviewView replaceCharactersInRange:[rtfPreviewView selectedRange] ! withString:NSLocalizedString(@"Please select an item or items from the bibliography list for LaTeX to preview.",@"")]; ! [tabView unlockFocus]; ! } } --- 358,366 ---- - (void)resetPreviews{ ! [imagePreviewView loadFromPath:nopreviewPDFPath]; ! [rtfPreviewView setString:@""]; ! [rtfPreviewView setTextContainerInset:NSMakeSize(20, 20)]; ! [rtfPreviewView replaceCharactersInRange:[rtfPreviewView selectedRange] ! withString:NSLocalizedString(@"Please select an item or items from the bibliography list for LaTeX to preview.",@"")]; } Index: BibDocument_DataSource.m =================================================================== RCS file: /cvsroot/bibdesk/bibdesk/BibDocument_DataSource.m,v retrieving revision 1.58 retrieving revision 1.59 diff -C2 -d -r1.58 -r1.59 *** BibDocument_DataSource.m 20 Apr 2005 19:47:10 -0000 1.58 --- BibDocument_DataSource.m 23 Apr 2005 15:21:31 -0000 1.59 *************** *** 380,384 **** }else if (dragType == 3){ [pboard declareTypes:[NSArray arrayWithObject:NSRTFPboardType] owner:nil]; ! yn = [pboard setData:[PDFpreviewer rtfDataPreview] forType:NSRTFPboardType]; } [localDragPboard declareTypes:[NSArray arrayWithObjects:NSStringPboardType, BDSKBibItemLocalDragPboardType, nil] owner:nil]; --- 380,384 ---- }else if (dragType == 3){ [pboard declareTypes:[NSArray arrayWithObject:NSRTFPboardType] owner:nil]; ! yn = [pboard setData:[PDFpreviewer RTFPreviewData] forType:NSRTFPboardType]; } [localDragPboard declareTypes:[NSArray arrayWithObjects:NSStringPboardType, BDSKBibItemLocalDragPboardType, nil] owner:nil]; Index: BDSKPreviewer.h =================================================================== RCS file: /cvsroot/bibdesk/bibdesk/BDSKPreviewer.h,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** BDSKPreviewer.h 16 Apr 2005 17:39:28 -0000 1.10 --- BDSKPreviewer.h 23 Apr 2005 15:21:18 -0000 1.11 *************** *** 64,75 **** /*! - @method init - @abstract initializer - @discussion should only be called once (by appcontroller) - - */ - - (id)init; - - /*! @method PDFFromString: @abstract given a string, displays the PDF preview --- 64,67 ---- *************** *** 109,113 **** /*! ! @method rtfDataPreview: @abstract gives the RTF of the preview as NSData @discussion reads the rtf file generated by latex2rtf --- 101,105 ---- /*! ! @method RTFPreviewData: @abstract gives the RTF of the preview as NSData @discussion reads the rtf file generated by latex2rtf *************** *** 116,123 **** */ ! - (NSData *)rtfDataPreview; /*! ! @method rtfPreviewFromData: @abstract puts data in a textview @discussion takes rtfDataFromString, and puts it into a textview in the preview panel --- 108,115 ---- */ ! - (NSData *)RTFPreviewData; /*! ! @method displayRTFPreviewFromData: @abstract puts data in a textview @discussion takes rtfDataFromString, and puts it into a textview in the preview panel *************** *** 125,137 **** @result should return Y if successful... */ ! - (BOOL)rtfPreviewFromData:(NSData *)rtfdata; ! ! /*! ! @method pdfView: ! @abstract accessor for pdfView outlet ! @discussion returns pdfView (used for printing) ! @result pdfView ! */ ! - (NSImageView*) pdfView; /*! --- 117,121 ---- @result should return Y if successful... */ ! - (BOOL)displayRTFPreviewFromData:(NSData *)rtfdata; /*! *************** *** 143,147 **** - (void)resetPreviews; ! @end --- 127,136 ---- - (void)resetPreviews; ! /*! ! @method performDrawing ! @abstract Draws the previews in their appropriate views, in a thread-safe manner. ! @discussion (comprehensive description) ! */ ! - (void)performDrawing; @end Index: BibDocument.m =================================================================== RCS file: /cvsroot/bibdesk/bibdesk/BibDocument.m,v retrieving revision 1.267 retrieving revision 1.268 diff -C2 -d -r1.267 -r1.268 *** BibDocument.m 22 Apr 2005 18:33:37 -0000 1.267 --- BibDocument.m 23 Apr 2005 15:21:19 -0000 1.268 *************** *** 2101,2105 **** [pb setString:bibString forType:BDSKBibTeXStringPboardType]; if([PDFpreviewer PDFFromString:bibString]){ ! d = [PDFpreviewer rtfDataPreview]; [pb setData:d forType:NSRTFPboardType]; } else { --- 2101,2105 ---- [pb setString:bibString forType:BDSKBibTeXStringPboardType]; if([PDFpreviewer PDFFromString:bibString]){ ! d = [PDFpreviewer RTFPreviewData]; [pb setData:d forType:NSRTFPboardType]; } else { |