Update
svn: r2947
This commit is contained in:
		@@ -118,9 +118,13 @@ class LPRDoc(BaseDoc.BaseDoc):
 | 
			
		||||
 | 
			
		||||
        self.start_page(self)
 | 
			
		||||
 
 | 
			
		||||
 | 
			
		||||
    def find_font_from_fontstyle(self,fontstyle):
 | 
			
		||||
        """
 | 
			
		||||
        This function returns the gnomeprint.Font() object instance
 | 
			
		||||
        corresponding to the parameters of BaseDoc.FontStyle()
 | 
			
		||||
        """
 | 
			
		||||
 | 
			
		||||
        if fontstyle.get_type_face() == BaseDoc.FONT_SANS_SERIF:
 | 
			
		||||
            face = _FONT_SANS_SERIF
 | 
			
		||||
        elif fontstyle.get_type_face() == BaseDoc.FONT_SERIF:
 | 
			
		||||
@@ -157,6 +161,7 @@ class LPRDoc(BaseDoc.BaseDoc):
 | 
			
		||||
 | 
			
		||||
    def page_break(self):
 | 
			
		||||
        "Forces a page break, creating a new page"
 | 
			
		||||
        self.end_page()
 | 
			
		||||
        self.start_page()
 | 
			
		||||
                                                                                
 | 
			
		||||
    def start_page(self,orientation=None):
 | 
			
		||||
@@ -199,17 +204,17 @@ class LPRDoc(BaseDoc.BaseDoc):
 | 
			
		||||
        #print "end paragraph"
 | 
			
		||||
        self.__in_paragraph=0
 | 
			
		||||
        #print text in paragraph if any data exists
 | 
			
		||||
        if len(self.__paragraph_data) > 0:
 | 
			
		||||
        if self.__paragraph_data:
 | 
			
		||||
            fontstyle = self.__paragraph_style.get_font()
 | 
			
		||||
            self.__pc.setfont(self.find_font_from_fontstyle(fontstyle))
 | 
			
		||||
            self.__pc.moveto(self.__x, self.__y)
 | 
			
		||||
            self.__x, self.__y=self.__print_text(self.__paragraph_data, 
 | 
			
		||||
            self.__x, self.__y = self.__print_text(self.__paragraph_data, 
 | 
			
		||||
                                                self.__x, self.__y,
 | 
			
		||||
                                                self.__left_margin, 
 | 
			
		||||
                                                self.__right_margin,
 | 
			
		||||
                                                fontstyle)
 | 
			
		||||
            self.__paragraph_data=""
 | 
			
		||||
            self.__y=self.__advance_line(self.__y)
 | 
			
		||||
            self.__paragraph_data = ""
 | 
			
		||||
            self.__y = self.__advance_line(self.__y)
 | 
			
		||||
 | 
			
		||||
####    FIXME BEGIN     #########
 | 
			
		||||
# The following two functions don't work at the moment. The problem is
 | 
			
		||||
@@ -404,16 +409,18 @@ class LPRDoc(BaseDoc.BaseDoc):
 | 
			
		||||
           self.__paragraph_data=self.__paragraph_data+str(text)
 | 
			
		||||
           return
 | 
			
		||||
 | 
			
		||||
        #if we are at the bottom of the page, create a new page
 | 
			
		||||
        if self.__y < self.__bottom_margin:
 | 
			
		||||
           self.end_page()
 | 
			
		||||
           self.start_page()
 | 
			
		||||
 | 
			
		||||
        #output data if we get this far (we are not in a paragaph or
 | 
			
		||||
        #a table)
 | 
			
		||||
        self.__x, self.__y=self.__print_text(text, self.__x, self.__y,
 | 
			
		||||
                          self.__left_margin, self.__right_margin)
 | 
			
		||||
        #self.__y=self.__advance_line(self.__y)
 | 
			
		||||
#       write_text() should only be called from within a paragraph!!!
 | 
			
		||||
#
 | 
			
		||||
#        #if we are at the bottom of the page, create a new page
 | 
			
		||||
#        if self.__y < self.__bottom_margin:
 | 
			
		||||
#            self.end_page()
 | 
			
		||||
#            self.start_page()
 | 
			
		||||
#
 | 
			
		||||
#        #output data if we get this far (we are not in a paragaph or
 | 
			
		||||
#        #a table)
 | 
			
		||||
#        self.__x, self.__y=self.__print_text(text, self.__x, self.__y,
 | 
			
		||||
#                          self.__left_margin, self.__right_margin)
 | 
			
		||||
#        #self.__y=self.__advance_line(self.__y)
 | 
			
		||||
 | 
			
		||||
    #function to help us advance a line 
 | 
			
		||||
    def __advance_line(self, y):
 | 
			
		||||
@@ -462,10 +469,16 @@ class LPRDoc(BaseDoc.BaseDoc):
 | 
			
		||||
 | 
			
		||||
    def __print_text(self, text, x, y, left_margin, right_margin,fontstyle):
 | 
			
		||||
        __width=right_margin-left_margin
 | 
			
		||||
        self.__pc.setfont(self.find_font_from_fontstyle(fontstyle))
 | 
			
		||||
 | 
			
		||||
        if y - _LINE_SPACING < self.__bottom_margin:
 | 
			
		||||
            self.end_page()
 | 
			
		||||
            self.start_page()
 | 
			
		||||
            x=self.__x
 | 
			
		||||
            y=self.__y
 | 
			
		||||
 | 
			
		||||
        #all text will fit within the width provided
 | 
			
		||||
        if __width >= self.__text_width(text,fontstyle):
 | 
			
		||||
            self.__pc.setfont(self.find_font_from_fontstyle(fontstyle))
 | 
			
		||||
            self.__pc.moveto(left_margin, y)
 | 
			
		||||
            x=left_margin+self.__text_width(text,fontstyle)
 | 
			
		||||
            self.__pc.show(text)
 | 
			
		||||
@@ -479,13 +492,14 @@ class LPRDoc(BaseDoc.BaseDoc):
 | 
			
		||||
                    __text=__text+__element+" "
 | 
			
		||||
                else:
 | 
			
		||||
                    #__text contains as many words as this __width allows
 | 
			
		||||
                    self.__pc.setfont(self.find_font_from_fontstyle(fontstyle))
 | 
			
		||||
                    self.__pc.moveto(left_margin, y)
 | 
			
		||||
                    self.__pc.show(__text)
 | 
			
		||||
                    __text=__element+" "
 | 
			
		||||
                    y=self.__advance_line(y)
 | 
			
		||||
 | 
			
		||||
                #if not in table and cursor is below bottom margin
 | 
			
		||||
                if self.__in_table==0 and y < self.__bottom_margin:
 | 
			
		||||
                if (not self.__in_table) and (y < self.__bottom_margin):
 | 
			
		||||
                    self.end_page()
 | 
			
		||||
                    self.start_page()
 | 
			
		||||
                    x=self.__x
 | 
			
		||||
@@ -493,6 +507,7 @@ class LPRDoc(BaseDoc.BaseDoc):
 | 
			
		||||
 | 
			
		||||
            #if __text still contains data, we will want to print it out
 | 
			
		||||
            if len(__text) > 0:
 | 
			
		||||
                self.__pc.setfont(self.find_font_from_fontstyle(fontstyle))
 | 
			
		||||
                self.__pc.moveto(left_margin, y)
 | 
			
		||||
                self.__pc.show(__text)
 | 
			
		||||
                y=self.__advance_line(y)
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user