public void setLaunchInfo(cReportLaunchInfo oLaunchInfo)
{
m_launchInfo = new cReportLaunchInfo();
// copy from oLaunchInfo to m_LaunchInfo
//
m_launchInfo.setAction(oLaunchInfo.getAction());
m_launchInfo.setStrConnect(oLaunchInfo.getStrConnect());
m_launchInfo.setCopies(oLaunchInfo.getCopies());
m_launchInfo.setObjPaint(oLaunchInfo.getObjPaint());
m_launchInfo.setDataSource(oLaunchInfo.getDataSource());
m_launchInfo.setFile(oLaunchInfo.getFile());
m_launchInfo.setFileFormat(oLaunchInfo.getFileFormat());
m_launchInfo.setInternalPreview(oLaunchInfo.getInternalPreview());
m_launchInfo.setShowPrintersDialog(oLaunchInfo.getShowPrintersDialog());
m_launchInfo.setSilent(oLaunchInfo.getSilent());
m_launchInfo.setSqlstmt(oLaunchInfo.getSqlstmt());
m_launchInfo.setPrinter(oLaunchInfo.getPrinter());
// if the printer is not defined
//
if (m_launchInfo.getPrinter() == null)
{
// we use the default printer of the OS
//
m_launchInfo.setPrinter(cPrintAPI.getcPrinterFromDefaultPrinter(null));
}
// if we have a reference to a printer
//
if (m_launchInfo.getPrinter() != null)
{
// TODO: check the values of paperType after calling
// getcPrinterFromDefaultPrinter() because
// the constants used by the OS could be differents
// from the used by CSReport. in the original vb6 version
// it was the case
//
// finaly we copy into m_PaperInfo the definicion found in LaunchInfo.
//
// when the report is called without define a printer
// whe assign a defult printer and asign m_PaperInfo
// to m_LaunchInfo.Printer.PaperInfo, so sometimes we
// don't need to do that
//
if (!object.ReferenceEquals(m_paperInfo, m_launchInfo.getPrinter().getPaperInfo()))
{
m_paperInfo.setHeight(m_launchInfo.getPrinter().getPaperInfo().getHeight());
m_paperInfo.setWidth(m_launchInfo.getPrinter().getPaperInfo().getWidth());
}
}
}