comparison dwt/printing/Printer.d @ 211:00180515eb65

Update to SWT 3.3.2
author Frank Benoit <benoit@tionex.de>
date Wed, 19 Mar 2008 21:36:28 +0100
parents 08789b28bdf3
children 997624cece6a
comparison
equal deleted inserted replaced
210:e3472c527a14 211:00180515eb65
73 char[] settingsData; 73 char[] settingsData;
74 int start, end; 74 int start, end;
75 75
76 static const char[] GTK_LPR_BACKEND = "GtkPrintBackendLpr"; //$NON-NLS-1$ 76 static const char[] GTK_LPR_BACKEND = "GtkPrintBackendLpr"; //$NON-NLS-1$
77 77
78 static const bool disablePrinting = false;// System.getProperty("dwt.internal.gtk.disablePrinting") !is null; //$NON-NLS-1$
79
78 /** 80 /**
79 * Returns an array of <code>PrinterData</code> objects 81 * Returns an array of <code>PrinterData</code> objects
80 * representing all available printers. 82 * representing all available printers.
81 * 83 *
82 * @return the list of available printers 84 * @return the list of available printers
83 */ 85 */
84 public static PrinterData[] getPrinterList() { 86 public static PrinterData[] getPrinterList() {
85 printerList = new PrinterData [0]; 87 printerList = new PrinterData [0];
86 if (OS.GTK_VERSION < OS.buildVERSION (2, 10, 0)) { 88 if (OS.GTK_VERSION < OS.buildVERSION (2, 10, 0) || disablePrinting) {
87 return printerList; 89 return printerList;
88 } 90 }
89 OS.gtk_enumerate_printers(&GtkPrinterFunc_List, null, null, true); 91 OS.gtk_enumerate_printers(&GtkPrinterFunc_List, null, null, true);
90 return printerList; 92 return printerList;
91 } 93 }
117 * 119 *
118 * @since 2.1 120 * @since 2.1
119 */ 121 */
120 public static PrinterData getDefaultPrinterData() { 122 public static PrinterData getDefaultPrinterData() {
121 printerList = new PrinterData [1]; 123 printerList = new PrinterData [1];
122 if (OS.GTK_VERSION < OS.buildVERSION (2, 10, 0)) { 124 if (OS.GTK_VERSION < OS.buildVERSION (2, 10, 0) || disablePrinting) {
123 return null; 125 return null;
124 } 126 }
125 OS.gtk_enumerate_printers(&GtkPrinterFunc_Default, null, null, true); 127 OS.gtk_enumerate_printers(&GtkPrinterFunc_Default, null, null, true);
126 return printerList[0]; 128 return printerList[0];
127 } 129 }
630 * mechanism of the <code>Device</code> class. 632 * mechanism of the <code>Device</code> class.
631 * @param deviceData the device data 633 * @param deviceData the device data
632 */ 634 */
633 protected override void create(DeviceData deviceData) { 635 protected override void create(DeviceData deviceData) {
634 this.data = cast(PrinterData)deviceData; 636 this.data = cast(PrinterData)deviceData;
635 if (OS.GTK_VERSION < OS.buildVERSION (2, 10, 0)) DWT.error(DWT.ERROR_NO_HANDLES); 637 if (OS.GTK_VERSION < OS.buildVERSION (2, 10, 0) || disablePrinting) DWT.error(DWT.ERROR_NO_HANDLES);
636 printer = gtkPrinterFromPrinterData(); 638 printer = gtkPrinterFromPrinterData();
637 if (printer is null) DWT.error(DWT.ERROR_NO_HANDLES); 639 if (printer is null) DWT.error(DWT.ERROR_NO_HANDLES);
638 } 640 }
639 641
640 /** 642 /**
696 } 698 }
697 } else { 699 } else {
698 paper_size = OS.gtk_paper_size_new(name.ptr); 700 paper_size = OS.gtk_paper_size_new(name.ptr);
699 } 701 }
700 OS.gtk_page_setup_set_paper_size(pageSetup, paper_size); 702 OS.gtk_page_setup_set_paper_size(pageSetup, paper_size);
701 OS.g_free(paper_size); 703 OS.gtk_paper_size_free(paper_size);
702 } 704 }
703 705
704 /* Set values of settings from PrinterData. */ 706 /* Set values of settings from PrinterData. */
705 setScope(settings, data.scope_, data.startPage, data.endPage); 707 setScope(settings, data.scope_, data.startPage, data.endPage);
706 //TODO: Should we look at printToFile, or driver/name for "Print to File", or both? (see gtk bug 345590) 708 //TODO: Should we look at printToFile, or driver/name for "Print to File", or both? (see gtk bug 345590)