diff options
Diffstat (limited to 'docs/release/src/osd/winui/picker.h')
-rw-r--r-- | docs/release/src/osd/winui/picker.h | 89 |
1 files changed, 89 insertions, 0 deletions
diff --git a/docs/release/src/osd/winui/picker.h b/docs/release/src/osd/winui/picker.h new file mode 100644 index 00000000000..a8ff2edf91a --- /dev/null +++ b/docs/release/src/osd/winui/picker.h @@ -0,0 +1,89 @@ +// For licensing and usage information, read docs/winui_license.txt +//**************************************************************************** + +#ifndef PICKER_H +#define PICKER_H + +#include <stdint.h> + +struct PickerCallbacks +{ + // Options retrieval + void (*pfnSetSortColumn)(int column); + int (*pfnGetSortColumn)(void); + void (*pfnSetSortReverse)(BOOL reverse); + BOOL (*pfnGetSortReverse)(void); + void (*pfnSetViewMode)(int val); + int (*pfnGetViewMode)(void); + void (*pfnSetColumnWidths)(int widths[]); + void (*pfnGetColumnWidths)(int widths[]); + void (*pfnSetColumnOrder)(int order[]); + void (*pfnGetColumnOrder)(int order[]); + void (*pfnSetColumnShown)(int shown[]); + void (*pfnGetColumnShown)(int shown[]); + BOOL (*pfnGetOffsetChildren)(void); + + int (*pfnCompare)(HWND hwndPicker, int nIndex1, int nIndex2, int nSortSubItem); + void (*pfnDoubleClick)(void); + const TCHAR *(*pfnGetItemString)(HWND hwndPicker, int nItem, int nColumn, TCHAR *pszBuffer, UINT nBufferLength); + int (*pfnGetItemImage)(HWND hwndPicker, int nItem); + void (*pfnLeavingItem)(HWND hwndPicker, int nItem); + void (*pfnEnteringItem)(HWND hwndPicker, int nItem); + void (*pfnBeginListViewDrag)(NM_LISTVIEW *pnlv); + int (*pfnFindItemParent)(HWND hwndPicker, int nItem); + BOOL (*pfnOnIdle)(HWND hwndPicker); + void (*pfnOnHeaderContextMenu)(POINT pt, int nColumn); + void (*pfnOnBodyContextMenu)(POINT pt); +}; + +struct PickerOptions +{ + const struct PickerCallbacks *pCallbacks; + BOOL bOldControl; + BOOL bXPControl; + int nColumnCount; + const LPCTSTR *ppszColumnNames; +}; + +enum +{ + VIEW_LARGE_ICONS = 0, + VIEW_SMALL_ICONS, + VIEW_INLIST, + VIEW_REPORT, + VIEW_GROUPED, + VIEW_MAX +}; + + + +BOOL SetupPicker(HWND hwndPicker, const struct PickerOptions *pOptions); + +int Picker_GetViewID(HWND hwndPicker); +void Picker_SetViewID(HWND hwndPicker, int nViewID); +int Picker_GetRealColumnFromViewColumn(HWND hwndPicker, int nViewColumn); +int Picker_GetViewColumnFromRealColumn(HWND hwndPicker, int nRealColumn); +void Picker_Sort(HWND hwndPicker); +void Picker_ResetColumnDisplay(HWND hwndPicker); +int Picker_GetSelectedItem(HWND hwndPicker); +void Picker_SetSelectedItem(HWND hwndPicker, uint32_t nItem); +void Picker_SetSelectedPick(HWND hwndPicker, uint32_t nIndex); +int Picker_GetNumColumns(HWND hWnd); +void Picker_ClearIdle(HWND hwndPicker); +void Picker_ResetIdle(HWND hwndPicker); +BOOL Picker_IsIdling(HWND hwndPicker); +void Picker_SetHeaderImageList(HWND hwndPicker, HIMAGELIST hHeaderImages); +int Picker_InsertItemSorted(HWND hwndPicker, int nParam); +BOOL Picker_SaveColumnWidths(HWND hwndPicker); + +// These are used to handle events received by the parent regarding +// picker controls +BOOL Picker_HandleNotify(LPNMHDR lpNmHdr); +void Picker_HandleDrawItem(HWND hwndPicker, LPDRAWITEMSTRUCT lpDrawItemStruct); + +// Accessors +const struct PickerCallbacks *Picker_GetCallbacks(HWND hwndPicker); +int Picker_GetColumnCount(HWND hwndPicker); +const LPCTSTR *Picker_GetColumnNames(HWND hwndPicker); + +#endif // PICKER_H |