Something went wrong. Try again.
Reactos
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293/** PROJECT: input.dll* FILE: dll/cpl/input/edit_dialog.c* PURPOSE: input.dll* PROGRAMMER: Dmitry Chapyshev (dmitry@reactos.org)*/
#include "input.h"#include "locale_list.h"#include "input_list.h"
INT_PTR CALLBACKEditDialogProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam){ UNREFERENCED_PARAMETER(lParam);
switch (uMsg) { case WM_INITDIALOG: { LAYOUT_LIST_NODE *pCurrentLayout; INPUT_LIST_NODE *pInput; HWND hwndList;
pInput = (INPUT_LIST_NODE*) lParam;
if (pInput == NULL) return TRUE;
SetWindowLongPtrW(hwndDlg, GWLP_USERDATA, (LONG_PTR) pInput);
SetWindowTextW(GetDlgItem(hwndDlg, IDC_INPUT_LANG_STR), pInput->pLocale->pszName);
hwndList = GetDlgItem(hwndDlg, IDC_KB_LAYOUT_IME_COMBO);
for (pCurrentLayout = LayoutList_GetFirst(); pCurrentLayout != NULL; pCurrentLayout = pCurrentLayout->pNext) { INT iItemIndex;
iItemIndex = ComboBox_AddString(hwndList, pCurrentLayout->pszName); ComboBox_SetItemData(hwndList, iItemIndex, pCurrentLayout); }
ComboBox_SelectString(hwndList, 0, pInput->pLayout->pszName); return TRUE; }
case WM_COMMAND: { switch (LOWORD(wParam)) { case IDOK: { INPUT_LIST_NODE *pInput; HWND hwndList;
hwndList = GetDlgItem(hwndDlg, IDC_KB_LAYOUT_IME_COMBO);
pInput = (INPUT_LIST_NODE*) GetWindowLongPtrW(hwndDlg, GWLP_USERDATA);
if (pInput != NULL) { LAYOUT_LIST_NODE *pNewLayout;
pNewLayout = (LAYOUT_LIST_NODE*)ComboBox_GetItemData(hwndList, ComboBox_GetCurSel(hwndList)); if (pNewLayout != NULL) { pInput->pLayout = pNewLayout; pInput->wFlags |= INPUT_LIST_NODE_FLAG_EDITED; } }
EndDialog(hwndDlg, LOWORD(wParam)); } break;
case IDCANCEL: { EndDialog(hwndDlg, LOWORD(wParam)); } break; } } break; }
return FALSE;}