/*------------------------------------------------------------------------------*
 * File Name: GraphicalExport.h													*
 * Creation: 8/24/2007															*
 * Purpose: Origin C header	for File class and other related functions			*
 * Copyright (c) OriginLab Corp.2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007	*
 * All Rights Reserved															*
 * 																				*
 * Modification Log:															*
 *	Hong 10/22/07 QA80-10364 SHOW_ERROR_MSG_IN_PREVIEW_IF_FAIL					*
 *	Hong 07/21/09 QA80-13280-P4 WKS_EXPORT_MULTIPAGE_PDF_PAGE_BREAKS			*
 *	Sim 09-21-2009 FIX_OPEN_EXP_WKS_RUNTIME_ERROR_IF_NO_WKS_ACTIVE				*
 *------------------------------------------------------------------------------*/

#ifndef _GRAPHICALEXPORT_H
#define _GRAPHICALEXPORT_H

/// Hong 04/17/09 QA80-13280 SUPPORT_EXPORT_MULTI_PAGES_PDF
//void InvokeExpGraph(int nType, int nExport, LPCSTR lpcszPages, LPCSTR lpcszFilename, LPCSTR lpcszPath, int nOverwriteOpt, bool bSysOpts, 
			//const TreeNode& trPageOpts, bool bKeepSize, const TreeNode& trPageSize, const TreeNode& trImageOptions, LPCSTR lpcszTheme = NULL);
//
//int InvokeMakeTree(TreeNode& tr, LPCSTR lpcszVarName, bool bExportPage = true);
void InvokeExpGraph(int nType, int nExport, LPCSTR lpcszPages, LPCSTR lpcszFilename, LPCSTR lpcszPath, int nOverwriteOpt, bool bSysOpts, 
			const TreeNode& trPageOpts, bool bKeepSize, const TreeNode& trPageSize, const TreeNode& trImageOptions, LPCSTR lpcszTheme = NULL, bool bMultiPgPDF = false);

int InvokeMakeTree(TreeNode& tr, LPCSTR lpcszVarName, bool bExportPage = true, bool bMultiPgPDF = false);
/// end SUPPORT_EXPORT_MULTI_PAGES_PDF

/// Hong 04/13/09 QA80-13280 EXP_SINGLE_WKS_TO_MILTI_PAGES_PDF
//void InvokeBeforeExecute(TreeNode& trGetN, int nGetNDialog, int dwCntrl, int& nRet);
///---Sim 09-21-2009 FIX_OPEN_EXP_WKS_RUNTIME_ERROR_IF_NO_WKS_ACTIVE
// Somebody make mistake on prototype
//void InvokeBeforeExecute(TreeNode& trGetN, int nGetNDialog, int dwCntrl, int& nRet, bool bMultiPgPDF = false);
void InvokeBeforeExecute(TreeNode& trGetN, int nGetNDialog, int& nRet, int dwCntrl, bool bMultiPgPDF = false);
///---END FIX_OPEN_EXP_WKS_RUNTIME_ERROR_IF_NO_WKS_ACTIVE
/// end EXP_SINGLE_WKS_TO_MILTI_PAGES_PDF

void InvokeInitGrid(TreeNode& trGetN, DWORD& dwUpdateGraph,  DWORD& dwEnables, string& strErrMsg);

void InvokeInitGraph(TreeNode& trGetN, PageBase& pgTemp, PictureControl& pict,  DWORD& dwEnables, string& strErrMsg);

void InvokeUpdateGraph(TreeNode& trGetN, PageBase& pgTemp, Datasheet& wksTemp, PictureControl& pict);

/// Hong 07/21/09 QA80-13280-P4 WKS_EXPORT_MULTIPAGE_PDF_PAGE_BREAKS
//void InvokeOnChange(TreeNode& trGetN, TreeNode& trNode, DWORD& dwUpdateGraph, DWORD& dwEnables, string& strErrMsg);
void InvokeOnChange(TreeNode& trGetN, TreeNode& trNode, DWORD& dwUpdateGraph, DWORD& dwEnables, string& strErrMsg, bool bMultiPgPDF = false);
/// end WKS_EXPORT_MULTIPAGE_PDF_PAGE_BREAKS

void InvokeOnDestroy();

#endif //_GRAPHICALEXPORT_H
