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]

Reply via email to