OSDN Git Service

Make minor modifications to the code to handle key configurations.
[xkeymacs/xkeymacs.git] / xkeymacs / mainfrm.h
1 // MainFrm.h : interface of the CMainFrame class\r
2 //\r
3 /////////////////////////////////////////////////////////////////////////////\r
4 \r
5 #if !defined(AFX_MAINFRM_H__CF58719A_1B31_4BC0_8E55_06E0AE5BED2E__INCLUDED_)\r
6 #define AFX_MAINFRM_H__CF58719A_1B31_4BC0_8E55_06E0AE5BED2E__INCLUDED_\r
7 \r
8 #if _MSC_VER > 1000\r
9 #pragma once\r
10 #endif // _MSC_VER > 1000\r
11 \r
12 #include "about.h"\r
13 #include "optionsdlg.h"\r
14 #include "104Keyboard.h"\r
15 #include "109Keyboard.h"\r
16 #include "properties.h"\r
17 \r
18 enum KEYBOARD_TYPE { UNKNOWN_KEYBOARD, ENGLISH_KEYBOARD, JAPANESE_KEYBOARD, MAX_KEYBOARD_TYPE };\r
19 \r
20 class CMainFrame : public CFrameWnd\r
21 {\r
22         \r
23 protected: // create from serialization only\r
24 public:\r
25         CMainFrame();\r
26 protected:\r
27         DECLARE_DYNCREATE(CMainFrame)\r
28 \r
29 // Attributes\r
30 public:\r
31 \r
32 // Operations\r
33 public:\r
34 \r
35 // Overrides\r
36         // ClassWizard generated virtual function overrides\r
37         //{{AFX_VIRTUAL(CMainFrame)\r
38         public:\r
39         protected:\r
40         virtual LRESULT WindowProc(UINT message, WPARAM wParam, LPARAM lParam);\r
41         //}}AFX_VIRTUAL\r
42 \r
43 // Implementation\r
44 public:\r
45         virtual ~CMainFrame();\r
46 #ifdef _DEBUG\r
47         virtual void AssertValid() const;\r
48         virtual void Dump(CDumpContext& dc) const;\r
49 #endif\r
50 \r
51 // Generated message map functions\r
52 protected:\r
53         //{{AFX_MSG(CMainFrame)\r
54         afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);\r
55         afx_msg void OnAbout();\r
56         afx_msg void OnQuit();\r
57         afx_msg void OnDisable();\r
58         afx_msg void OnProperties();\r
59         afx_msg void OnOptions();\r
60         afx_msg void OnKeyboard();\r
61         afx_msg void OnImport();\r
62         afx_msg void OnExport();\r
63         afx_msg void OnReset();\r
64         afx_msg void OnHelpFinder();\r
65         afx_msg void OnKeyboardAnyUser();\r
66         //}}AFX_MSG\r
67         afx_msg LRESULT OnPowerBroadCast(WPARAM wParam, LPARAM lParam);\r
68         DECLARE_MESSAGE_MAP()\r
69 private:\r
70         BOOL m_bKeyboardDlgExist[MAX_KEYBOARD_TYPE][MAX_HKEY_TYPE];\r
71         int m_nResultKeyboardDlg[MAX_KEYBOARD_TYPE][MAX_HKEY_TYPE];\r
72         C109Keyboard *m_p109KeyboardDlg[MAX_HKEY_TYPE];\r
73         C104Keyboard *m_p104KeyboardDlg[MAX_HKEY_TYPE];\r
74         void PopUpKeyboardDialog(HKEY_TYPE hkeyType);\r
75         void SetForegroundTheDialog(CDialog *pDialog);\r
76         void CloseDialog(CDialog *pDialog, int *pnResult);\r
77         void SetForegroundSomeDialog();\r
78         void PopUpOptionsDialog();\r
79         void PopUpDialog(CDialog *pDialog, int *pnDialogExist, BOOL *pbDialogExist);\r
80         void PopUpAboutDialog();\r
81         void PopUpPropertiesDialog();\r
82         void ShowRightMenu(ICON_TYPE icon);\r
83         BOOL m_bPropertiesDlgExist;\r
84         BOOL m_bOptionsDlgExist;\r
85         BOOL m_bAboutDlgExist;\r
86         COptionsDlg *m_pOptionsDlg;\r
87         int m_nResultOptionsDlg;\r
88         CAboutDlg *m_pAboutDlg;\r
89         int     m_nResultAboutDlg;\r
90         int m_nResultPropertiesDlg;\r
91         CProperties *m_pPropertiesDlg;\r
92         // notify icons\r
93         BOOL m_bIcon[MAX_ICON_TYPE];\r
94         HICON m_hIcon[MAX_ICON_TYPE][MAX_STATUS];\r
95         DWORD m_dwOldMessage[MAX_ICON_TYPE];\r
96         NOTIFYICONDATA m_stNtfyIcon[MAX_ICON_TYPE];\r
97         NOTIFYICONDATA m_stOldNtfyIcon[MAX_ICON_TYPE];\r
98         void AddShell_NotifyIcon(ICON_TYPE icon);\r
99         void DeleteShell_NotifyIcon(ICON_TYPE icon);\r
100         BOOL DoShell_NotifyIcon(ICON_TYPE icon, DWORD dwMessage);\r
101         void DeleteAllShell_NotifyIcon();\r
102         void AddAllShell_NotifyIcon();\r
103         BOOL m_bPollIconMessage;\r
104         HANDLE m_hThread;\r
105         void StartPollThread();\r
106         void TerminatePollThread();\r
107         static DWORD WINAPI PollIconMessage(LPVOID lpParam);\r
108 public:\r
109         void EnableShell_NotifyIcon(ICON_TYPE icon, BOOL bEnable);\r
110 };\r
111 \r
112 /////////////////////////////////////////////////////////////////////////////\r
113 \r
114 //{{AFX_INSERT_LOCATION}}\r
115 // Microsoft Visual C++ will insert additional declarations immediately before the previous line.\r
116 \r
117 #endif // !defined(AFX_MAINFRM_H__CF58719A_1B31_4BC0_8E55_06E0AE5BED2E__INCLUDED_)\r