Reactos
at listview 76 lines 1.5 kB view raw
1#pragma once 2 3#include "input.h" 4#include "locale_list.h" 5#include "layout_list.h" 6 7/* 8 * INPUT_LIST_NODE_FLAG_EDITED 9 * --- The modification flag. Since previous time, this entry is modified. 10 */ 11#define INPUT_LIST_NODE_FLAG_EDITED 0x0001 12 13/* 14 * INPUT_LIST_NODE_FLAG_ADDED 15 * --- The addition flag. Since previous time, this entry is newly added. 16 */ 17#define INPUT_LIST_NODE_FLAG_ADDED 0x0002 18 19/* 20 * INPUT_LIST_NODE_FLAG_DELETED 21 * --- The deletion flag. 22 * The application should ignore the entry with this flag if necessary. 23 */ 24#define INPUT_LIST_NODE_FLAG_DELETED 0x0004 25 26/* 27 * INPUT_LIST_NODE_FLAG_DEFAULT 28 * --- The default flag. The entry with this flag should be single in the list. 29 */ 30#define INPUT_LIST_NODE_FLAG_DEFAULT 0x0008 31 32typedef struct _INPUT_LIST_NODE 33{ 34 WORD wFlags; 35 36 LOCALE_LIST_NODE *pLocale; 37 LAYOUT_LIST_NODE *pLayout; 38 39 HKL hkl; /* Only for loaded input methods */ 40 41 LPWSTR pszIndicator; 42 43 struct _INPUT_LIST_NODE *pPrev; 44 struct _INPUT_LIST_NODE *pNext; 45} INPUT_LIST_NODE; 46 47 48VOID 49InputList_Create(VOID); 50 51BOOL 52InputList_Process(VOID); 53 54BOOL 55InputList_Add(LOCALE_LIST_NODE *pLocale, LAYOUT_LIST_NODE *pLayout); 56 57VOID 58InputList_SetDefault(INPUT_LIST_NODE *pNode); 59 60INT 61InputList_GetAliveCount(VOID); 62 63BOOL 64InputList_Remove(INPUT_LIST_NODE *pNode); 65 66BOOL 67InputList_RemoveByLang(LANGID wLangId); 68 69VOID 70InputList_Sort(VOID); 71 72VOID 73InputList_Destroy(VOID); 74 75INPUT_LIST_NODE* 76InputList_GetFirst(VOID);