home *** CD-ROM | disk | FTP | other *** search
/ PC Pro 2006 April / DPPRO0406DVD.ISO / Essentials / Programming / Notepad2 / Source / NP2SRC.ZIP / Dlapi.h < prev    next >
Encoding:
C/C++ Source or Header  |  2004-06-25  |  5.1 KB  |  203 lines

  1. /******************************************************************************
  2. *
  3. *
  4. * Notepad2
  5. *
  6. * Dlapi.h
  7. *   Definitions for Directory Listing APIs
  8. *
  9. * See Readme.txt for more information about this source code.
  10. * Please send me your comments to this work.
  11. *
  12. * Distributed under the terms of the GNU General Public License,
  13. * see License.txt for details.
  14. *
  15. *                                              (c) Florian Balmer 1996-2004
  16. *                                                       textview@bluewin.ch
  17. *                                               http://www.flos-freeware.ch
  18. *
  19. *
  20. ******************************************************************************/
  21.  
  22. #ifndef _DLAPI_H_
  23. #define _DLAPI_H_
  24.  
  25. #ifdef __cplusplus
  26. extern "C" { // C-Declarations
  27. #endif //__cplusplus
  28.  
  29.  
  30.  
  31. //==== DirList ================================================================
  32.  
  33. //==== LV_ITEMDATA Structure ==================================================
  34. typedef struct tagLV_ITEMDATA // lvid
  35. {
  36.   LPITEMIDLIST  pidl; // Item Id
  37.   LPSHELLFOLDER lpsf; // Parent IShellFolder Interface
  38.  
  39. } LV_ITEMDATA, *LPLV_ITEMDATA;
  40.  
  41.  
  42. //==== DlInit() ===============================================================
  43.  
  44. BOOL DirList_Init(HWND,LPCSTR);
  45.  
  46.  
  47. //==== DlDestroy() ============================================================
  48.  
  49. BOOL DirList_Destroy(HWND);
  50.  
  51.  
  52. //==== DlStartIconThread() ====================================================
  53.  
  54. BOOL DirList_StartIconThread(HWND);
  55.  
  56.  
  57. //==== DlTerminateIconThread() ================================================
  58.  
  59. BOOL DirList_TerminateIconThread(HWND);
  60.  
  61.  
  62. //==== DlFill() ===============================================================
  63.  
  64. #define DL_FOLDERS      32
  65. #define DL_NONFOLDERS   64
  66. #define DL_INCLHIDDEN  128
  67. #define DL_ALLOBJECTS  (32|64|128)
  68.  
  69. int DirList_Fill(HWND,LPCSTR,DWORD,LPCSTR,BOOL,BOOL);
  70.  
  71.  
  72. //==== DlIconThread() =========================================================
  73.  
  74. DWORD WINAPI DirList_IconThread(LPVOID);
  75.  
  76.  
  77. //==== DlGetDispInfo() ========================================================
  78.  
  79. BOOL DirList_GetDispInfo(HWND,LPARAM,BOOL);
  80.  
  81.  
  82. //==== DlDeleteItem() =========================================================
  83.  
  84. BOOL DirList_DeleteItem(HWND,LPARAM);
  85.  
  86.  
  87. //==== DlSort() ===============================================================
  88.  
  89. #define DS_NAME     0
  90. #define DS_SIZE     1
  91. #define DS_TYPE     2
  92. #define DS_LASTMOD  3
  93.  
  94. BOOL DirList_Sort(HWND,int,BOOL);
  95.  
  96.  
  97. //==== DlGetItem() ============================================================
  98.  
  99. #define DLE_NONE 0
  100. #define DLE_DIR  1
  101. #define DLE_FILE 2
  102.  
  103. #define DLI_FILENAME 1
  104. #define DLI_DISPNAME 2
  105. #define DLI_TYPE     4
  106. #define DLI_ALL (1|2|4)
  107.  
  108. typedef struct tagDLITEM // dli
  109. {
  110.  
  111.   UINT mask;
  112.   char szFileName[MAX_PATH];
  113.   char szDisplayName[MAX_PATH];
  114.   int  ntype;
  115.  
  116. } DLITEM, *LPDLITEM;
  117.  
  118. DirList_GetItem(HWND,int,LPDLITEM);
  119.  
  120.  
  121. //==== DlGetItemEx() ==========================================================
  122.  
  123. int DirList_GetItemEx(HWND,int,LPWIN32_FIND_DATA);
  124.  
  125.  
  126. //==== DlPropertyDlg() ========================================================
  127.  
  128. BOOL DirList_PropertyDlg(HWND,int);
  129.  
  130.  
  131. //==== DlDoDragDrop() =========================================================
  132.  
  133. void DirList_DoDragDrop(HWND,LPARAM);
  134.  
  135. //==== DlGetLongPathName() ====================================================
  136.  
  137. BOOL DirList_GetLongPathName(HWND,LPSTR);
  138.  
  139. //==== DlSelectItem() =========================================================
  140.  
  141. BOOL DirList_SelectItem(HWND,LPCSTR,LPCSTR);
  142.  
  143. //==== DlCreateFilter() and DlMatchFilter() ===================================
  144.  
  145. #define DL_FILTER_BUFSIZE 128
  146.  
  147. typedef struct tagDL_FILTER { //dlf
  148.   int   nCount;
  149.   char  tFilterBuf[DL_FILTER_BUFSIZE];
  150.   char  *pFilter  [DL_FILTER_BUFSIZE];
  151.   BOOL  bExcludeFilter;
  152. } DL_FILTER, *PDL_FILTER;
  153.  
  154. void DirList_CreateFilter(PDL_FILTER,LPCSTR,BOOL);
  155.  
  156. BOOL DirList_MatchFilter(LPSHELLFOLDER,LPCITEMIDLIST,PDL_FILTER);
  157.  
  158.  
  159.  
  160. //==== DriveBox ===============================================================
  161.  
  162. BOOL DriveBox_Init(HWND);
  163. int  DriveBox_Fill(HWND);
  164. BOOL DriveBox_GetSelDrive(HWND,LPSTR,int,BOOL);
  165. BOOL DriveBox_SelectDrive(HWND,LPCSTR);
  166. BOOL DriveBox_PropertyDlg(HWND);
  167.  
  168. LRESULT DriveBox_DeleteItem(HWND,LPARAM);
  169. LRESULT DriveBox_GetDispInfo(HWND,LPARAM);
  170.  
  171.  
  172.  
  173. //==== ItemID =================================================================
  174.  
  175. //==== IL_Next() ==============================================================
  176. #define _IL_Next(pidl) ((LPITEMIDLIST)(((LPBYTE)(pidl)) + pidl->mkid.cb))
  177.  
  178. //==== IL_Create() ============================================================
  179. LPITEMIDLIST IL_Create(LPMALLOC,
  180.                        LPCITEMIDLIST,UINT,
  181.                        LPCITEMIDLIST,UINT);
  182.  
  183. //==== IL_GetSize() ===========================================================
  184. UINT IL_GetSize(LPCITEMIDLIST);
  185.  
  186. //==== IL_GetDisplayName() ====================================================
  187. BOOL IL_GetDisplayName(LPSHELLFOLDER,
  188.                        LPCITEMIDLIST,
  189.                        DWORD,LPSTR,int);
  190.  
  191.  
  192.  
  193.  
  194. #ifdef __cplusplus
  195. }
  196. #endif //__cplusplus
  197.  
  198.  
  199. #endif // _DLAPI_H_
  200.  
  201.  
  202. ///   End of Dlapi.h   \\\
  203.