| 
						 
							
							
							
						 
					 | 
				
			
			 | 
			 | 
			
				@@ -1,6 +1,6 @@
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				# Gramps - a GTK+/GNOME based genealogy program
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				#
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				# Copyright (C) 2003  Donald N. Allingham
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				# Copyright (C) 2003-2005  Donald N. Allingham
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				#
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				# This program is free software; you can redistribute it and/or modify
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				# it under the terms of the GNU General Public License as published by
 | 
			
		
		
	
	
		
			
				
					
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@@ -25,6 +25,15 @@
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				#
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				#------------------------------------------------------------------------
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				import os
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				import time
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				from gettext import gettext as _
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				#------------------------------------------------------------------------
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				#
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				# gtk
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				#
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				#------------------------------------------------------------------------
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				import gtk
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				#------------------------------------------------------------------------
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				#
 | 
			
		
		
	
	
		
			
				
					
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@@ -33,14 +42,11 @@ import os
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				#------------------------------------------------------------------------
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				import Report
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				import BaseDoc
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				import Errors
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				from QuestionDialog import ErrorDialog
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				from gettext import gettext as _
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				import SelectObject
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				import Utils
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				import AddMedia
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				import gtk
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				import const
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				import ReportOptions
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				#------------------------------------------------------------------------
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				#
 | 
			
		
		
	
	
		
			
				
					
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@@ -49,36 +55,36 @@ import gtk
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				#------------------------------------------------------------------------
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				class SimpleBookTitle(Report.Report):
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    def __init__(self,database,
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                    person,title_string,subtitle_string,object_handle,image_size,
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                    footer_string,doc,output,newpage=0):
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        self.map = {}
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        self.database = database
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        self.start = person
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        self.title_string = title_string
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        self.object_handle = object_handle
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        self.image_size = image_size
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        self.subtitle_string = subtitle_string
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        self.footer_string = footer_string
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        self.doc = doc
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        self.newpage = newpage
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        if output:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            self.standalone = 1
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            self.doc.open(output)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            self.doc.init()
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        else:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            self.standalone = 0
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        self.sref_map = {}
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        self.sref_index = 1
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    def __init__(self,database,person,options_class):
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        """
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        Creates SimpleBookTitle object that produces the report.
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    def setup(self):
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        pass
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        The arguments are:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        database        - the GRAMPS database instance
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        person          - currently selected person
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        options_class   - instance of the Options class for this report
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        This report needs the following parameters (class variables)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        that come in the options class.
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        title     - Title string.
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        subtitle  - Subtitle string.
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        imgid     - Gramps ID of the media object to use as an image.
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        imgsize   - Size for the image.
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        footer    - Footer string.
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        """
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        Report.Report.__init__(self,database,person,options_class)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        self.title_string = options_class.handler.options_dict['title']
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        self.image_size = options_class.handler.options_dict['imgsize']
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        self.subtitle_string = options_class.handler.options_dict['subtitle']
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        self.footer_string = options_class.handler.options_dict['footer']
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        self.object_id = options_class.handler.options_dict['imgid']
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    def write_report(self):
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        if self.newpage:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            self.doc.page_break()
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        self.doc.start_paragraph('SBT-Title')
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        self.doc.write_text(self.title_string)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        self.doc.end_paragraph()
 | 
			
		
		
	
	
		
			
				
					
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@@ -87,9 +93,9 @@ class SimpleBookTitle(Report.Report):
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        self.doc.write_text(self.subtitle_string)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        self.doc.end_paragraph()
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        if self.object_handle:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            object = self.database.get_object(self.object_handle)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            name = object.get_path()
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        if self.object_id:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            the_object = self.database.get_object_from_gramps_id(self.object_id)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            name = the_object.get_path()
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            if self.image_size:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                image_size = self.image_size
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            else:
 | 
			
		
		
	
	
		
			
				
					
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@@ -102,222 +108,87 @@ class SimpleBookTitle(Report.Report):
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        self.doc.write_text(self.footer_string)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        self.doc.end_paragraph()
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        if self.standalone:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            self.doc.close()
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				def _make_default_style(default_style):
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    """Make the default output style for the Simple Boot Title report."""
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    font = BaseDoc.FontStyle()
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    font.set(face=BaseDoc.FONT_SANS_SERIF,size=16,bold=1,italic=1)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    para = BaseDoc.ParagraphStyle()
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    para.set_font(font)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    para.set_header_level(1)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    para.set_alignment(BaseDoc.PARA_ALIGN_CENTER)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    para.set(pad=0.5)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    para.set_description(_('The style used for the title of the page.'))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    default_style.add_style("SBT-Title",para)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    font = BaseDoc.FontStyle()
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    font.set(face=BaseDoc.FONT_SANS_SERIF,size=14,italic=1)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    para = BaseDoc.ParagraphStyle()
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    para.set_font(font)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    para.set_header_level(2)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    para.set(pad=0.5)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    para.set_alignment(BaseDoc.PARA_ALIGN_CENTER)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    para.set_description(_('The style used for the subtitle.'))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    default_style.add_style("SBT-Subtitle",para)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    font = BaseDoc.FontStyle()
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    font.set(face=BaseDoc.FONT_SANS_SERIF,size=10,italic=1)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    para = BaseDoc.ParagraphStyle()
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    para.set_font(font)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    para.set_header_level(2)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    para.set(pad=0.5)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    para.set_alignment(BaseDoc.PARA_ALIGN_CENTER)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    para.set_description(_('The style used for the footer.'))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    default_style.add_style("SBT-Footer",para)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				#-------------------------------------------------------------------------
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				#
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				# Define pre-set image sizes
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				#
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				#-------------------------------------------------------------------------
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				_sizes = (
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    ( _('Fit page'), 0 ),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    ( _('%d cm') % 5, 5 ),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    ( _('%d cm') % 10, 10 ),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    ( _('%d cm') % 15, 15 ),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				#-------------------------------------------------------------------------
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				#
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				# make_paper_menu
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				#
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				#-------------------------------------------------------------------------
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				def make_size_menu(main_menu,def_size_index=0):
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    index = 0
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    myMenu = gtk.Menu()
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    for size in _sizes:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        name = size[0]
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        menuitem = gtk.MenuItem(name)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        menuitem.show()
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        myMenu.append(menuitem)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        if index == def_size_index:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            myMenu.set_active(index)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        index = index + 1
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    main_menu.set_menu(myMenu)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				#------------------------------------------------------------------------
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				#
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				# Set up sane defaults for the book_item
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				# 
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				#
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				#------------------------------------------------------------------------
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				_style_file = "simple_book_title.xml"
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				_style_name = "default" 
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				class SimpleBookTitleOptions(ReportOptions.ReportOptions):
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				_person_handle = ""
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				_title_string = ""
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				_subtitle_string = ""
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				_object_handle = ""
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				_size_index = 0
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				_footer_string = ""
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    """
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    Defines options and provides handling interface.
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    """
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				_options = ( 
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    _person_handle, 
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    _title_string, 
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    _subtitle_string, 
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    _object_handle, 
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    _size_index, 
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    _footer_string
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    def __init__(self,name,person_id=None):
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        ReportOptions.ReportOptions.__init__(self,name,person_id)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    def set_new_options(self):
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        # Options specific for this report
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        self.options_dict = {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            'title'     : _('Title of the Book'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            'subtitle'  : _('Subtitle of the Book'),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            'imgid'     : '',
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            'imgsize'   : 0.0,
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            'footer'    : '',
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        }
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        self.options_help = {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            'title'     : ("=str","Title string for the report",
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                            "Whatever String You Wish"),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            'subtitle'  : ("=str","Subtitle string for the report",
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                            "Whatever String You Wish"),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            'footer'    : ("=str","Footer string for the report",
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                            "Whatever String You Wish"),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            'imgid'     : ("=ID","Gramps ID of the media object to use as an image.",
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                            "Valid GRAMPS ID of an image."),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            'imgsize'   : ("=num","Size of the image.",
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                            ["Floating point value (in cm)", 
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                             "0 (to fit the page)."],
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                            False),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        }
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				#------------------------------------------------------------------------
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				#
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				# Book Item Options dialog
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				#
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				#------------------------------------------------------------------------
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				class SimpleBookTitleDialog(Report.BareReportDialog):
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    def add_user_options(self,dialog):
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        dialog.setup_center_person = dialog.setup_paper_frame
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        dialog.notebook = gtk.Notebook()
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        dialog.notebook.set_border_width(6)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        dialog.window.vbox.add(dialog.notebook)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    def __init__(self,database,person,opt,stl):
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        self.options = opt
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        self.db = database
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        if self.options[0]:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            self.person = self.db.get_person_from_handle(self.options[0])
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        else:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            self.person = person
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					self.style_name = stl
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        Report.BareReportDialog.__init__(self,database,self.person)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        if self.options[1]:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            self.title_string = self.options[1]
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        else:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            self.title_string = _('Title of the Book')
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        if self.options[2]:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            self.subtitle_string = self.options[2]
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        else:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            self.subtitle_string = _('Subtitle of the Book')
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        if self.options[3]:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            self.object_handle = self.options[3]
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        else:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            self.object_handle = ""
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        if self.options[4]:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            self.size_index = int(self.options[4])
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        else:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            self.size_index = 0
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        if self.options[5]:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            self.footer_string = self.options[5]
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        else:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            import time
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            dateinfo = time.localtime(time.time())
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            name = self.db.get_researcher().get_name()
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            self.footer_string = _('Copyright %d %s') % (dateinfo[0], name)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        self.title_entry.set_text(self.title_string)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        self.subtitle_entry.set_text(self.subtitle_string)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        self.footer_entry.set_text(self.footer_string)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        self.size_menu.set_history(self.size_index)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        if self.object_handle:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            object = self.db.get_object(self.object_handle)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            self.obj_title.set_text(object.get_description())
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            the_type = Utils.get_mime_description(object.get_mime_type())
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            path = object.get_path()
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            thumb_path = Utils.thumb_path(self.db.get_save_path(),object)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            pexists = os.path.exists(path)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            if pexists and os.path.exists(thumb_path):
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                self.preview.set_from_pixbuf(gtk.gdk.pixbuf_new_from_file(thumb_path))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            else:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                icon_image = gtk.gdk.pixbuf_new_from_file(Utils.find_icon(the_type))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                self.preview.set_from_pixbuf(icon_image)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            self.remove_obj_button.set_sensitive(gtk.TRUE)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            self.size_menu.set_sensitive(gtk.TRUE)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        self.new_person = None
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        self.window.run()
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    #------------------------------------------------------------------------
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    #
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    # Customization hooks
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    #
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    #------------------------------------------------------------------------
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    def make_default_style(self):
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        _make_default_style(self.default_style)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    def get_title(self):
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        """The window title for this dialog"""
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        return "%s - GRAMPS Book" % (_("Title Page"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    def get_header(self, name):
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        """The header line at the top of the dialog contents"""
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        return _("Title Page for GRAMPS Book") 
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    def get_stylesheet_savefile(self):
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        """Where to save styles for this report."""
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        return _style_file
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    def setup_center_person(self): 
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        pass
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    def setup_report_options_frame(self):
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        self.notebook = gtk.Notebook()
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        self.notebook.set_border_width(6)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        self.window.vbox.add(self.notebook)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    def add_user_options(self):
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        self.title_entry = gtk.Entry()
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        self.title_entry.set_text(self.options_dict['title'])
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        self.subtitle_entry = gtk.Entry()
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        self.subtitle_entry.set_text(self.options_dict['subtitle'])
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        footer_string = self.options_dict['footer']
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        if not footer_string:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            dateinfo = time.localtime(time.time())
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            name = dialog.database.get_researcher().get_name()
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            footer_string = _('Copyright %d %s') % (dateinfo[0], name)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        self.footer_entry = gtk.Entry()
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        self.add_frame_option(_('Text'),_('Title'),self.title_entry)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        self.add_frame_option(_('Text'),_('Subtitle'),self.subtitle_entry)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        self.add_frame_option(_('Text'),_('Footer'),self.footer_entry)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        self.footer_entry.set_text(footer_string)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        dialog.add_frame_option(_('Text'),_('Title'),self.title_entry)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        dialog.add_frame_option(_('Text'),_('Subtitle'),self.subtitle_entry)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        dialog.add_frame_option(_('Text'),_('Footer'),self.footer_entry)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        frame = gtk.Frame()
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        frame.set_size_request(96,96)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        self.preview = gtk.Image()
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        frame.add(self.preview)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        self.obj_title = gtk.Label('')
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        self.remove_obj_button = gtk.Button(None,gtk.STOCK_REMOVE)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        self.remove_obj_button.connect('clicked',self.remove_obj)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        self.remove_obj_button.set_sensitive(gtk.FALSE)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        preview_table = gtk.Table(2,1)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        preview_table.set_row_spacings(10)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        preview_table.attach(frame,0,1,1,2,gtk.SHRINK|gtk.FILL,gtk.SHRINK|gtk.FILL)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        preview_table.attach(self.obj_title,0,1,0,1,gtk.SHRINK|gtk.FILL,gtk.SHRINK|gtk.FILL)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        select_obj_button = gtk.Button(_('From gallery...'))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        select_obj_button.connect('clicked',self.select_obj)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        select_obj_button.connect('clicked',self.select_obj,dialog.database)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        select_file_button = gtk.Button(_('From file...'))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        select_file_button.connect('clicked',self.select_file)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        select_file_button.connect('clicked',self.select_file,dialog.database)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        select_table = gtk.Table(1,3)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        select_table.set_col_spacings(10)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        select_table.attach(select_obj_button,
 | 
			
		
		
	
	
		
			
				
					
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@@ -327,155 +198,113 @@ class SimpleBookTitleDialog(Report.BareReportDialog):
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        select_table.attach(self.remove_obj_button,
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                2,3,0,1,gtk.SHRINK|gtk.FILL,gtk.SHRINK|gtk.FILL)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        self.size_menu = gtk.OptionMenu()
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        make_size_menu(self.size_menu)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        self.size_menu.set_sensitive(gtk.FALSE)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        self.size = gtk.SpinButton()
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        self.size.set_digits(2)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        self.size.set_increments(1,2)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        self.size.set_range(0,20)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        self.size.set_numeric(gtk.TRUE)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        self.size.set_value(self.options_dict['imgsize'])
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        self.add_frame_option(_('Image'),_('Preview'),preview_table)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        self.add_frame_option(_('Image'),_('Select'),select_table)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        self.add_frame_option(_('Image'),_('Size'),self.size_menu)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        dialog.add_frame_option(_('Image'),_('Preview'),preview_table)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        dialog.add_frame_option(_('Image'),_('Select'),select_table)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        dialog.add_frame_option(_('Image'),_('Size'),self.size)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    def parse_report_options_frame(self):
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        """Parse the report options frame of the dialog.  Save the user selected choices for later use."""
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        object_id = self.options_dict['imgid']
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        if object_id and dialog.database.get_object_from_gramps_id(object_id):
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            the_object = dialog.database.get_object_from_gramps_id(object_id)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            self.setup_object(dialog.database,the_object)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        else:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            self.remove_obj_button.set_sensitive(False)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            self.size.set_sensitive(False)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        # call the parent task to handle normal options
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        Report.BareReportDialog.parse_report_options_frame(self)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        # get values from the widgets
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        self.title_string = unicode(self.title_entry.get_text())
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        self.subtitle_string = unicode(self.subtitle_entry.get_text())
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        self.footer_string = unicode(self.footer_entry.get_text())
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        self.size_index = self.size_menu.get_history()
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    def on_cancel(self, obj):
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        pass
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    def parse_user_options(self,dialog):
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        """
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        Parses the custom options that we have added.
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        """
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        self.options_dict['title'] = unicode(self.title_entry.get_text())
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        self.options_dict['subtitle'] = unicode(self.subtitle_entry.get_text())
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        self.options_dict['footer'] = unicode(self.footer_entry.get_text())
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        self.options_dict['imgsize'] = self.size.get_value()
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    def remove_obj(self, obj):
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        self.object_handle = ""
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        self.options_dict['imgid'] = ""
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        self.obj_title.set_text('')
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        self.preview.set_from_pixbuf(None)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        self.remove_obj_button.set_sensitive(gtk.FALSE)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        self.size_menu.set_sensitive(gtk.FALSE)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        self.size.set_sensitive(gtk.FALSE)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    def select_obj(self, obj):
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        s_o = SelectObject.SelectObject(self.db,_("Select an Object"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        object = s_o.run()
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        if object:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            self.object_handle = object.get_handle()
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        else:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    def select_obj(self,obj,database):
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        s_o = SelectObject.SelectObject(database,_("Select an Object"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        the_object = s_o.run()
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        self.setup_object(database,the_object)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    def select_file(self,obj,database):
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        a_o = AddMedia.AddMediaObject(database)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        the_object = a_o.run()
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        self.setup_object(database,the_object)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    def setup_object(self,database,the_object):
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        if not the_object:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            return
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        self.obj_title.set_text(object.get_description())
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        the_type = Utils.get_mime_description(object.get_mime_type())
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        path = object.get_path()
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        thumb_path = Utils.thumb_path(self.db.get_save_path(),object)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        pexists = os.path.exists(path)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        if pexists and os.path.exists(thumb_path):
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            self.preview.set_from_pixbuf(gtk.gdk.pixbuf_new_from_file(thumb_path))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        else:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            icon_image = gtk.gdk.pixbuf_new_from_file(Utils.find_icon(the_type))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            self.preview.set_from_pixbuf(icon_image)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        self.options_dict['imgid'] = the_object.get_gramps_id()
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        self.obj_title.set_text(the_object.get_description())
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        icon_image = database.get_thumbnail_image(the_object.get_handle())
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        self.preview.set_from_pixbuf(icon_image)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				#        the_type = Utils.get_mime_description(the_object.get_mime_type())
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				#        path = the_object.get_path()
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				#        thumb_path = Utils.thumb_path(database.get_save_path(),the_object)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				#        pexists = os.path.exists(path)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				#        if pexists and os.path.exists(thumb_path):
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				#            self.preview.set_from_pixbuf(gtk.gdk.pixbuf_new_from_file(thumb_path))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				#        else:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				#            icon_image = gtk.gdk.pixbuf_new_from_file(Utils.find_icon(the_type))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				#            self.preview.set_from_pixbuf(icon_image)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        self.remove_obj_button.set_sensitive(gtk.TRUE)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        self.size_menu.set_sensitive(gtk.TRUE)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        self.size.set_sensitive(gtk.TRUE)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    def select_file(self, obj):
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        a_o = AddMedia.AddMediaObject(self.db)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        object = a_o.run()
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        if object:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            self.object_handle = object.get_handle()
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        else:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            return
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        self.obj_title.set_text(object.get_description())
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        the_type = Utils.get_mime_description(object.get_mime_type())
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        path = object.get_path()
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        thumb_path = Utils.thumb_path(self.db.get_save_path(),object)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        pexists = os.path.exists(path)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        if pexists and os.path.exists(thumb_path):
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            self.preview.set_from_pixbuf(gtk.gdk.pixbuf_new_from_file(thumb_path))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        else:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            icon_image = gtk.gdk.pixbuf_new_from_file(Utils.find_icon(the_type))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            self.preview.set_from_pixbuf(icon_image)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        self.remove_obj_button.set_sensitive(gtk.TRUE)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        self.size_menu.set_sensitive(gtk.TRUE)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    def make_default_style(self,default_style):
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        """Make the default output style for the Simple Boot Title report."""
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        font = BaseDoc.FontStyle()
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        font.set(face=BaseDoc.FONT_SANS_SERIF,size=16,bold=1,italic=1)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        para = BaseDoc.ParagraphStyle()
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        para.set_font(font)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        para.set_header_level(1)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        para.set_alignment(BaseDoc.PARA_ALIGN_CENTER)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        para.set(pad=0.5)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        para.set_description(_('The style used for the title of the page.'))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        default_style.add_style("SBT-Title",para)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        font = BaseDoc.FontStyle()
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        font.set(face=BaseDoc.FONT_SANS_SERIF,size=14,italic=1)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        para = BaseDoc.ParagraphStyle()
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        para.set_font(font)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        para.set_header_level(2)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        para.set(pad=0.5)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        para.set_alignment(BaseDoc.PARA_ALIGN_CENTER)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        para.set_description(_('The style used for the subtitle.'))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        default_style.add_style("SBT-Subtitle",para)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    def on_ok_clicked(self, obj):
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        """The user is satisfied with the dialog choices. Parse all options
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        and close the window."""
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        # Preparation
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        self.parse_style_frame()
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        self.parse_report_options_frame()
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        if self.new_person:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            self.person = self.new_person
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        self.options = ( self.person.get_handle(), 
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                    self.title_string, self.subtitle_string, 
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                    self.object_handle, self.size_index, self.footer_string )
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        self.style_name = self.selected_style.get_name() 
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				   
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				#------------------------------------------------------------------------
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				#
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				# Function to write Book Item 
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				#
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				#------------------------------------------------------------------------
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				def write_book_item(database,person,doc,options,newpage=0):
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    """Write the Title Page using options set.
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    All user dialog has already been handled and the output file opened."""
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    try:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        if options[0]:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            person = database.get_person_from_handle(options[0])
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        if options[1]:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            title_string = options[1]
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        else:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            title_string = _('Title of the Book')
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        if options[2]:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            subtitle_string = options[2]
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        else:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            subtitle_string = _('Subtitle of the Book')
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        if options[3]:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            object_handle = options[3]
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        else:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            object_handle = ""
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        if options[4]:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            size_index = int(options[4])
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        else:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            size_index = 0
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        size = _sizes[size_index][1]
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        if options[5]:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            footer_string = options[5]
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        else:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            import time
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            dateinfo = time.localtime(time.time())
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            name = database.get_researcher().get_name()
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				            footer_string = _('Copyright %d %s') % (dateinfo[0], name)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        return SimpleBookTitle(database, person, 
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                title_string, subtitle_string, object_handle, size, 
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				                footer_string, doc, None, newpage )
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    except Errors.ReportError, msg:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        (m1,m2) = msg.messages()
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        ErrorDialog(m1,m2)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    except Errors.FilterError, msg:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        (m1,m2) = msg.messages()
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        ErrorDialog(m1,m2)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    except:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        import DisplayTrace
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        DisplayTrace.DisplayTrace()
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        font = BaseDoc.FontStyle()
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        font.set(face=BaseDoc.FONT_SANS_SERIF,size=10,italic=1)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        para = BaseDoc.ParagraphStyle()
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        para.set_font(font)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        para.set_header_level(2)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        para.set(pad=0.5)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        para.set_alignment(BaseDoc.PARA_ALIGN_CENTER)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        para.set_description(_('The style used for the footer.'))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				        default_style.add_style("SBT-Footer",para)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				#------------------------------------------------------------------------
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				#
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				# 
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				#
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				#------------------------------------------------------------------------
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				from PluginMgr import register_book_item
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				# (name,category,options_dialog,write_book_item,options,style_name,style_file,make_default_style)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				register_book_item( 
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    _("Title Page"), 
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    _("Title"),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    SimpleBookTitleDialog,
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    write_book_item,
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    _options,
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    _style_name,
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    _style_file,
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    _make_default_style
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				   )
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				from PluginMgr import register_report
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				register_report(
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    name = 'simple_book_title',
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    category = const.CATEGORY_TEXT,
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    report_class = SimpleBookTitle,
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    options_class = SimpleBookTitleOptions,
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    modes = Report.MODE_BKI,
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    translated_name = _("Title Page"),
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    )
 | 
			
		
		
	
	
		
			
				
					
					| 
						 
							
							
							
						 
					 | 
				
			
			 | 
			 | 
			
				 
 |