Revision: 12368
          http://bibdesk.svn.sourceforge.net/bibdesk/?rev=12368&view=rev
Author:   hofman
Date:     2008-01-08 09:38:28 -0800 (Tue, 08 Jan 2008)

Log Message:
-----------
Add a class factory method to create a new template.

Modified Paths:
--------------
    trunk/bibdesk/BDSKTemplate.h
    trunk/bibdesk/BDSKTemplate.m

Modified: trunk/bibdesk/BDSKTemplate.h
===================================================================
--- trunk/bibdesk/BDSKTemplate.h        2008-01-08 17:31:00 UTC (rev 12367)
+++ trunk/bibdesk/BDSKTemplate.h        2008-01-08 17:38:28 UTC (rev 12368)
@@ -91,6 +91,8 @@
 // export templates
 + (BDSKTemplate *)templateForStyle:(NSString *)styleName;
 
++ (BDSKTemplate *)templateWithName:(NSString *)name mainPageURL:(NSURL 
*)fileURL fileType:(NSString *)fileType;
+
 // service templates
 + (BDSKTemplate *)templateForCiteService;
 + (BDSKTemplate *)templateForTextService;

Modified: trunk/bibdesk/BDSKTemplate.m
===================================================================
--- trunk/bibdesk/BDSKTemplate.m        2008-01-08 17:31:00 UTC (rev 12367)
+++ trunk/bibdesk/BDSKTemplate.m        2008-01-08 17:38:28 UTC (rev 12368)
@@ -130,58 +130,34 @@
     NSURL *fileURL = nil;
     
     // HTML template
-    template = [[BDSKTemplate alloc] init];
-    [template setValue:NSLocalizedString(@"Default HTML template", @"template 
name") forKey:BDSKTemplateNameString];
-    [template setValue:@"html" forKey:BDSKTemplateRoleString];
-    [itemNodes addObject:template];
-    [template release];
-            
-    // main page template
     fileURL = [NSURL fileURLWithPath:[templatesPath 
stringByAppendingPathComponent:@"htmlExportTemplate.html"]];
-    [template addChildWithURL:fileURL role:BDSKTemplateMainPageString];
-    
+    template = [BDSKTemplate templateWithName:NSLocalizedString(@"Default HTML 
template", @"template name") mainPageURL:fileURL fileType:@"html"];
     // a user could potentially have templates for multiple BibTeX types; we 
could add all of those, as well
     fileURL = [NSURL fileURLWithPath:[templatesPath 
stringByAppendingPathComponent:@"htmlItemExportTemplate.html"]];
     [template addChildWithURL:fileURL role:BDSKTemplateDefaultItemString];
-    
     fileURL = [NSURL fileURLWithPath:[templatesPath 
stringByAppendingPathComponent:@"htmlExportStyleSheet.css"]];
     [template addChildWithURL:fileURL role:BDSKTemplateAccessoryString];
+    [itemNodes addObject:template];
     
     // RTF template
-    template = [[BDSKTemplate alloc] init];
-    [template setValue:NSLocalizedString(@"Default RTF template", @"template 
name") forKey:BDSKTemplateNameString];
-    [template setValue:@"rtf" forKey:BDSKTemplateRoleString];
-    [itemNodes addObject:template];
-    [template release];
     fileURL = [NSURL fileURLWithPath:[templatesPath 
stringByAppendingPathComponent:@"rtfExportTemplate.rtf"]];
-    [template addChildWithURL:fileURL role:BDSKTemplateMainPageString];
+    template = [BDSKTemplate templateWithName:NSLocalizedString(@"Default RTF 
template", @"template name") mainPageURL:fileURL fileType:@"rtf"];
+    [itemNodes addObject:template];
     
     // RTFD template
-    template = [[BDSKTemplate alloc] init];
-    [template setValue:NSLocalizedString(@"Default RTFD template", @"template 
name") forKey:BDSKTemplateNameString];
-    [template setValue:@"rtfd" forKey:BDSKTemplateRoleString];
-    [itemNodes addObject:template];
-    [template release];
     fileURL = [NSURL fileURLWithPath:[templatesPath 
stringByAppendingPathComponent:@"rtfdExportTemplate.rtfd"]];
-    [template addChildWithURL:fileURL role:BDSKTemplateMainPageString];
+    template = [BDSKTemplate templateWithName:NSLocalizedString(@"Default RTFD 
template", @"template name") mainPageURL:fileURL fileType:@"rtfd"];
+    [itemNodes addObject:template];
         
     // RSS template
-    template = [[BDSKTemplate alloc] init];
-    [template setValue:NSLocalizedString(@"Default RSS template", @"template 
name") forKey:BDSKTemplateNameString];
-    [template setValue:@"rss" forKey:BDSKTemplateRoleString];
-    [itemNodes addObject:template];
-    [template release];
     fileURL = [NSURL fileURLWithPath:[templatesPath 
stringByAppendingPathComponent:@"rssExportTemplate.rss"]];
-    [template addChildWithURL:fileURL role:BDSKTemplateMainPageString];    
+    template = [BDSKTemplate templateWithName:NSLocalizedString(@"Default RSS 
template", @"template name") mainPageURL:fileURL fileType:@"rss"];
+    [itemNodes addObject:template];
         
     // Doc template
-    template = [[BDSKTemplate alloc] init];
-    [template setValue:NSLocalizedString(@"Default Doc template", @"template 
name") forKey:BDSKTemplateNameString];
-    [template setValue:@"doc" forKey:BDSKTemplateRoleString];
-    [itemNodes addObject:template];
-    [template release];
     fileURL = [NSURL fileURLWithPath:[templatesPath 
stringByAppendingPathComponent:@"docExportTemplate.doc"]];
-    [template addChildWithURL:fileURL role:BDSKTemplateMainPageString];  
+    template = [BDSKTemplate templateWithName:NSLocalizedString(@"Default Doc 
template", @"template name") mainPageURL:fileURL fileType:@"doc"];
+    [itemNodes addObject:template];
             
     return [itemNodes autorelease];
 }
@@ -194,35 +170,24 @@
     NSURL *fileURL = nil;
     
     // Citation template
-    template = [[BDSKTemplate alloc] init];
-    [template setValue:NSLocalizedString(@"Citation Service template", 
@"template name") forKey:BDSKTemplateNameString];
-    [template setValue:@"txt" forKey:BDSKTemplateRoleString];
-    [itemNodes addObject:template];
-    [template release];
     fileURL = [NSURL fileURLWithPath:[appSupportPath 
stringByAppendingPathComponent:@"Templates/citeServiceTemplate.txt"]];
-    [template addChildWithURL:fileURL role:BDSKTemplateMainPageString];
+    template = [BDSKTemplate templateWithName:NSLocalizedString(@"Citation 
Service template", @"template name") mainPageURL:fileURL fileType:@"txt"];
+    [itemNodes addObject:template];
     
     // Text template
-    template = [[BDSKTemplate alloc] init];
-    [template setValue:NSLocalizedString(@"Text Service template", @"template 
name") forKey:BDSKTemplateNameString];
-    [template setValue:@"txt" forKey:BDSKTemplateRoleString];
-    [itemNodes addObject:template];
-    [template release];
     fileURL = [NSURL fileURLWithPath:[appSupportPath 
stringByAppendingPathComponent:@"Templates/textServiceTemplate.txt"]];
-    [template addChildWithURL:fileURL role:BDSKTemplateMainPageString];
+    template = [BDSKTemplate templateWithName:NSLocalizedString(@"Text Service 
template", @"template name") mainPageURL:fileURL fileType:@"txt"];
+    [itemNodes addObject:template];
     
     // RTF template
-    template = [[BDSKTemplate alloc] init];
-    [template setValue:NSLocalizedString(@"RTF Service template", @"template 
name") forKey:BDSKTemplateNameString];
-    [template setValue:@"rtf" forKey:BDSKTemplateRoleString];
-    [itemNodes addObject:template];
-    [template release];
     fileURL = [NSURL fileURLWithPath:[appSupportPath 
stringByAppendingPathComponent:@"Templates/rtfServiceTemplate.rtf"]];
-    [template addChildWithURL:fileURL role:BDSKTemplateMainPageString];
+    template = [BDSKTemplate templateWithName:NSLocalizedString(@"RTF Service 
template", @"template name") mainPageURL:fileURL fileType:@"rtf"];
+    [template setValue:NSLocalizedString(@"RTF Service template", @"template 
name") forKey:BDSKTemplateNameString];
     fileURL = [NSURL fileURLWithPath:[appSupportPath 
stringByAppendingPathComponent:@"Templates/rtfServiceTemplate default 
item.rtf"]];
     [template addChildWithURL:fileURL role:BDSKTemplateDefaultItemString];
     fileURL = [NSURL fileURLWithPath:[appSupportPath 
stringByAppendingPathComponent:@"Templates/rtfServiceTemplate book.rtf"]];
     [template addChildWithURL:fileURL role:BDSKBookString];
+    [itemNodes addObject:template];
             
     return [itemNodes autorelease];
 }
@@ -346,6 +311,15 @@
     return [[self serviceTemplates] lastObject];
 }
 
++ (BDSKTemplate *)templateWithName:(NSString *)name mainPageURL:(NSURL 
*)fileURL fileType:(NSString *)fileType;
+{
+    BDSKTemplate *template = [[[BDSKTemplate alloc] init] autorelease];
+    [template setValue:name forKey:BDSKTemplateNameString];
+    [template setValue:fileType forKey:BDSKTemplateRoleString];
+    [template addChildWithURL:fileURL role:BDSKTemplateMainPageString];
+    return template;
+}
+
 #pragma mark Instance methods
 
 - (BDSKTemplateFormat)templateFormat;


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
_______________________________________________
Bibdesk-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bibdesk-commit

Reply via email to