1 /* 2 * UIDriver.cpp 3 * Copyright 1999-2000 Y.Takagi. All Rights Reserved. 4 */ 5 6 #include <Message.h> 7 8 #include "UIDriver.h" 9 #include "JobData.h" 10 #include "PrinterData.h" 11 #include "JobSetupDlg.h" 12 #include "PageSetupDlg.h" 13 #include "DbgMsg.h" 14 15 16 UIDriver::UIDriver(BMessage *msg, PrinterData *printer_data, const PrinterCap *printer_cap) 17 : fMsg(msg), fPrinterData(printer_data), fPrinterCap(printer_cap) 18 { 19 } 20 21 22 UIDriver::~UIDriver() 23 { 24 } 25 26 27 BMessage* 28 UIDriver::configPage() 29 { 30 BMessage *clone_msg = new BMessage(*fMsg); 31 JobData *job_data = new JobData(clone_msg, fPrinterCap, JobData::kPageSettings); 32 33 if (doPageSetup(job_data,fPrinterData, fPrinterCap) < 0) { 34 delete clone_msg; 35 clone_msg = NULL; 36 } else { 37 clone_msg->what = 'okok'; 38 } 39 40 delete job_data; 41 return clone_msg; 42 } 43 44 45 BMessage* 46 UIDriver::configJob() 47 { 48 BMessage *clone_msg = new BMessage(*fMsg); 49 JobData *job_data = new JobData(clone_msg, fPrinterCap, JobData::kJobSettings); 50 51 if (doJobSetup(job_data, fPrinterData, fPrinterCap) < 0) { 52 delete clone_msg; 53 clone_msg = NULL; 54 } else { 55 clone_msg->what = 'okok'; 56 } 57 58 delete job_data; 59 return clone_msg; 60 } 61 62 63 long 64 UIDriver::doPageSetup(JobData *job_data, PrinterData *printer_data, const PrinterCap *printer_cap) 65 { 66 PageSetupDlg *dlg = new PageSetupDlg(job_data, printer_data, printer_cap); 67 return dlg->Go(); 68 } 69 70 71 long 72 UIDriver::doJobSetup(JobData *job_data, PrinterData *printer_data, const PrinterCap *printer_cap) 73 { 74 JobSetupDlg *dlg = new JobSetupDlg(job_data, printer_data, printer_cap); 75 return dlg->Go(); 76 } 77