Merge XFA to PDFium master at 4dc95e7 on 10/28/2014
[pdfium.git] / xfa_test / FormFiller_Test / ReaderVCDoc.cpp
1 // ReaderVCDoc.cpp : implementation of the CReaderVCDoc class\r
2 //\r
3 \r
4 #include "stdafx.h"\r
5 #include "ReaderVC.h"\r
6 \r
7 #include "MainFrm.h"\r
8 #include "ChildFrm.h"\r
9 #include "ReaderVCDoc.h"\r
10 #include "ReaderVCView.h"\r
11 #ifdef _DEBUG\r
12 #define new DEBUG_NEW\r
13 #undef THIS_FILE\r
14 static char THIS_FILE[] = __FILE__;\r
15 #endif\r
16 \r
17 /////////////////////////////////////////////////////////////////////////////\r
18 // CReaderVCDoc\r
19 \r
20 IMPLEMENT_DYNCREATE(CReaderVCDoc, CDocument)\r
21 \r
22 BEGIN_MESSAGE_MAP(CReaderVCDoc, CDocument)\r
23         //{{AFX_MSG_MAP(CReaderVCDoc)\r
24                 // NOTE - the ClassWizard will add and remove mapping macros here.\r
25                 //    DO NOT EDIT what you see in these blocks of generated code!\r
26         //}}AFX_MSG_MAP\r
27 END_MESSAGE_MAP()\r
28 \r
29 /////////////////////////////////////////////////////////////////////////////\r
30 // CReaderVCDoc construction/destruction\r
31 \r
32 CReaderVCDoc::CReaderVCDoc()\r
33 {\r
34         // TODO: add one-time construction code here\r
35 \r
36 }\r
37 \r
38 CReaderVCDoc::~CReaderVCDoc()\r
39 {\r
40 }\r
41 \r
42 BOOL CReaderVCDoc::OnNewDocument()\r
43 {\r
44         if (!CDocument::OnNewDocument())\r
45                 return FALSE;\r
46 \r
47         // TODO: add reinitialization code here\r
48         // (SDI documents will reuse this document)\r
49 \r
50         return TRUE;\r
51 }\r
52 \r
53 \r
54 \r
55 /////////////////////////////////////////////////////////////////////////////\r
56 // CReaderVCDoc serialization\r
57 \r
58 void CReaderVCDoc::Serialize(CArchive& ar)\r
59 {\r
60         if (ar.IsStoring())\r
61         {\r
62                 // TODO: add storing code here\r
63         }\r
64         else\r
65         {\r
66                 // TODO: add loading code here\r
67         }\r
68 }\r
69 \r
70 /////////////////////////////////////////////////////////////////////////////\r
71 // CReaderVCDoc diagnostics\r
72 \r
73 #ifdef _DEBUG\r
74 void CReaderVCDoc::AssertValid() const\r
75 {\r
76         CDocument::AssertValid();\r
77 }\r
78 \r
79 void CReaderVCDoc::Dump(CDumpContext& dc) const\r
80 {\r
81         CDocument::Dump(dc);\r
82 }\r
83 #endif //_DEBUG\r
84 \r
85 /////////////////////////////////////////////////////////////////////////////\r
86 // CReaderVCDoc commands\r
87 \r
88 BOOL CReaderVCDoc::OnOpenDocument(LPCTSTR lpszPathName) \r
89 {\r
90         if (!CDocument::OnOpenDocument(lpszPathName))\r
91                 return FALSE;\r
92         \r
93         // TODO: Add your specialized creation code here\r
94         void* pDoc = FPDF_LoadDocument(lpszPathName, NULL);\r
95 \r
96         m_strPDFName=lpszPathName;\r
97         if(NULL == pDoc) return FALSE;  \r
98         POSITION pos = GetFirstViewPosition();\r
99         int nCount = FPDF_GetPageCount(pDoc);\r
100         while (pos != NULL)\r
101         {\r
102                 CView* pView = GetNextView(pos);\r
103                 if(pView->IsKindOf(RUNTIME_CLASS(CReaderVCView)))\r
104                 {\r
105                         CMainFrame* pMFrm = (CMainFrame*)AfxGetMainWnd();\r
106                         CChildFrame* pChildFrm =(CChildFrame*) pMFrm->GetActiveFrame();\r
107                         pChildFrm->SetActiveView(pView, TRUE);\r
108 //                      FPDFApp_SetDocument(((CReaderVCView*)pView)->GetFPDFApp(), (FPDF_DOCUMENT)pDoc);\r
109                         ((CReaderVCView*)pView)->SetPDFDocument(pDoc, nCount);\r
110                 }       \r
111         }\r
112         return TRUE;\r
113 }\r