Commit before breaking everything
[matches/honours.git] / research / transmission_spectroscopy / TOF / Win32++ / samples / FormDemo / src / Mainfrm.cpp
diff --git a/research/transmission_spectroscopy/TOF/Win32++/samples/FormDemo/src/Mainfrm.cpp b/research/transmission_spectroscopy/TOF/Win32++/samples/FormDemo/src/Mainfrm.cpp
new file mode 100644 (file)
index 0000000..ea71f42
--- /dev/null
@@ -0,0 +1,206 @@
+////////////////////////////////////////////////////\r
+// Mainfrm.cpp\r
+\r
+#include "stdafx.h"\r
+#include "resource.h"\r
+#include "FormApp.h"\r
+#include "mainfrm.h"\r
+\r
+\r
+// A global function to provide access to the CFormDoc class\r
+CFormDoc& GetDoc()\r
+{\r
+       return GetSdiApp().GetMainFrame().GetDoc();\r
+}\r
+\r
+\r
+// Definitions for the CMainFrame class\r
+CMainFrame::CMainFrame() : m_SdiView(IDD_DIALOG1)\r
+{\r
+       // Constructor for CMainFrame. Its called after CFrame's constructor\r
+\r
+       //Set m_SdiView as the view window of the frame\r
+       SetView(m_SdiView);\r
+\r
+       // Set the registry key name, and load the initial window position\r
+       // Use a registry key name like "CompanyName\\Application"\r
+       LoadRegistrySettings(_T("Win32++\\SdiDocViewForm"));\r
+}\r
+\r
+CMainFrame::~CMainFrame()\r
+{\r
+       // Destructor for CMainFrame.\r
+}\r
+\r
+BOOL CMainFrame::LoadRegistrySettings(LPCTSTR szKeyName)\r
+{\r
+       CFrame::LoadRegistrySettings(szKeyName);\r
+       GetDoc().LoadDocRegistry(GetRegistryKeyName().c_str());\r
+\r
+       return TRUE;\r
+}\r
+\r
+void CMainFrame::OnMenuUpdate(UINT nID)\r
+{\r
+       // Update the check state of the various menu items\r
+       switch (nID) \r
+       {\r
+       case ID_CHECK_A:\r
+               OnUpdateCheckA(nID);\r
+               break;\r
+       case ID_CHECK_B:\r
+               OnUpdateCheckB(nID);\r
+               break;\r
+       case ID_CHECK_C:\r
+               OnUpdateCheckC(nID);\r
+               break;\r
+       }\r
+\r
+       if ((nID >= ID_RADIO_A) && (nID <= ID_RADIO_C)) \r
+               OnUpdateRangeOfIds_Radio(nID);\r
+}\r
+\r
+BOOL CMainFrame::OnCommand(WPARAM wParam, LPARAM lParam)\r
+{\r
+       UNREFERENCED_PARAMETER(lParam);\r
+       WORD wpLo = LOWORD(wParam);\r
+    \r
+       switch(LOWORD(wParam))\r
+       {\r
+       case ID_CHECK_A:\r
+               m_SdiView.OnCheckA();\r
+               return TRUE;\r
+       case ID_CHECK_B:\r
+               m_SdiView.OnCheckB();\r
+               return TRUE;\r
+       case ID_CHECK_C:\r
+               m_SdiView.OnCheckC();\r
+               return TRUE;\r
+\r
+       case ID_RADIO_A:\r
+       case ID_RADIO_B:\r
+       case ID_RADIO_C:\r
+               m_SdiView.OnRangeOfIds_Radio(wpLo - ID_RADIO_A);\r
+               return TRUE;\r
+\r
+       case IDW_VIEW_STATUSBAR:\r
+               OnViewStatusBar();\r
+               return TRUE;\r
+       case IDW_VIEW_TOOLBAR:\r
+               OnViewToolBar();\r
+               return TRUE;\r
+       case IDM_FILE_EXIT:\r
+               // End the application\r
+               ::PostMessage(m_hWnd, WM_CLOSE, 0, 0);\r
+               return TRUE;\r
+\r
+    case IDM_HELP_ABOUT:\r
+      // Display the help dialog\r
+      OnHelp();\r
+      return TRUE;\r
+    }\r
+\r
+  return FALSE;\r
+} \r
+\r
+void CMainFrame::OnCreate()\r
+{\r
+       // OnCreate controls the way the frame is created.\r
+       // Overriding CFrame::Oncreate is optional.\r
+       // The default for the following variables is TRUE\r
+\r
+       // m_bShowIndicatorStatus = FALSE;      // Don't show statusbar indicators\r
+       // m_bShowMenuStatus = FALSE;           // Don't show toolbar or menu status\r
+       // m_bUseReBar = FALSE;                         // Don't use rebars\r
+       // m_bUseThemes = FALSE;            // Don't use themes\r
+       // m_bUseToolBar = FALSE;                       // Don't use a toolbar\r
+       // m_bUseCustomDraw = FALSE;            // Don't use custom draw for menu items\r
+\r
+       // call the base class function\r
+       CFrame::OnCreate();\r
+}\r
+\r
+void CMainFrame::OnInitialUpdate()\r
+{\r
+       // The frame is now created.\r
+       // Place any additional startup code here.\r
+       \r
+}\r
+\r
+void CMainFrame::PreCreate(CREATESTRUCT& cs)\r
+{\r
+       CFrame::PreCreate(cs);\r
+//     cs.cx = 500;\r
+//     cs.cy = 420;\r
+}\r
+\r
+BOOL CMainFrame::SaveRegistrySettings()\r
+{\r
+       CFrame::SaveRegistrySettings();\r
+       GetDoc().SaveDocRegistry(GetRegistryKeyName().c_str());\r
+\r
+       return TRUE;\r
+}\r
+\r
+void CMainFrame::SetupToolBar()\r
+{\r
+       // Set the Resource IDs for the toolbar buttons\r
+       AddToolBarButton( IDM_FILE_NEW   );\r
+       AddToolBarButton( IDM_FILE_OPEN  );\r
+       AddToolBarButton( IDM_FILE_SAVE  );\r
+       AddToolBarButton( 0 );        // Separator\r
+       AddToolBarButton( IDM_EDIT_CUT   );\r
+       AddToolBarButton( IDM_EDIT_COPY  );\r
+       AddToolBarButton( IDM_EDIT_PASTE );\r
+       AddToolBarButton( 0 );        // Separator\r
+       AddToolBarButton( IDM_FILE_PRINT );\r
+       AddToolBarButton( 0 );        // Separator\r
+       AddToolBarButton( IDM_HELP_ABOUT );\r
+}\r
+\r
+LRESULT CMainFrame::WndProc(UINT uMsg, WPARAM wParam, LPARAM lParam)\r
+{\r
+//     switch (uMsg)\r
+//     {\r
+//     // Suppress resizing\r
+//     case WM_SIZING:\r
+//             {\r
+//                     LPRECT pRect = (LPRECT)lParam;\r
+//                     pRect->right = pRect->left + 500;\r
+//                     pRect->bottom = pRect->top + 420;\r
+//             }\r
+//             return TRUE; \r
+//     } \r
+\r
+       // pass unhandled messages on for default processing\r
+       return WndProcDefault(uMsg, wParam, lParam);\r
+}\r
+\r
+void CMainFrame::OnUpdateCheckA(UINT nID)\r
+{\r
+       BOOL bCheck = GetDoc().GetCheckA();\r
+       GetFrameMenu().CheckMenuItem(nID, MF_BYCOMMAND | (bCheck ? MF_CHECKED : MF_UNCHECKED));\r
+}\r
+\r
+void CMainFrame::OnUpdateCheckB(UINT nID)\r
+{\r
+       BOOL bCheck = GetDoc().GetCheckB();\r
+       GetFrameMenu().CheckMenuItem(nID, MF_BYCOMMAND | (bCheck ? MF_CHECKED : MF_UNCHECKED));\r
+}\r
+\r
+void CMainFrame::OnUpdateCheckC(UINT nID)\r
+{\r
+       BOOL bCheck = GetDoc().GetCheckC();\r
+       GetFrameMenu().CheckMenuItem(nID, MF_BYCOMMAND | (bCheck ? MF_CHECKED : MF_UNCHECKED));\r
+}\r
+\r
+void CMainFrame::OnUpdateRangeOfIds_Radio(UINT nID)\r
+{\r
+       UINT adjId = nID - ID_RADIO_A;\r
+       UINT curRadio = GetDoc().GetRadio();\r
+       BOOL bCheck = (curRadio == adjId);\r
+       int nFileItem = GetMenuItemPos(GetFrameMenu(), _T("Select"));\r
+       CMenu* pRadioMenu = GetFrameMenu().GetSubMenu(nFileItem);\r
+       if (bCheck)  \r
+               pRadioMenu->CheckMenuRadioItem(ID_RADIO_A, ID_RADIO_C, nID, 0);\r
+}\r

UCC git Repository :: git.ucc.asn.au