Integration of OCCT 6.5.0 from SVN
[occt.git] / samples / mfc / standard / 02_Modeling / src / ModelingApp.cpp
1 // ModelingApp.cpp : Defines the class behaviors for the application.
2 //
3
4 #include "stdafx.h"
5
6 #include "..\res\resource.h"
7
8 #include "ModelingApp.h"
9
10 #include "OCC_MainFrame.h"
11 #include "OCC_3dChildFrame.h"
12 #include "ModelingDoc.h"
13 #include "OCC_3dView.h"
14
15 /////////////////////////////////////////////////////////////////////////////
16 // CModelingApp construction
17
18 CModelingApp::CModelingApp()
19 {
20         SampleName = "Modeling";        //for about dialog
21 }
22
23 /////////////////////////////////////////////////////////////////////////////
24 // The one and only CModelingApp object
25
26 CModelingApp theApp;
27
28 /////////////////////////////////////////////////////////////////////////////
29 // CModelingApp initialization
30
31 BOOL CModelingApp::InitInstance()
32 {
33         AfxEnableControlContainer();
34
35         // Standard initialization
36         // If you are not using these features and wish to reduce the size
37         //  of your final executable, you should remove from the following
38         //  the specific initialization routines you do not need.
39
40         // Change the registry key under which our settings are stored.
41         // You should modify this string to be something appropriate
42         // such as the name of your company or organization.
43         SetRegistryKey(_T("Local AppWizard-Generated Applications"));
44
45         LoadStdProfileSettings();  // Load standard INI file options (including MRU)
46
47         // Register the application's document templates.  Document templates
48         //  serve as the connection between documents, frame windows and views.
49
50         CMultiDocTemplate* pDocTemplate;
51         pDocTemplate = new CMultiDocTemplate(
52                 IDR_3DTYPE,
53                 RUNTIME_CLASS(CModelingDoc),
54                 RUNTIME_CLASS(OCC_3dChildFrame), // custom MDI child frame
55                 RUNTIME_CLASS(OCC_3dView));
56         AddDocTemplate(pDocTemplate);
57
58         // create main MDI Frame window
59         OCC_MainFrame* pMainFrame = new OCC_MainFrame(with_AIS_TB);
60         if (!pMainFrame->LoadFrame(IDR_MAINFRAME))
61                 return FALSE;
62         m_pMainWnd = pMainFrame;
63         // Create additional toolbar
64         m_pToolBar2 = new CToolBar;
65         if ( !m_pToolBar2->Create(m_pMainWnd, WS_CHILD |  WS_VISIBLE | CBRS_TOP | CBRS_TOOLTIPS) ||
66                  !m_pToolBar2->LoadToolBar(IDR_FRAME2))
67         {
68                 TRACE0("Failed to create toolbar\n");
69                 return FALSE;
70         }
71
72
73         // Parse command line for standard shell commands, DDE, file open
74         CCommandLineInfo cmdInfo;
75         ParseCommandLine(cmdInfo);
76
77         // Dispatch commands specified on the command line
78         if (!ProcessShellCommand(cmdInfo))
79                 return FALSE;
80
81         // The main window has been initialized, so show and update it.
82         pMainFrame->ShowWindow(m_nCmdShow);
83         pMainFrame->UpdateWindow();
84
85         return TRUE;
86 }
87