comparison dwt/printing/Printer.d @ 238:380bad9f6852

reverted char[] to String
author Frank Benoit <benoit@tionex.de>
date Mon, 05 May 2008 00:42:55 +0200
parents 997624cece6a
children ce446666f5a2
comparison
equal deleted inserted replaced
237:98b80b00af79 238:380bad9f6852
68 * whether or not a GC was created for this printer 68 * whether or not a GC was created for this printer
69 */ 69 */
70 bool isGCCreated = false; 70 bool isGCCreated = false;
71 Font systemFont; 71 Font systemFont;
72 72
73 char[] settingsData; 73 String 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 String 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$ 78 static const bool disablePrinting = false;// System.getProperty("dwt.internal.gtk.disablePrinting") !is null; //$NON-NLS-1$
79 79
80 /** 80 /**
81 * Returns an array of <code>PrinterData</code> objects 81 * Returns an array of <code>PrinterData</code> objects
156 } 156 }
157 157
158 static PrinterData printerDataFromGtkPrinter(GtkPrinter* printer) { 158 static PrinterData printerDataFromGtkPrinter(GtkPrinter* printer) {
159 auto backend = OS.gtk_printer_get_backend(printer); 159 auto backend = OS.gtk_printer_get_backend(printer);
160 auto address = OS.G_OBJECT_TYPE_NAME(backend); 160 auto address = OS.G_OBJECT_TYPE_NAME(backend);
161 char[] backendType =tango.stdc.stringz.fromStringz( address ).dup; 161 String backendType =tango.stdc.stringz.fromStringz( address ).dup;
162 162
163 address = OS.gtk_printer_get_name (printer); 163 address = OS.gtk_printer_get_name (printer);
164 char[] name =tango.stdc.stringz.fromStringz( address ).dup; 164 String name =tango.stdc.stringz.fromStringz( address ).dup;
165 165
166 return new PrinterData (backendType, name); 166 return new PrinterData (backendType, name);
167 } 167 }
168 168
169 static void setScope(GtkPrintSettings* settings, int scope_, int startPage, int endPage) { 169 static void setScope(GtkPrintSettings* settings, int scope_, int startPage, int endPage) {
233 */ 233 */
234 public this(PrinterData data) { 234 public this(PrinterData data) {
235 super(checkNull(data)); 235 super(checkNull(data));
236 } 236 }
237 237
238 int restoreInt(char[] key) { 238 int restoreInt(String key) {
239 char [] value = restoreBytes(key, false); 239 char [] value = restoreBytes(key, false);
240 return to!(int)( value ); 240 return to!(int)( value );
241 } 241 }
242 242
243 double restoreDouble(char[] key) { 243 double restoreDouble(String key) {
244 char [] value = restoreBytes(key, false); 244 char [] value = restoreBytes(key, false);
245 return to!(double)( value ); 245 return to!(double)( value );
246 } 246 }
247 247
248 bool restoreBoolean(char[] key) { 248 bool restoreBoolean(String key) {
249 char [] value = restoreBytes(key, false); 249 char [] value = restoreBytes(key, false);
250 return to!(bool)( value ); 250 return to!(bool)( value );
251 } 251 }
252 252
253 char[] restoreBytes(char[] key, bool nullTerminate) { 253 String restoreBytes(String key, bool nullTerminate) {
254 //get key 254 //get key
255 start = end; 255 start = end;
256 while (end < settingsData.length && settingsData[end] !is 0) end++; 256 while (end < settingsData.length && settingsData[end] !is 0) end++;
257 end++; 257 end++;
258 char [] keyBuffer = new char [end - start]; 258 char [] keyBuffer = new char [end - start];
391 * 391 *
392 * @see #startPage 392 * @see #startPage
393 * @see #endPage 393 * @see #endPage
394 * @see #endJob 394 * @see #endJob
395 */ 395 */
396 public bool startJob(char[] jobName) { 396 public bool startJob(String jobName) {
397 checkDevice(); 397 checkDevice();
398 char* buffer = tango.stdc.stringz.toStringz(jobName); 398 char* buffer = tango.stdc.stringz.toStringz(jobName);
399 printJob = OS.gtk_print_job_new (buffer, printer, settings, pageSetup); 399 printJob = OS.gtk_print_job_new (buffer, printer, settings, pageSetup);
400 if (printJob is null) return false; 400 if (printJob is null) return false;
401 surface = OS.gtk_print_job_get_surface(printJob, null); 401 surface = OS.gtk_print_job_get_surface(printJob, null);