Updates from contributor
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@15576 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -6,9 +6,14 @@
|
|||||||
#
|
#
|
||||||
# Created:
|
# Created:
|
||||||
# Version 0.75
|
# Version 0.75
|
||||||
# Date: Sept 18, 2001
|
# Date: May 15, 2002
|
||||||
# Licence: wxWindows license
|
# Licence: wxWindows license
|
||||||
#----------------------------------------------------------------------------
|
#----------------------------------------------------------------------------
|
||||||
|
# Release Notes
|
||||||
|
|
||||||
|
# fixed bug for string wider than print region
|
||||||
|
# add index to data list after parsing total pages for paging
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
import os, sys, string, copy
|
import os, sys, string, copy
|
||||||
|
|
||||||
@@ -87,6 +92,13 @@ class PrintBase:
|
|||||||
if len(split) == 1:
|
if len(split) == 1:
|
||||||
return ln_text, ""
|
return ln_text, ""
|
||||||
|
|
||||||
|
try:
|
||||||
|
w, h = self.DC.GetTextExtent(split[0])
|
||||||
|
if w >= width:
|
||||||
|
return ln_text, ""
|
||||||
|
except:
|
||||||
|
pass
|
||||||
|
|
||||||
cnt = 0
|
cnt = 0
|
||||||
for word in split:
|
for word in split:
|
||||||
bword = " " + word # blank + word
|
bword = " " + word # blank + word
|
||||||
@@ -341,31 +353,22 @@ class PrintTableDraw(wxScrolledWindow, PrintBase):
|
|||||||
if self.total_pages == None:
|
if self.total_pages == None:
|
||||||
self.GetTotalPages() # total pages for display/printing
|
self.GetTotalPages() # total pages for display/printing
|
||||||
|
|
||||||
self.data_cnt = 0
|
self.data_cnt = self.page_index[self.page-1]
|
||||||
|
|
||||||
cnt = 1 # get selected page
|
|
||||||
if cnt == self.page:
|
|
||||||
self.draw = TRUE
|
|
||||||
else:
|
|
||||||
self.draw = FALSE
|
|
||||||
|
|
||||||
while cnt < self.page:
|
|
||||||
self.OutPage()
|
|
||||||
cnt = cnt + 1
|
|
||||||
|
|
||||||
self.draw = TRUE
|
self.draw = TRUE
|
||||||
self.PrintHeader()
|
self.PrintHeader()
|
||||||
self.PrintFooter()
|
self.PrintFooter()
|
||||||
self.OutPage()
|
self.OutPage()
|
||||||
|
|
||||||
|
|
||||||
def GetTotalPages(self):
|
def GetTotalPages(self):
|
||||||
self.data_cnt = 0
|
self.data_cnt = 0
|
||||||
self.draw = FALSE
|
self.draw = FALSE
|
||||||
|
self.page_index = [0]
|
||||||
|
|
||||||
cnt = 0
|
cnt = 0
|
||||||
while 1:
|
while 1:
|
||||||
test = self.OutPage()
|
test = self.OutPage()
|
||||||
|
self.page_index.append(self.data_cnt)
|
||||||
if test == FALSE:
|
if test == FALSE:
|
||||||
break
|
break
|
||||||
cnt = cnt + 1
|
cnt = cnt + 1
|
||||||
@@ -376,7 +379,7 @@ class PrintTableDraw(wxScrolledWindow, PrintBase):
|
|||||||
self.y = self.y_start
|
self.y = self.y_start
|
||||||
self.end_x = self.column[-1]
|
self.end_x = self.column[-1]
|
||||||
|
|
||||||
if self.data_cnt < len(self.data)-1: # if there data for display on the page
|
if self.data_cnt < len(self.data): # if there data for display on the page
|
||||||
if self.label != []: # check if header defined
|
if self.label != []: # check if header defined
|
||||||
self.PrintLabel()
|
self.PrintLabel()
|
||||||
else:
|
else:
|
||||||
|
Reference in New Issue
Block a user