Revision 28565 trunk/applications/appgvSIG/src/com/iver/cit/gvsig/project/documents/layout/gui/Layout.java

View differences:

Layout.java
73 73
import javax.swing.JPanel;
74 74
import javax.swing.filechooser.FileFilter;
75 75

  
76
import org.apache.log4j.Logger;
76 77
import org.gvsig.gui.beans.swing.JFileChooser;
77 78

  
78
import com.hardcode.gdbms.driver.exceptions.ReadDriverException;
79 79
import com.iver.andami.PluginServices;
80 80
import com.iver.andami.messages.NotificationManager;
81 81
import com.iver.andami.ui.mdiManager.IWindowListener;
......
125 125
    private Doc doc = null;
126 126
    private PrintRequestAttributeSet att = null;
127 127
    private WindowInfo m_viewInfo = null;
128
    private static boolean useDefaultJavaPrinting = true;
129

  
128 130
    /**
129 131
     * We use it when we are doing a layout and assigning tags.
130 132
     * It is put in debug when we do a VIEW_TAGS
......
313 315
                return;
314 316
            }
315 317

  
316
            if (m_cachePrintService == null) {
317
                m_cachePrintService = ServiceUI.printDialog(null, 200, 200,
318
                        m_cachePrintServices, defaultService, flavor, att);
319

  
320
                // m_cachePrintRequestAtributeSet = new
321
                // HashPrintRequestAttributeSet();
322
                // m_cachePrintRequestAtributeSet.addAll(pras);
323
            } else {
324
                m_cachePrintService = ServiceUI.printDialog(null, 200, 200,
325
                        m_cachePrintServices, m_cachePrintService, flavor, att);
318
            if (useDefaultJavaPrinting) {
319
            	try {
320
            		m_cachePrintService = ServiceUI.printDialog(null, 200, 200,
321
            				m_cachePrintServices, defaultService, flavor, att);
322
            	}
323
            	catch (NullPointerException ex) {
324
            		useDefaultJavaPrinting=false;
325
            		Logger logger = PluginServices.getLogger();
326
            		logger.error("Error showing print dialog", ex); 
327
            		
328
            		// workaround a problem with Java 1.5 with moder CUPS versions
329
            		// this try-catch block may be safely removed when we move to Java 1.6
330
            		logger.debug("Opening gvSIG's internal Java 1.7 CUPS printing dialog");
331
            		m_cachePrintService = backport1_7.javax.print.ServiceUI.printDialog(null, 200, 200,
332
            				m_cachePrintServices, defaultService, flavor, att);
333
            	}
326 334
            }
335
            else {
336
            	PluginServices.getLogger().debug("Opening gvSIG's internal Java 1.7 CUPS printing dialog");
337
            	m_cachePrintService = backport1_7.javax.print.ServiceUI.printDialog(null, 200, 200,
338
            			m_cachePrintServices, defaultService, flavor, att);
339
            }
327 340

  
328 341
            if (m_cachePrintService != null) {
329 342
                DocPrintJob jobNuevo = m_cachePrintService.createPrintJob();
330 343
                PrintJobListener pjlistener = new PrintJobAdapter() {
331 344
                    public void printDataTransferCompleted(PrintJobEvent e) {
332
//                        System.out.println("Fin de impresi?n");
333 345
                        layoutControl.fullRect();
334 346
                    }
335 347
                };
336 348

  
337 349
                jobNuevo.addPrintJobListener(pjlistener);
338 350

  
339
                // DocAttributeSet das = new HashDocAttributeSet();
340 351
                doc = new SimpleDoc(PluginServices
341 352
                        .getExtension(com.iver.cit.gvsig.Print.class), flavor,
342 353
                        null);
......
350 361
                }
351 362
            }
352 363
        }
353

  
354
        /*
355
         * try { print = job.printDialog(att); } catch (Exception e) {
356
         * logger.error("Abriendo el Di?logo de imprimir");
357
         * //System.out.println("Excepci?n "+e); } if (print) {
358
         * job.setPrintable((Printable)
359
         * App.instance.getPc().getExtension(com.iver.cit.gvsig.Print.class));
360
         * try { job.print(att); } catch (Exception ex) { ex.printStackTrace(); } }
361
         */
362 364
    }
363 365

  
364 366
    /**

Also available in: Unified diff