dabo Commit
Revision 5931
Date: 2010-07-19 14:31:20 -0700 (Mon, 19 Jul 2010)
Author: Paul
Trac: http://trac.dabodev.com/changeset/5931
Changed:
U trunk/dabo/lib/reportUtils.py
U trunk/ide/wizards/AppWizard/spec-FrmReportBase.py.txt
Log:
Added dabo.lib.reportUtils.printPDF(), and added a print button to FrmReportBase
in the AppWizard generated code.
Diff:
Modified: trunk/dabo/lib/reportUtils.py
===================================================================
--- trunk/dabo/lib/reportUtils.py 2010-07-17 20:41:03 UTC (rev 5930)
+++ trunk/dabo/lib/reportUtils.py 2010-07-19 21:31:20 UTC (rev 5931)
@@ -67,6 +67,17 @@
sysfunc("%s '%s'" % (viewer, path))
+
+def printPDF(path):
+ """Print the passed PDF file to the default printer."""
+ try:
+ os.startfile(path, "print")
+ except AttributeError:
+ # startfile() only available on Windows
+ os.system("lpr %s" % path)
+
+
+
def getTestCursorXmlFromDataSet(dataset):
"""Returns the xml for insertion into a .rfxml file from a dataset."""
from dabo.lib.xmltodict import escape
Modified: trunk/ide/wizards/AppWizard/spec-FrmReportBase.py.txt
===================================================================
--- trunk/ide/wizards/AppWizard/spec-FrmReportBase.py.txt 2010-07-17
20:41:03 UTC (rev 5930)
+++ trunk/ide/wizards/AppWizard/spec-FrmReportBase.py.txt 2010-07-19
21:31:20 UTC (rev 5931)
@@ -24,27 +24,37 @@
def addControls(self):
- preview = dabo.ui.dButton(self, Caption="Run Report",
RegID="cmdRunReport")
hs = dabo.ui.dSizer("h")
- hs.append(preview, alignment="right", border=self.SizerBorder)
+ hs.append(dabo.ui.dButton(self, Caption="Preview",
RegID="butPreview"),
+ alignment="right", border=self.SizerBorder)
+ hs.append(dabo.ui.dButton(self, Caption="Print",
RegID="butPrint"),
+ alignment="right", border=self.SizerBorder)
self.Sizer.append(hs, alignment="bottom",
border=self.SizerBorder)
- def onHit_cmdRunReport(self, evt):
- self.runReport()
+ def onHit_butPreview(self, evt):
+ self.runReport("preview")
+ def onHit_butPrint(self, evt):
+ self.runReport("print")
+
+
def requery(self):
"""Subclasses should override to fill self.DataSet"""
pass
- def runReport(self, requery=True):
- """Preview the report in the default pdf viewer."""
- if requery:
- self.requery()
+ def runReport(self, mode):
+ """Run the report and then preview or print it."""
+ self.requery()
f = self.write()
- reportUtils.previewPDF(f)
+ if mode == "preview":
+ reportUtils.previewPDF(f)
+ elif mode == "print":
+ reportUtils.printPDF(f)
+ else:
+ raise ValueError, "Mode needs to be 'preview' or
'print'."
def write(self):
_______________________________________________
Post Messages to: [email protected]
Subscription Maintenance: http://leafe.com/mailman/listinfo/dabo-dev
Searchable Archives: http://leafe.com/archives/search/dabo-dev
This message:
http://leafe.com/archives/byMID/[email protected]