[gnue] r9862 - in trunk: gnue-forms/src/uidrivers/wx26 gnue-reports/src/adapters/destinations/printer

[email protected]
Newsgroups gmane.comp.cms.gnue.cvs
Message-ID <[email protected]>
Author: btami
Date: 2008-03-22 12:15:40 -0500 (Sat, 22 Mar 2008)
New Revision: 9862

Added:
   trunk/gnue-forms/src/uidrivers/wx26/PrintDialog.py
Modified:
   trunk/gnue-reports/src/adapters/destinations/printer/bsd.py
Log:
PrintDialog support for bsd printer adapter

Added: trunk/gnue-forms/src/uidrivers/wx26/PrintDialog.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/wx26/PrintDialog.py	                        (rev 0)
+++ trunk/gnue-forms/src/uidrivers/wx26/PrintDialog.py	2008-03-22 17:15:40 UTC (rev 9862)
@@ -0,0 +1,46 @@
+#
+# Copyright 2002-2008 Free Software Foundation
+#
+# This file is part of GNU Enterprise.
+#
+# GNU Enterprise is free software; you can redistribute it
+# and/or modify it under the terms of the GNU General Public
+# License as published by the Free Software Foundation; either
+# version 2, or (at your option) any later version.
+#
+# GNU Enterprise is distributed in the hope that it will be
+# useful, but WITHOUT ANY WARRANTY; without even the implied
+# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+# PURPOSE. See the GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public
+# License along with program; see the file COPYING. If not,
+# write to the Free Software Foundation, Inc., 59 Temple Place
+# - Suite 330, Boston, MA 02111-1307, USA.
+#
+# $Id:$
+
+import  wx
+
+class PrintDialog(wx.Panel):
+
+    def __init__(self):
+        app = wx.App()
+        frame = wx.Frame(None, -1)
+        wx.Panel.__init__(self, frame, -1)
+        data = wx.PrintDialogData()
+
+        #~ data.EnableSelection(True)
+        #~ data.EnablePrintToFile(True)
+        #~ data.EnablePageNumbers(True)
+        #~ data.SetMinPage(1)
+        #~ data.SetMaxPage(5)
+        #~ data.SetAllPages(True)
+
+        dlg = wx.PrintDialog(self, data)
+
+        self.printer = None
+        if dlg.ShowModal() == wx.ID_OK:
+            data = dlg.GetPrintDialogData()
+            self.printer = data.GetPrintData().GetPrinterName()
+        dlg.Destroy()

Modified: trunk/gnue-reports/src/adapters/destinations/printer/bsd.py
===================================================================
--- trunk/gnue-reports/src/adapters/destinations/printer/bsd.py	2008-03-22 13:56:39 UTC (rev 9861)
+++ trunk/gnue-reports/src/adapters/destinations/printer/bsd.py	2008-03-22 17:15:40 UTC (rev 9862)
@@ -66,6 +66,17 @@
 
     print_to = string.replace(string.replace(self.destination, "`",""),';','')
 
+    if print_to == '-':
+        # TODO use dyn_import with appropriate ui
+        from gnue.forms.uidrivers.wx26.PrintDialog import PrintDialog
+        
+        printer = PrintDialog().printer
+        if not printer is None:
+            print_to = printer
+        else:
+            self.deleteTempFile(self.tempfile)
+            return
+
     command = (gConfigReports('LprCommand') + " %s") % (print_to, file)
     assert gDebug(3,'Printing using command: %s' % command)
     os.system(command)
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.