123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267 |
- #ifndef NULLOSFT_MEDIALIBRARY_NAVIGATION_HEADER
- #define NULLOSFT_MEDIALIBRARY_NAVIGATION_HEADER
- #if defined(_MSC_VER) && (_MSC_VER >= 1020)
- #pragma once
- #endif
- #include <windows.h>
- #include "./config.h"
- #include "./ml_imagelist.h"
- typedef LPVOID HNAVCTRL;
- typedef LPVOID HNAVITEM;
- typedef struct _NAVITEM_I
- {
- UINT mask;
- INT id;
- LPWSTR pszText;
- INT cchTextMax;
- LPWSTR pszInvariant;
- INT cchInvariantMax;
- INT iImage;
- INT iSelectedImage;
- UINT state;
- UINT stateMask;
- UINT style;
- UINT styleMask;
- HFONT hFont;
- LPARAM lParam;
- } NAVITEM_I;
- typedef struct _NAVITEMDRAW_I
- {
- HDC hdc;
- COLORREF clrText;
- COLORREF clrTextBk;
- HFONT hFont;
- RECT *prc;
- UINT itemState;
- UINT drawStage;
- INT iLevel;
- } NAVITEMDRAW_I;
- #define NCS_NORMAL_I 0x0000
- #define NCS_FULLROWSELECT_I 0x0001
- #define NCS_SHOWICONS_I 0x0002
- #define NIDS_PREPAINT_I 0x0001
- #define NIDS_POSTPAINT_I 0x0002
- #define NICDRF_DODEFAULT_I 0x0001
- #define NICDRF_SKIPDEFAULT_I 0x0002
- #define NICDRF_NOTIFYPOSTPAINT_I 0x0004
- #define NICDRF_NEWFONT_I 0x0008
- #define NAVHT_NOWHERE_I 0x0001
- #define NAVHT_ONITEM_I 0x0002
- #define NAVHT_ONITEMBUTTON_I 0x0004
- #define NAVHT_ONITEMINDENT_I 0x0010
- #define NAVHT_ONITEMRIGHT_I 0x0020
- #define NAVHT_ABOVE_I 0x0100
- #define NAVHT_BELOW_I 0x0200
- #define NAVHT_TORIGHT_I 0x0400
- #define NAVHT_TOLEFT_I 0x0800
- #define NIMF_ITEMID_I 0x0001
- #define NIMF_TEXT_I 0x0002
- #define NIMF_TEXTINVARIANT_I 0x0004
- #define NIMF_IMAGE_I 0x0008
- #define NIMF_IMAGESEL_I 0x0010
- #define NIMF_STATE_I 0x0020
- #define NIMF_STYLE_I 0x0040
- #define NIMF_FONT_I 0x0080
- #define NIMF_PARAM_I 0x0100
- #define NIS_NORMAL_I 0x0000
- #define NIS_SELECTED_I 0x0001
- #define NIS_EXPANDED_I 0x0002
- #define NIS_DROPHILITED_I 0x0004
- #define NIS_FOCUSED_I 0x0008
- #define NIS_HASCHILDREN_I 0x0001
- #define NIS_ALLOWCHILDMOVE_I 0x0002
- #define NIS_ALLOWEDIT_I 0x0004
- #define NIS_ITALIC_I 0x0100
- #define NIS_BOLD_I 0x0200
- #define NIS_UNDERLINE_I 0x0400
- #define NIS_CUSTOMDRAW_I 0x0010
- #define NIS_WANTSETCURSOR_I 0x0020
- #define NIS_WANTHITTEST_I 0x0040
- #define NIS_WANTPOSTPAINT_I 0x8000
- #define IMAGE_NORMAL_I 0x0000
- #define IMAGE_SELECTED_I 0x0001
- #define NAVITEM_TOGGLE_I 0x0000
- #define NAVITEM_EXPAND_I 0x0001
- #define NAVITEM_COLLAPSE_I 0x0002
- #define ACTION_CLICKL_I 0x0000
- #define ACTION_CLICKR_I 0x0001
- #define ACTION_ENTER_I 0x0002
- #define ACTION_DBLCLICKL_I 0x0003
- #define ACTION_DBLCLICKR_I 0x0004
- #define CALLBACK_ONCLICK_I 0x0001
- #define CALLBACK_ONSELECTED_I 0x0002
- #define CALLBACK_ONKEYDOWN_I 0x0003
- #define CALLBACK_ONBEGINDRAG_I 0x0004
- #define CALLBACK_ONGETIMAGEINDEX_I 0x0005
- #define CALLBACK_ONBEGINTITLEEDIT_I 0x0006
- #define CALLBACK_ONENDTITLEEDIT_I 0x0007
- #define CALLBACK_ONITEMDELETE_I 0x0008
- #define CALLBACK_ONITEMDRAW_I 0x0009
- #define CALLBACK_ONSETCURSOR_I 0x000A
- #define CALLBACK_ONHITTEST_I 0x000B
- #define CALLBACK_ONDESTROY_I 0x000C
- typedef BOOL (CALLBACK *ONNAVITEMCLICK_I)(HNAVCTRL , HNAVITEM , INT );
- typedef void (CALLBACK *ONNAVITEMSELECTED_I)(HNAVCTRL , HNAVITEM , HNAVITEM );
- typedef BOOL (CALLBACK *ONNAVCTRLKEYDOWN_I)(HNAVCTRL , HNAVITEM , NMTVKEYDOWN* );
- typedef void (CALLBACK *ONNAVCTRLBEGINDRAG_I)(HNAVCTRL , HNAVITEM , POINT );
- typedef INT (CALLBACK *ONNAVITEMGETIMAGEINDEX_I)(HNAVCTRL , HNAVITEM , INT );
- typedef BOOL (CALLBACK *ONNAVITEMBEGINTITLEEDIT_I)(HNAVCTRL , HNAVITEM );
- typedef BOOL (CALLBACK *ONNAVCTRLENDTITLEEDIT_I)(HNAVCTRL , HNAVITEM , LPCWSTR );
- typedef void (CALLBACK *ONNAVITEMDELETE_I)(HNAVCTRL , HNAVITEM );
- typedef UINT (CALLBACK *ONNAVITEMDRAW_I)(HNAVCTRL , HNAVITEM , NAVITEMDRAW_I* , LPARAM );
- typedef BOOL (CALLBACK *ONNAVITEMSETCURSOR_I)(HNAVCTRL , HNAVITEM , LPARAM );
- typedef void (CALLBACK *ONNAVITEMHITTEST_I)(HNAVCTRL , POINT , UINT* , HNAVITEM* , LPARAM );
- typedef void (CALLBACK *ONNAVCTRLDESTROY_I)(HNAVCTRL );
- #define NICF_DISPLAY_I 0x0001
- #define NICF_INVARIANT_I 0x0002
- #define NICF_IGNORECASE_I 0x0004
- #define NOF_MOVEONEBEFORE_I 0x00
- #define NOF_MOVEONEAFTER_I 0x01
- #define NOF_MOVEBEFORE_I 0x02
- #define NOF_MOVEAFTER_I 0x03
- typedef BOOL (CALLBACK *NAVENUMPROC_I)(HNAVITEM , LPARAM );
- #define MAKE_NAVITEMSORTORDER(o) ((HNAVITEM)((ULONG_PTR)((WORD)(o))))
- #define IS_NAVITEMSORTORDER(_i) ((((ULONG_PTR)(_i)) >> 16) == 0)
- #define NUF_LOCK_NONE_I 0x00
- #define NUF_LOCK_SELECTED_I 0x01
- #define NUF_LOCK_TOP_I 0x02
- #define NCI_FIRST_I ((HNAVITEM)(ULONG_PTR)-0x0FFFF)
- #define NCI_LAST_I ((HNAVITEM)(ULONG_PTR)-0x00000)
- HNAVCTRL NavCtrlI_Create(HWND hwndParent);
- BOOL NavCtrlI_SetRect(HNAVCTRL hNav, RECT *prc);
- BOOL NavCtrlI_Show(HNAVCTRL hNav, INT nCmdShow);
- BOOL NavCtrlI_Enable(HNAVCTRL hNav, BOOL fEnable);
- BOOL NavCtrlI_Destroy(HNAVCTRL hNav);
- BOOL NavCtrlI_Update(HNAVCTRL hNav);
- BOOL NavCtrlI_ProcessNotifications(HNAVCTRL hNav, LPNMHDR pnmh, LRESULT *pResult);
- C_Config *NavCtrlI_SetConfig(HNAVCTRL hNav, C_Config *pConfig);
- BOOL NavCtrlI_BeginUpdate(HNAVCTRL hNav, UINT fRememberPos);
- BOOL NavCtrlI_EndUpdate(HNAVCTRL hNav);
- BOOL NavCtrlI_DeleteItem(HNAVCTRL hNav, HNAVITEM hItem);
- BOOL NavCtrlI_DeleteAll(HNAVCTRL hNav);
- HNAVITEM NavCtrlI_FindItem(HNAVCTRL hNav, INT itemId);
- HNAVITEM NavCtrlI_FindItemByName(HNAVCTRL hNav, LCID Locale, UINT compFlags, LPCWSTR pszName, INT cchLength);
- HNAVITEM NavCtrlI_FindItemByFullName(HNAVCTRL hNav, LCID Locale, UINT compFlags, LPCWSTR pszName, INT cchLength, BOOL fAncestorOk);
- HNAVITEM NavCtrlI_InsertItem(HNAVCTRL hNav, HNAVITEM hInsertAfter, HNAVITEM hParent, NAVITEM_I *pnis);
- HNAVITEM NavCtrlI_GetRoot(HNAVCTRL hNav);
- HNAVITEM NavCtrlI_GetSelection(HNAVCTRL hNav);
- HNAVITEM NavCtrlI_GetFirstVisible(HNAVCTRL hNav);
- HNAVITEM NavCtrlI_GetLastVisible(HNAVCTRL hNav);
- BOOL NavCtrlI_UpdateLook(HNAVCTRL hNav);
- HMLIMGLST NavCtrlI_SetImageList(HNAVCTRL hNav, HMLIMGLST hmlil);
- HMLIMGLST NavCtrlI_GetImageList(HNAVCTRL hNav);
- HWND NavCtrlI_GetHWND(HNAVCTRL hNav);
- LPVOID NavCtrlI_RegisterCallback(HNAVCTRL hNav, LPVOID fnCallback, INT cbType);
- HNAVITEM NavCtrlI_HitTest(HNAVCTRL hNav, POINT *ppt, UINT *pFlags);
- BOOL NavCtrlI_SetInsertMark(HNAVCTRL hNav, HNAVITEM hItem, BOOL fAfter);
- BOOL NavCtrlI_EnumItems(HNAVCTRL hNav, NAVENUMPROC_I pEnumFunc, HNAVITEM hItemStart, LPARAM lParam);
- INT NavCtrlI_MapPointsTo(HNAVCTRL hNav, HWND hwndTo, POINT *ppt, UINT cPoints);
- INT NavCtrlI_MapPointsFrom(HNAVCTRL hNav, HWND hwndFrom, POINT *ppt, UINT cPoints);
- BOOL NavCtrlI_EndEditTitle(HNAVCTRL hNav, BOOL fCancel);
- INT NavCtrlI_GetIndent(HNAVCTRL hNav);
- DWORD NavCtrlI_GetStyle(HNAVCTRL hNav);
-
- BOOL NavItemI_EditTitle(HNAVITEM hItem);
- HNAVITEM NavItemI_GetChild(HNAVITEM hItem);
- INT NavItemI_GetChildrenCount(HNAVITEM hItem);
- HFONT NavItemI_GetFont(HNAVITEM hItem);
- INT NavItemI_GetId(HNAVITEM hItem);
- INT NavItemI_GetImageIndex(HNAVITEM hItem, INT imageType);
- BOOL NavItemI_GetIndirect(HNAVITEM hItem, NAVITEM_I *pnis);
- BOOL NavItemI_GetText(HNAVITEM hItem, LPWSTR pszText, INT cchMaxLen);
- BOOL NavItemI_GetInvariantText(HNAVITEM hItem, LPWSTR pszText, INT cchMaxLen);
- HNAVITEM NavItemI_GetNext(HNAVITEM hItem);
- WORD NavItemI_GetOrder(HNAVITEM hItem);
- HNAVITEM NavItemI_GetParent(HNAVITEM hItem);
- HNAVITEM NavItemI_GetPrevious(HNAVITEM hItem);
- BOOL NavItemI_GetRect(HNAVITEM hItem, RECT *prc, BOOL fItemRect);
- HNAVITEM NavItemI_GetRoot(HNAVITEM hItem);
- UINT NavItemI_GetState(HNAVITEM hItem, UINT stateMask);
- UINT NavItemI_GetStyle(HNAVITEM hItem, UINT styleMask);
- INT NavItemI_GetFullName(HNAVITEM hItem, LPWSTR pszFullName, INT cchMaxLen);
- BOOL NavItemI_HasChildren(HNAVITEM hItem);
- BOOL NavItemI_HasChildrenReal(HNAVITEM hItem);
- BOOL NavItemI_IsSelected(HNAVITEM hItem);
- BOOL NavItemI_IsExpanded(HNAVITEM hItem);
- BOOL NavItemI_Expand(HNAVITEM hItem, UINT flag);
- BOOL NavItemI_Move(HNAVITEM hItem, HNAVITEM hItemDest, BOOL fAfter);
- HFONT NavItemI_SetFont(HNAVITEM hItem, HFONT hFont);
- BOOL NavItemI_SetId(HNAVITEM hItem, INT itemId);
- BOOL NavItemI_SetImageIndex(HNAVITEM hItem, INT mlilIndex, INT imageType);
- BOOL NavItemI_SetIndirect(HNAVITEM hItem, NAVITEM_I *pnis);
- BOOL NavItemI_SetState(HNAVITEM hItem, UINT state, UINT stateMask);
- BOOL NavItemI_SetStyle(HNAVITEM hItem, UINT style, UINT mask);
- BOOL NavItemI_SetText(HNAVITEM hItem, LPCWSTR pszText);
- BOOL NavItemI_SetInvariantText(HNAVITEM hItem, LPCWSTR pszText);
- WORD NavItemI_SetOrder(HNAVITEM hItem, WORD order, UINT flags);
- BOOL NavItemI_EnsureVisible(HNAVITEM hItem);
- BOOL NavItemI_Select(HNAVITEM hItem);
- HIMAGELIST NavItemI_CreateDragImage(HNAVITEM hItem, LPCWSTR pszTipText);
- BOOL NavItemI_Invalidate(HNAVITEM hItem, RECT *prc, BOOL fErase);
- #endif
|