///\r
class DlgEditSetting : public LayoutManager\r
{\r
- HWND m_hwndMayuPathName; ///\r
- HWND m_hwndMayuPath; ///\r
- HWND m_hwndSymbols; ///\r
+ HWND m_hwndMayuPathName; ///\r
+ HWND m_hwndMayuPath; ///\r
+ HWND m_hwndSymbols; ///\r
\r
- DlgEditSettingData *m_data; ///\r
+ DlgEditSettingData *m_data; ///\r
\r
public:\r
- ///\r
- DlgEditSetting(HWND i_hwnd)\r
- : LayoutManager(i_hwnd),\r
- m_hwndMayuPathName(NULL),\r
- m_hwndMayuPath(NULL),\r
- m_hwndSymbols(NULL),\r
- m_data(NULL)\r
- {\r
- }\r
- \r
- /// WM_INITDIALOG\r
- BOOL wmInitDialog(HWND /* focus */, LPARAM i_lParam)\r
- {\r
- m_data = reinterpret_cast<DlgEditSettingData *>(i_lParam);\r
- \r
- setSmallIcon(m_hwnd, IDI_ICON_mayu);\r
- setBigIcon(m_hwnd, IDI_ICON_mayu);\r
- \r
- CHECK_TRUE( m_hwndMayuPathName\r
- = GetDlgItem(m_hwnd, IDC_EDIT_mayuPathName) );\r
- CHECK_TRUE( m_hwndMayuPath = GetDlgItem(m_hwnd, IDC_EDIT_mayuPath) );\r
- CHECK_TRUE( m_hwndSymbols = GetDlgItem(m_hwnd, IDC_EDIT_symbols) );\r
-\r
- SetWindowText(m_hwndMayuPathName, m_data->m_name.c_str());\r
- SetWindowText(m_hwndMayuPath, m_data->m_filename.c_str());\r
- SetWindowText(m_hwndSymbols, m_data->m_symbols.c_str());\r
- \r
- restrictSmallestSize();\r
- \r
- // set layout manager\r
- typedef LayoutManager LM;\r
-\r
- addItem(GetDlgItem(m_hwnd, IDC_STATIC_mayuPathName));\r
- addItem(GetDlgItem(m_hwnd, IDC_EDIT_mayuPathName),\r
- LM::ORIGIN_LEFT_EDGE, LM::ORIGIN_TOP_EDGE,\r
- LM::ORIGIN_RIGHT_EDGE, LM::ORIGIN_TOP_EDGE);\r
- addItem(GetDlgItem(m_hwnd, IDC_STATIC_mayuPathNameComment),\r
- LM::ORIGIN_RIGHT_EDGE, LM::ORIGIN_TOP_EDGE,\r
- LM::ORIGIN_RIGHT_EDGE, LM::ORIGIN_TOP_EDGE);\r
-\r
- addItem(GetDlgItem(m_hwnd, IDC_STATIC_mayuPath));\r
- addItem(GetDlgItem(m_hwnd, IDC_EDIT_mayuPath),\r
- LM::ORIGIN_LEFT_EDGE, LM::ORIGIN_TOP_EDGE,\r
- LM::ORIGIN_RIGHT_EDGE, LM::ORIGIN_TOP_EDGE);\r
- addItem(GetDlgItem(m_hwnd, IDC_BUTTON_browse),\r
- LM::ORIGIN_RIGHT_EDGE, LM::ORIGIN_TOP_EDGE,\r
- LM::ORIGIN_RIGHT_EDGE, LM::ORIGIN_TOP_EDGE);\r
-\r
- addItem(GetDlgItem(m_hwnd, IDC_STATIC_symbols));\r
- addItem(GetDlgItem(m_hwnd, IDC_EDIT_symbols),\r
- LM::ORIGIN_LEFT_EDGE, LM::ORIGIN_TOP_EDGE,\r
- LM::ORIGIN_RIGHT_EDGE, LM::ORIGIN_TOP_EDGE);\r
- addItem(GetDlgItem(m_hwnd, IDC_STATIC_symbolsComment),\r
- LM::ORIGIN_RIGHT_EDGE, LM::ORIGIN_TOP_EDGE,\r
- LM::ORIGIN_RIGHT_EDGE, LM::ORIGIN_TOP_EDGE);\r
- \r
- addItem(GetDlgItem(m_hwnd, IDOK),\r
- LM::ORIGIN_CENTER, LM::ORIGIN_TOP_EDGE,\r
- LM::ORIGIN_CENTER, LM::ORIGIN_TOP_EDGE);\r
- addItem(GetDlgItem(m_hwnd, IDCANCEL),\r
- LM::ORIGIN_CENTER, LM::ORIGIN_TOP_EDGE,\r
- LM::ORIGIN_CENTER, LM::ORIGIN_TOP_EDGE);\r
-\r
- restrictSmallestSize(LM::RESTRICT_BOTH);\r
- restrictLargestSize(LM::RESTRICT_VERTICALLY);\r
- \r
- return TRUE;\r
- }\r
- \r
- /// WM_CLOSE\r
- BOOL wmClose()\r
- {\r
- CHECK_TRUE( EndDialog(m_hwnd, 0) );\r
- return TRUE;\r
- }\r
-\r
- /// WM_COMMAND\r
- BOOL wmCommand(int /* i_notify_code */, int i_id, HWND /* i_hwnd_control */)\r
- {\r
- _TCHAR buf[GANA_MAX_PATH];\r
- switch (i_id)\r
- {\r
- case IDC_BUTTON_browse:\r
- {\r
- tstring title = loadString(IDS_openMayu);\r
- tstring filter = loadString(IDS_openMayuFilter);\r
- for (size_t i = 0; i < filter.size(); ++ i)\r
- if (filter[i] == _T('|'))\r
- filter[i] = _T('\0');\r
-\r
- _tcscpy(buf, _T(".mayu"));\r
- OPENFILENAME of;\r
- memset(&of, 0, sizeof(of));\r
- of.lStructSize = sizeof(of);\r
- of.hwndOwner = m_hwnd;\r
- of.lpstrFilter = filter.c_str();\r
- of.nFilterIndex = 1;\r
- of.lpstrFile = buf;\r
- of.nMaxFile = NUMBER_OF(buf);\r
- of.lpstrTitle = title.c_str();\r
- of.Flags = OFN_EXPLORER | OFN_FILEMUSTEXIST |\r
- OFN_HIDEREADONLY | OFN_PATHMUSTEXIST;\r
- if (GetOpenFileName(&of))\r
- SetWindowText(m_hwndMayuPath, buf);\r
- return TRUE;\r
- }\r
- \r
- case IDOK:\r
- {\r
- GetWindowText(m_hwndMayuPathName, buf, NUMBER_OF(buf));\r
- m_data->m_name = buf;\r
- GetWindowText(m_hwndMayuPath, buf, NUMBER_OF(buf));\r
- m_data->m_filename = buf;\r
- GetWindowText(m_hwndSymbols, buf, NUMBER_OF(buf));\r
- m_data->m_symbols = buf;\r
- CHECK_TRUE( EndDialog(m_hwnd, 1) );\r
- return TRUE;\r
- }\r
- \r
- case IDCANCEL:\r
- {\r
- CHECK_TRUE( EndDialog(m_hwnd, 0) );\r
- return TRUE;\r
- }\r
- }\r
- return FALSE;\r
- }\r
+ ///\r
+ DlgEditSetting(HWND i_hwnd)\r
+ : LayoutManager(i_hwnd),\r
+ m_hwndMayuPathName(NULL),\r
+ m_hwndMayuPath(NULL),\r
+ m_hwndSymbols(NULL),\r
+ m_data(NULL) {\r
+ }\r
+\r
+ /// WM_INITDIALOG\r
+ BOOL wmInitDialog(HWND /* focus */, LPARAM i_lParam) {\r
+ m_data = reinterpret_cast<DlgEditSettingData *>(i_lParam);\r
+\r
+ setSmallIcon(m_hwnd, IDI_ICON_mayu);\r
+ setBigIcon(m_hwnd, IDI_ICON_mayu);\r
+\r
+ CHECK_TRUE( m_hwndMayuPathName\r
+ = GetDlgItem(m_hwnd, IDC_EDIT_mayuPathName) );\r
+ CHECK_TRUE( m_hwndMayuPath = GetDlgItem(m_hwnd, IDC_EDIT_mayuPath) );\r
+ CHECK_TRUE( m_hwndSymbols = GetDlgItem(m_hwnd, IDC_EDIT_symbols) );\r
+\r
+ SetWindowText(m_hwndMayuPathName, m_data->m_name.c_str());\r
+ SetWindowText(m_hwndMayuPath, m_data->m_filename.c_str());\r
+ SetWindowText(m_hwndSymbols, m_data->m_symbols.c_str());\r
+\r
+ restrictSmallestSize();\r
+\r
+ // set layout manager\r
+ typedef LayoutManager LM;\r
+\r
+ addItem(GetDlgItem(m_hwnd, IDC_STATIC_mayuPathName));\r
+ addItem(GetDlgItem(m_hwnd, IDC_EDIT_mayuPathName),\r
+ LM::ORIGIN_LEFT_EDGE, LM::ORIGIN_TOP_EDGE,\r
+ LM::ORIGIN_RIGHT_EDGE, LM::ORIGIN_TOP_EDGE);\r
+ addItem(GetDlgItem(m_hwnd, IDC_STATIC_mayuPathNameComment),\r
+ LM::ORIGIN_RIGHT_EDGE, LM::ORIGIN_TOP_EDGE,\r
+ LM::ORIGIN_RIGHT_EDGE, LM::ORIGIN_TOP_EDGE);\r
+\r
+ addItem(GetDlgItem(m_hwnd, IDC_STATIC_mayuPath));\r
+ addItem(GetDlgItem(m_hwnd, IDC_EDIT_mayuPath),\r
+ LM::ORIGIN_LEFT_EDGE, LM::ORIGIN_TOP_EDGE,\r
+ LM::ORIGIN_RIGHT_EDGE, LM::ORIGIN_TOP_EDGE);\r
+ addItem(GetDlgItem(m_hwnd, IDC_BUTTON_browse),\r
+ LM::ORIGIN_RIGHT_EDGE, LM::ORIGIN_TOP_EDGE,\r
+ LM::ORIGIN_RIGHT_EDGE, LM::ORIGIN_TOP_EDGE);\r
+\r
+ addItem(GetDlgItem(m_hwnd, IDC_STATIC_symbols));\r
+ addItem(GetDlgItem(m_hwnd, IDC_EDIT_symbols),\r
+ LM::ORIGIN_LEFT_EDGE, LM::ORIGIN_TOP_EDGE,\r
+ LM::ORIGIN_RIGHT_EDGE, LM::ORIGIN_TOP_EDGE);\r
+ addItem(GetDlgItem(m_hwnd, IDC_STATIC_symbolsComment),\r
+ LM::ORIGIN_RIGHT_EDGE, LM::ORIGIN_TOP_EDGE,\r
+ LM::ORIGIN_RIGHT_EDGE, LM::ORIGIN_TOP_EDGE);\r
+\r
+ addItem(GetDlgItem(m_hwnd, IDOK),\r
+ LM::ORIGIN_CENTER, LM::ORIGIN_TOP_EDGE,\r
+ LM::ORIGIN_CENTER, LM::ORIGIN_TOP_EDGE);\r
+ addItem(GetDlgItem(m_hwnd, IDCANCEL),\r
+ LM::ORIGIN_CENTER, LM::ORIGIN_TOP_EDGE,\r
+ LM::ORIGIN_CENTER, LM::ORIGIN_TOP_EDGE);\r
+\r
+ restrictSmallestSize(LM::RESTRICT_BOTH);\r
+ restrictLargestSize(LM::RESTRICT_VERTICALLY);\r
+\r
+ return TRUE;\r
+ }\r
+\r
+ /// WM_CLOSE\r
+ BOOL wmClose() {\r
+ CHECK_TRUE( EndDialog(m_hwnd, 0) );\r
+ return TRUE;\r
+ }\r
+\r
+ /// WM_COMMAND\r
+ BOOL wmCommand(int /* i_notify_code */, int i_id, HWND /* i_hwnd_control */) {\r
+ _TCHAR buf[GANA_MAX_PATH];\r
+ switch (i_id) {\r
+ case IDC_BUTTON_browse: {\r
+ tstring title = loadString(IDS_openMayu);\r
+ tstring filter = loadString(IDS_openMayuFilter);\r
+ for (size_t i = 0; i < filter.size(); ++ i)\r
+ if (filter[i] == _T('|'))\r
+ filter[i] = _T('\0');\r
+\r
+ _tcscpy(buf, _T(".mayu"));\r
+ OPENFILENAME of;\r
+ memset(&of, 0, sizeof(of));\r
+ of.lStructSize = sizeof(of);\r
+ of.hwndOwner = m_hwnd;\r
+ of.lpstrFilter = filter.c_str();\r
+ of.nFilterIndex = 1;\r
+ of.lpstrFile = buf;\r
+ of.nMaxFile = NUMBER_OF(buf);\r
+ of.lpstrTitle = title.c_str();\r
+ of.Flags = OFN_EXPLORER | OFN_FILEMUSTEXIST |\r
+ OFN_HIDEREADONLY | OFN_PATHMUSTEXIST;\r
+ if (GetOpenFileName(&of))\r
+ SetWindowText(m_hwndMayuPath, buf);\r
+ return TRUE;\r
+ }\r
+\r
+ case IDOK: {\r
+ GetWindowText(m_hwndMayuPathName, buf, NUMBER_OF(buf));\r
+ m_data->m_name = buf;\r
+ GetWindowText(m_hwndMayuPath, buf, NUMBER_OF(buf));\r
+ m_data->m_filename = buf;\r
+ GetWindowText(m_hwndSymbols, buf, NUMBER_OF(buf));\r
+ m_data->m_symbols = buf;\r
+ CHECK_TRUE( EndDialog(m_hwnd, 1) );\r
+ return TRUE;\r
+ }\r
+\r
+ case IDCANCEL: {\r
+ CHECK_TRUE( EndDialog(m_hwnd, 0) );\r
+ return TRUE;\r
+ }\r
+ }\r
+ return FALSE;\r
+ }\r
};\r
\r
\r
#else\r
BOOL CALLBACK dlgEditSetting_dlgProc(HWND i_hwnd, UINT i_message,\r
#endif\r
- WPARAM i_wParam, LPARAM i_lParam)\r
+ WPARAM i_wParam, LPARAM i_lParam)\r
{\r
- DlgEditSetting *wc;\r
- getUserData(i_hwnd, &wc);\r
- if (!wc)\r
- switch (i_message)\r
- {\r
- case WM_INITDIALOG:\r
- wc = setUserData(i_hwnd, new DlgEditSetting(i_hwnd));\r
- return wc->wmInitDialog(\r
- reinterpret_cast<HWND>(i_wParam), i_lParam);\r
- }\r
- else\r
- switch (i_message)\r
- {\r
- case WM_COMMAND:\r
- return wc->wmCommand(HIWORD(i_wParam), LOWORD(i_wParam),\r
- reinterpret_cast<HWND>(i_lParam));\r
- case WM_CLOSE:\r
- return wc->wmClose();\r
- case WM_NCDESTROY:\r
- delete wc;\r
- return TRUE;\r
- default:\r
- return wc->defaultWMHandler(i_message, i_wParam, i_lParam);\r
- }\r
- return FALSE;\r
+ DlgEditSetting *wc;\r
+ getUserData(i_hwnd, &wc);\r
+ if (!wc)\r
+ switch (i_message) {\r
+ case WM_INITDIALOG:\r
+ wc = setUserData(i_hwnd, new DlgEditSetting(i_hwnd));\r
+ return wc->wmInitDialog(\r
+ reinterpret_cast<HWND>(i_wParam), i_lParam);\r
+ }\r
+ else\r
+ switch (i_message) {\r
+ case WM_COMMAND:\r
+ return wc->wmCommand(HIWORD(i_wParam), LOWORD(i_wParam),\r
+ reinterpret_cast<HWND>(i_lParam));\r
+ case WM_CLOSE:\r
+ return wc->wmClose();\r
+ case WM_NCDESTROY:\r
+ delete wc;\r
+ return TRUE;\r
+ default:\r
+ return wc->defaultWMHandler(i_message, i_wParam, i_lParam);\r
+ }\r
+ return FALSE;\r
}\r