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 16UIDriver::UIDriver(BMessage* message, PrinterData *printerData, 17 const PrinterCap *printerCap) 18 : 19 fMsg(message), 20 fPrinterData(printerData), 21 fPrinterCap(printerCap) 22{ 23} 24 25 26UIDriver::~UIDriver() 27{ 28} 29 30 31BMessage* 32UIDriver::ConfigPage() 33{ 34 BMessage *clonedMessage = new BMessage(*fMsg); 35 JobData *jobData = new JobData(clonedMessage, fPrinterCap, 36 JobData::kPageSettings); 37 38 if (PageSetup(jobData, fPrinterData, fPrinterCap) < 0) { 39 delete clonedMessage; 40 clonedMessage = NULL; 41 } else { 42 clonedMessage->what = 'okok'; 43 } 44 45 delete jobData; 46 return clonedMessage; 47} 48 49 50BMessage* 51UIDriver::ConfigJob() 52{ 53 BMessage *clonedMessage = new BMessage(*fMsg); 54 JobData *jobData = new JobData(clonedMessage, fPrinterCap, 55 JobData::kJobSettings); 56 57 if (JobSetup(jobData, fPrinterData, fPrinterCap) < 0) { 58 delete clonedMessage; 59 clonedMessage = NULL; 60 } else { 61 clonedMessage->what = 'okok'; 62 } 63 64 delete jobData; 65 return clonedMessage; 66} 67 68 69status_t 70UIDriver::PageSetup(JobData* jobData, PrinterData* printerData, 71 const PrinterCap* printerCap) 72{ 73 PageSetupDlg *dialog = new PageSetupDlg(jobData, printerData, printerCap); 74 return dialog->Go(); 75} 76 77 78status_t 79UIDriver::JobSetup(JobData *jobData, PrinterData *printerData, 80 const PrinterCap *printerCap) 81{ 82 JobSetupDlg *dialog = new JobSetupDlg(jobData, printerData, printerCap); 83 return dialog->Go(); 84} 85