Merge XFA to PDFium master at 4dc95e7 on 10/28/2014
[pdfium.git] / xfa_test / FormFiller_Test / ReaderVC.cpp
1 // ReaderVC.cpp : Defines the class behaviors for the application.\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 #include "BookmarkView.h"\r
12 \r
13 \r
14 \r
15 #ifdef _DEBUG\r
16 #define new DEBUG_NEW\r
17 #undef THIS_FILE\r
18 static char THIS_FILE[] = __FILE__;\r
19 #endif\r
20 \r
21 /////////////////////////////////////////////////////////////////////////////\r
22 // CReaderVCApp\r
23 \r
24 BEGIN_MESSAGE_MAP(CReaderVCApp, CWinApp)\r
25         //{{AFX_MSG_MAP(CReaderVCApp)\r
26         ON_COMMAND(ID_APP_ABOUT, OnAppAbout)\r
27                 // NOTE - the ClassWizard will add and remove mapping macros here.\r
28                 //    DO NOT EDIT what you see in these blocks of generated code!\r
29         //}}AFX_MSG_MAP\r
30         // Standard file based document commands\r
31         ON_COMMAND(ID_FILE_NEW, CWinApp::OnFileNew)\r
32         ON_COMMAND(ID_FILE_OPEN, CWinApp::OnFileOpen)\r
33         // Standard print setup command\r
34         ON_COMMAND(ID_FILE_PRINT_SETUP, CWinApp::OnFilePrintSetup)\r
35 END_MESSAGE_MAP()\r
36 \r
37 /////////////////////////////////////////////////////////////////////////////\r
38 // CReaderVCApp construction\r
39 \r
40 \r
41 CReaderVCApp::CReaderVCApp()\r
42 {\r
43         // TODO: add construction code here,\r
44         // Place all significant initialization in InitInstance\r
45 \r
46 \r
47 \r
48         m_pActiveView = NULL;\r
49 \r
50 \r
51 \r
52 //      FPDF_InitFormFillEnviroument(this);\r
53 }\r
54 \r
55 CReaderVCApp::~CReaderVCApp()\r
56 {\r
57 \r
58 \r
59 \r
60 }\r
61 /////////////////////////////////////////////////////////////////////////////\r
62 // The one and only CReaderVCApp object\r
63 \r
64 CReaderVCApp theApp;\r
65 \r
66 /////////////////////////////////////////////////////////////////////////////\r
67 // CReaderVCApp initialization\r
68 extern void SetSampleFontInfo();\r
69 BOOL CReaderVCApp::InitInstance()\r
70 {\r
71         AfxEnableControlContainer();\r
72         FPDF_InitLibrary(this->m_hInstance);\r
73 //      FPDF_UnlockDLL("SDKRDYX0408","5E5885A8AD61A855485D9F6C85BE82EF7C1F63AC");\r
74 \r
75         SetSampleFontInfo();\r
76         // Standard initialization\r
77         // If you are not using these features and wish to reduce the size\r
78         //  of your final executable, you should remove from the following\r
79         //  the specific initialization routines you do not need.\r
80 \r
81 #ifdef _AFXDLL\r
82         Enable3dControls();                     // Call this when using MFC in a shared DLL\r
83 #else\r
84         Enable3dControlsStatic();       // Call this when linking to MFC statically\r
85 #endif\r
86 \r
87         // Change the registry key under which our settings are stored.\r
88         // TODO: You should modify this string to be something appropriate\r
89         // such as the name of your company or organization.\r
90         SetRegistryKey(_T("Local AppWizard-Generated Applications"));\r
91 \r
92         LoadStdProfileSettings();  // Load standard INI file options (including MRU)\r
93 \r
94         // Register the application's document templates.  Document templates\r
95         //  serve as the connection between documents, frame windows and views.\r
96 \r
97         CMultiDocTemplate* pDocTemplate;\r
98         pDocTemplate = new CMultiDocTemplate(\r
99                 IDR_READERTYPE,\r
100                 RUNTIME_CLASS(CReaderVCDoc),\r
101                 RUNTIME_CLASS(CChildFrame), // custom MDI child frame\r
102                 RUNTIME_CLASS(CReaderVCView));\r
103         AddDocTemplate(pDocTemplate);\r
104 \r
105         CMultiDocTemplate* pDocTemplate1;\r
106         pDocTemplate1 = new CMultiDocTemplate(\r
107                 IDR_READERTYPE,\r
108                 RUNTIME_CLASS(CReaderVCDoc),\r
109                 RUNTIME_CLASS(CChildFrame), // custom MDI child frame\r
110                 RUNTIME_CLASS(CBookMarkView));\r
111         AddDocTemplate(pDocTemplate1);\r
112         // create main MDI Frame window\r
113         CMainFrame* pMainFrame = new CMainFrame;\r
114         if (!pMainFrame->LoadFrame(IDR_MAINFRAME))\r
115                 return FALSE;\r
116         m_pMainWnd = pMainFrame;\r
117         // Parse command line for standard shell commands, DDE, file open\r
118         CCommandLineInfo cmdInfo;\r
119         cmdInfo.m_nShellCommand = CCommandLineInfo::FileNothing;\r
120         ParseCommandLine(cmdInfo);\r
121 \r
122         // Dispatch commands specified on the command line\r
123         if (!ProcessShellCommand(cmdInfo))\r
124                 return FALSE;\r
125 \r
126         // The main window has been initialized, so show and update it.\r
127         pMainFrame->ShowWindow(SW_SHOWMAXIMIZED);\r
128         pMainFrame->UpdateWindow();\r
129         return TRUE;\r
130 }\r
131 \r
132 \r
133 /////////////////////////////////////////////////////////////////////////////\r
134 // CAboutDlg dialog used for App About\r
135 \r
136 class CAboutDlg : public CDialog\r
137 {\r
138 public:\r
139         CAboutDlg();\r
140 \r
141 // Dialog Data\r
142         //{{AFX_DATA(CAboutDlg)\r
143         enum { IDD = IDD_ABOUTBOX };\r
144         //}}AFX_DATA\r
145 \r
146         // ClassWizard generated virtual function overrides\r
147         //{{AFX_VIRTUAL(CAboutDlg)\r
148         protected:\r
149         virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support\r
150         //}}AFX_VIRTUAL\r
151 \r
152 // Implementation\r
153 protected:\r
154         //{{AFX_MSG(CAboutDlg)\r
155         afx_msg void OnMetalfile();\r
156         //}}AFX_MSG\r
157         DECLARE_MESSAGE_MAP()\r
158 };\r
159 \r
160 CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)\r
161 {\r
162         //{{AFX_DATA_INIT(CAboutDlg)\r
163         //}}AFX_DATA_INIT\r
164 }\r
165 \r
166 void CAboutDlg::DoDataExchange(CDataExchange* pDX)\r
167 {\r
168         CDialog::DoDataExchange(pDX);\r
169         //{{AFX_DATA_MAP(CAboutDlg)\r
170         //}}AFX_DATA_MAP\r
171 }\r
172 \r
173 BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)\r
174         //{{AFX_MSG_MAP(CAboutDlg)\r
175         //}}AFX_MSG_MAP\r
176 END_MESSAGE_MAP()\r
177 \r
178 // App command to run the dialog\r
179 void CReaderVCApp::OnAppAbout()\r
180 {\r
181         CAboutDlg aboutDlg;\r
182         aboutDlg.DoModal();\r
183 }\r
184 \r
185 /////////////////////////////////////////////////////////////////////////////\r
186 // CReaderVCApp message handlers\r
187 \r
188 \r
189 int CReaderVCApp::ExitInstance() \r
190 {\r
191         // TODO: Add your specialized code here and/or call the base class\r
192         FPDF_DestroyLibrary();\r
193 \r
194         return CWinApp::ExitInstance();\r
195 }\r