| 1 | /* $Id: undoccomctl32.h,v 1.1 2001-09-25 10:54:16 sandervl Exp $ */ | 
|---|
| 2 | #ifndef __WINE_WINE_UNDOCCOMCTL32_H__ | 
|---|
| 3 | #define __WINE_WINE_UNDOCCOMCTL32_H__ | 
|---|
| 4 |  | 
|---|
| 5 | /************************************************************************** | 
|---|
| 6 | * The MRU-API is a set of functions to manipulate MRU(Most Recently Used) | 
|---|
| 7 | * lists. | 
|---|
| 8 | * | 
|---|
| 9 | * Stored in the reg. as a set of values under a single key.  Each item in the | 
|---|
| 10 | * list has a value name that is a single char. 'a' - 'z', '{', '|' or '}'. | 
|---|
| 11 | * The order of the list is stored with value name 'MRUList' which is a string | 
|---|
| 12 | * containing the value names (i.e. 'a', 'b', etc.) in the relevant order. | 
|---|
| 13 | */ | 
|---|
| 14 |  | 
|---|
| 15 | typedef struct tagCREATEMRULIST | 
|---|
| 16 | { | 
|---|
| 17 | DWORD  cbSize;        /* size of struct */ | 
|---|
| 18 | DWORD  nMaxItems;     /* max no. of items in list */ | 
|---|
| 19 | DWORD  dwFlags;       /* see below */ | 
|---|
| 20 | HKEY   hKey;          /* root reg. key under which list is saved */ | 
|---|
| 21 | LPCSTR lpszSubKey;    /* reg. subkey */ | 
|---|
| 22 | PROC   lpfnCompare;   /* item compare proc */ | 
|---|
| 23 | } CREATEMRULIST, *LPCREATEMRULIST; | 
|---|
| 24 |  | 
|---|
| 25 | /* dwFlags */ | 
|---|
| 26 | #define MRUF_STRING_LIST  0 /* list will contain strings */ | 
|---|
| 27 | #define MRUF_BINARY_LIST  1 /* list will contain binary data */ | 
|---|
| 28 | #define MRUF_DELAYED_SAVE 2 /* only save list order to reg. is FreeMRUList */ | 
|---|
| 29 |  | 
|---|
| 30 | /* If list is a string list lpfnCompare has the following prototype | 
|---|
| 31 | * int CALLBACK MRUCompareString(LPCSTR s1, LPCSTR s2) | 
|---|
| 32 | * for binary lists the prototype is | 
|---|
| 33 | * int CALLBACK MRUCompareBinary(LPCVOID data1, LPCVOID data2, DWORD cbData) | 
|---|
| 34 | * where cbData is the no. of bytes to compare. | 
|---|
| 35 | * Need to check what return value means identical - 0? | 
|---|
| 36 | */ | 
|---|
| 37 |  | 
|---|
| 38 | typedef struct tagWINEMRUITEM | 
|---|
| 39 | { | 
|---|
| 40 | DWORD          size;        /* size of data stored               */ | 
|---|
| 41 | DWORD          itemFlag;    /* flags                             */ | 
|---|
| 42 | BYTE           datastart; | 
|---|
| 43 | } WINEMRUITEM, *LPWINEMRUITEM; | 
|---|
| 44 |  | 
|---|
| 45 | /* itemFlag */ | 
|---|
| 46 | #define WMRUIF_CHANGED   0x0001 /* this dataitem changed             */ | 
|---|
| 47 |  | 
|---|
| 48 | typedef struct tagWINEMRULIST | 
|---|
| 49 | { | 
|---|
| 50 | CREATEMRULIST  extview;     /* original create information       */ | 
|---|
| 51 | DWORD          wineFlags;   /* internal flags                    */ | 
|---|
| 52 | DWORD          cursize;     /* current size of realMRU           */ | 
|---|
| 53 | LPSTR          realMRU;     /* pointer to string of index names  */ | 
|---|
| 54 | LPWINEMRUITEM  *array;      /* array of pointers to data         */ | 
|---|
| 55 | /* in 'a' to 'z' order               */ | 
|---|
| 56 | } WINEMRULIST, *LPWINEMRULIST; | 
|---|
| 57 |  | 
|---|
| 58 | /* wineFlags */ | 
|---|
| 59 | #define WMRUF_CHANGED  0x0001   /* MRU list has changed              */ | 
|---|
| 60 |  | 
|---|
| 61 | HANDLE WINAPI CreateMRUListA (LPCREATEMRULIST lpcml); | 
|---|
| 62 | DWORD  WINAPI FreeMRUListA (HANDLE hMRUList); | 
|---|
| 63 | INT    WINAPI AddMRUData (HANDLE hList, LPCVOID lpData, DWORD cbData); | 
|---|
| 64 | INT    WINAPI AddMRUStringA(HANDLE hList, LPCSTR lpszString); | 
|---|
| 65 | BOOL   WINAPI DelMRUString(HANDLE hList, INT nItemPos); | 
|---|
| 66 | INT    WINAPI FindMRUData (HANDLE hList, LPCVOID lpData, DWORD cbData, LPINT lpRegNum); | 
|---|
| 67 | INT    WINAPI FindMRUStringA (HANDLE hList, LPCSTR lpszString, LPINT lpRegNum); | 
|---|
| 68 | HANDLE WINAPI CreateMRUListLazyA (LPCREATEMRULIST lpcml, DWORD dwParam2, DWORD dwParam3, DWORD dwParam4); | 
|---|
| 69 | INT    WINAPI EnumMRUListA(HANDLE hList, INT nItemPos, LPVOID lpBuffer,DWORD nBufferSize); | 
|---|
| 70 |  | 
|---|
| 71 |  | 
|---|
| 72 |  | 
|---|
| 73 | #endif /* __WINE_WINE_UNDOCCOMCTL32_H__ */ | 
|---|