home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / odtlktv4.zip / ODTLKT / TOOLKIT / IDL / WPFOLDER.IDL < prev    next >
Text File  |  1995-12-04  |  12KB  |  348 lines

  1.  
  2. //  Module Header
  3. //
  4. //  Module Name: WPFOLDER
  5. //
  6. //  OS/2 Presentation Manager Workplace class definitions
  7. //
  8. //  Copyright (c) International Business Machines Corporation 1991, 1992
  9. //
  10.  
  11. #ifndef wpfolder_idl
  12. #define wpfolder_idl
  13.  
  14. #include "wpfsys.idl"
  15. #include <somcls.idl>
  16.  
  17. interface M_WPFolder;
  18.  
  19. interface WPFolder : WPFileSystem
  20. {
  21.  
  22.   BOOL wpSetFldrFlags(in ULONG ulFlags);
  23.  
  24.   ULONG wpQueryFldrFlags();
  25.  
  26.   BOOL wpSetFldrFont(in PSZ pszFont,
  27.              in ULONG ulView);
  28.  
  29.   PSZ wpQueryFldrFont(in ULONG ulView);
  30.  
  31.   BOOL wpSetFldrAttr(in ULONG Attr,
  32.              in ULONG ulView);
  33.  
  34.   ULONG wpQueryFldrAttr(in ULONG ulView);
  35.  
  36.   BOOL wpSetNextIconPos(in PPOINTL pptl);
  37.  
  38.   PPOINTL wpQueryNextIconPos();
  39.  
  40.   BOOL wpPopulate(in ULONG ulReserved,
  41.           in PSZ pszPath,
  42.           in BOOL fFoldersOnly);
  43.  
  44.   WPObject wpQueryContent(in WPObject Object,
  45.               in ULONG ulOption);
  46.  
  47.   ULONG wpAddFolderView1Page(in HWND hwndNotebook);
  48.  
  49.   ULONG wpAddFolderView2Page(in HWND hwndNotebook);
  50.  
  51.   ULONG wpAddFolderView3Page(in HWND hwndNotebook);
  52.  
  53.   ULONG wpAddFolderIncludePage(in HWND hwndNotebook);
  54.  
  55.   ULONG wpAddFolderSortPage(in HWND hwndNotebook);
  56.  
  57.   ULONG wpAddFolderBackgroundPage(in HWND hwndNotebook);
  58.  
  59.   ULONG wpAddFolderSelfClosePage (in HWND hwndNotebook);
  60.  
  61.   BOOL wpInitIconPosData();
  62.  
  63.   void wpFreeIconPosData();
  64.  
  65.   BOOL wpStoreIconPosData(in PICONPOS pIconPos,
  66.               in ULONG cbSize);
  67.  
  68.   BOOL wpQueryIconPosition(in PSZ pszIdentity,
  69.                in PPOINTL pptl,
  70.                in PULONG pIndex);
  71.  
  72.   BOOL wpSetFldrSort(in PVOID pSortRecord,
  73.              in ULONG ulView,
  74.              in ULONG ulType);
  75.  
  76.   PVOID wpQueryFldrSort(in ULONG ulView,
  77.             in ULONG ulType);
  78.  
  79.   BOOL wpRestoreFldrRunObjs();
  80.  
  81.   BOOL wpStoreFldrRunObjs(in ULONG ulType);
  82.  
  83.   BOOL wpHideFldrRunObjs(in BOOL fHide);
  84.  
  85.   ULONG wpDeleteContents(in ULONG fConfirmations);
  86.  
  87.   BOOL wpSetFldrDetailsClass(in M_WPObject Class);
  88.  
  89.   M_WPObject wpQueryFldrDetailsClass();
  90.  
  91.   BOOL wpSearchFolder(in PSZ pszName,
  92.               in ULONG ulSearchType,
  93.               in ULONG ulLen,
  94.               in PSEARCH_INFO pInfo,
  95.               in WPFolder ResultFolder);
  96.  
  97.   BOOL wpContainsFolders(inout BOOL pfSubFolders);
  98.  
  99.   WPObject wpQueryOpenFolders(in ULONG ulOption);
  100.  
  101.   BOOL wpModifyFldrFlags(in ULONG ulFlags,
  102.              in ULONG ulFlagMask);
  103.  
  104.   BOOL wpAddToContent(in WPObject Object);
  105.  
  106.   BOOL wpDeleteFromContent(in WPObject Object);
  107.  
  108.   BOOL wpSetDetailsColumnVisibility(in ULONG index,
  109.                     in BOOL Visible);
  110.  
  111.   BOOL wpIsDetailsColumnVisible(in ULONG index);
  112.  
  113.   BOOL wpSetFldrSortClass(in M_WPObject Class);
  114.  
  115.   M_WPObject wpQueryFldrSortClass();
  116.  
  117.   BOOL wpSetSortAttribAvailable(in ULONG index,
  118.                 in BOOL Available);
  119.  
  120.   BOOL wpIsSortAttribAvailable(in ULONG index);
  121.  
  122.   CHAR *wpQueryIconViewPos();
  123.  
  124.   WPObject wpAddFirstChild();
  125.  
  126.   BOOL wpFlushNotifications();
  127.  
  128.  
  129. #ifdef __SOMIDL__
  130.   implementation {
  131.  
  132.     releaseorder: wpSetFldrFlags,wpQueryFldrFlags,wpSetFldrFont,wpQueryFldrFont,
  133.           wpSetNextIconPos,wpQueryNextIconPos,wpPopulate,wpAddToContent,
  134.           wpQueryContent,wpAddFolderView1Page,wpAddFolderView2Page,
  135.           wpAddFolderView3Page,wpAddFolderIncludePage,wpAddFolderSortPage,
  136.           wpAddFolderBackgroundPage,wpInitIconPosData,wpFreeIconPosData,
  137.           wpQueryIconPosition,wpStoreIconPosData,wpDeleteFromContent,
  138.           wpSetFldrAttr,wpQueryFldrAttr,wpSetFldrSort,wpQueryFldrSort,
  139.           wpRestoreFldrRunObjs,wpStoreFldrRunObjs,withdrawn30,
  140.           withdrawn31,wpDeleteContents,wpQueryOpenFolders,
  141.           wpSetNextOpenFldr,wpSearchFolder,wpSetFldrDetailsClass,
  142.           wpQueryFldrDetailsClass,wpRefresh,wpSetDetailsColumnVisibility,
  143.           wpIsDetailsColumnVisible,wpQuerySortArray,wpSetSortArray,
  144.           wpQuerySortInfo,wpSetSortInfo,wpSetFldrSortClass,
  145.           wpQueryFldrSortClass,wpSetSortAttribAvailable,wpIsSortAttribAvailable,
  146.           wpQueryFldrFilter,wpContainsFolders,wpQueryBkgnd,
  147.           wpQueryIconViewPos,wpQueryDefaultView,wpAddFirstChild,
  148.           _get_FirstObj,wpHideFldrRunObjs,wpFSNotifyFolder,
  149.           wpAddNotification,wpDeleteNotification,wpProcessNotification,
  150.           wpModifySneakyCount,wpSneakySupported,wpAssertFolderMutexSem,
  151.           wpReleaseFolderMutexSem,wpRequestFolderMutexSem,
  152.           wpQueryContentHashTable,wpQueryNextOpenFldr,_get_hmtxOneFindAtATime,
  153.           wpRequestFindMutexSem,wpReleaseFindMutexSem,_get_hevFillFolder,
  154.           wpModifyFldrFlags,wpQueryTrueFldrFont,wpRemoveFldrFont,
  155.           wpRemoveAllFldrInstanceFonts,wpRefreshNotebookPage,
  156.           wpQueryRWMonitorObject,wpQueryIconTextBackgroundColor,
  157.           wpSetIconTextBackgroundColor,
  158.           wpRedrawFolderBackground,wpMakeInstanceBackground,        
  159.           wpUseDefaultBackground,                    
  160.           wpQueryIconTextColor,wpSetIconTextColor,            
  161.           wpQueryIconTextVisibility,                    
  162.           wpSetIconTextVisibility,                    
  163.           wpAddFolderSelfClosePage,                    
  164.           wpSetFldrSelfClose,                        
  165.           wpQueryFldrSelfClose,                     
  166.           _get_retaddrFindSemOwner,                    
  167.           wpIsOwnView,                            
  168.           wpSetIconDataN,wpSetIconN,wpQueryIconN,            
  169.           wpSetFolderSelfClosePageID,                    
  170.           wpQueryFolderSelfClosePageID,                 
  171.           wpQueryIconDataN,                        
  172.           wpApplyIconPosData,
  173.           wpFlushNotifications;                     
  174.  
  175.     externalstem = wpfdr;
  176.     local;
  177.     externalprefix = fdr_;
  178.     majorversion = 1;
  179.     minorversion = 2;
  180.     filestem = wpfolder;
  181.     metaclass = M_WPFolder;
  182.     callstyle = oidl;
  183.     dllname = "pmwp.dll";               
  184.  
  185.     passthru C_h_after =  ""
  186. "      /* Folder flags */"
  187. ""
  188. "      #define FOI_POPULATEDWITHALL      0x0001"
  189. "      #define FOI_POPULATEDWITHFOLDERS  0x0002"
  190. "      #define FOI_WORKAREA              0x0004"
  191. "      #define FOI_CHANGEFONT            0x0008        /* anti-recursion flag */"
  192. "      #define FOI_WAMINIMIZED           0x0020"
  193. "      #define FOI_WASTARTONRESTORE      0x0040"
  194. "      #define FOI_NOREFRESHVIEWS        0x0080"
  195. "      #define FOI_ASYNCREFRESHONOPEN    0x0100"
  196. "      #define FOI_TREEPOPULATED         0x0200"
  197. "      #define FOI_POPULATEINPROGRESS    0x0400                          /*DORM*/"
  198. "      #define FOI_REFRESHINPROGRESS     0x0800"
  199. "      #define FOI_FIRSTPOPULATE         0x1000  /* folder has no iconposdata */ //LD62414"
  200. "      #define FOI_WAMCRINPROGRESS       0x2000  /* Minimize, close, restore in progress ihs67096 */"
  201. "      #define FOI_CNRBKGNDOLDFORMAT     0x4000  /* CnrBkgnd saved in old format   ihs77154 */"
  202. "      #define FOI_CHANGEICONBGNDCOLOR   0x8000  /* Icon Text Background Color changing ihs79998 */"
  203. "      #define FOI_CHANGEICONTEXTCOLOR   0x00010000 /* Icon Text Color changing    ihs89146 */"
  204. "      #define FOI_DELETEINPROGRESS      0x00020000 /* To prevent wpFree from repopulating */" 
  205. ""
  206. "      /* Open views for the wpOpen() method */"
  207. ""
  208. "      #define OPEN_TREE          101"
  209. "      #define OPEN_DETAILS       102"
  210. ""
  211. "      /* Folder save-restore keys */"
  212. ""
  213. "      #define IDKEY_FDRCONTENTATTR     2900"
  214. "      #define IDKEY_FDRTREEATTR        2901"
  215. "      #define IDKEY_FDRCVLFONT         2902"
  216. "      #define IDKEY_FDRCVNFONT         2903"
  217. "      #define IDKEY_FDRCVIFONT         2904"
  218. "      #define IDKEY_FDRTVLFONT         2905"
  219. "      #define IDKEY_FDRTVNFONT         2906"
  220. "      #define IDKEY_FDRDETAILSATTR     2907"
  221. "      #define IDKEY_FDRDVFONT          2908"
  222. "      #define IDKEY_FDRDETAILSCLASS    2909"
  223. "      #define IDKEY_FDRICONPOS         2910"
  224. "      #define IDKEY_FDRINVISCOLUMNS    2914"
  225. "      #define IDKEY_FDRINCCLASS        2920"
  226. "      #define IDKEY_FDRINCNAME         2921"
  227. "      #define IDKEY_FDRFSYSSEARCHINFO  2922"
  228. "      #define IDKEY_FILTERCONTENT      2923"
  229. "      #define IDKEY_CNRBACKGROUND      2924"
  230. "      #define IDKEY_FDRINCCRITERIA     2925"
  231. "      #define IDKEY_FDRICONVIEWPOS     2926"
  232. "      #define IDKEY_FDRSORTCLASS       2927"
  233. "      #define IDKEY_FDRSORTATTRIBS     2928"
  234. "      #define IDKEY_FDRSORTINFO        2929"
  235. "      #define IDKEY_FDRSNEAKYCOUNT     2930                              /*SNK*/"
  236. "      #define IDKEY_FDRLONGARRAY       2931"
  237. "      #define IDKEY_FDRSTRARRAY        2932"
  238. "      #define IDKEY_FDRCNRBACKGROUND   2933  // This key was only used in"      
  239. "                                             // internal drivers 8.117-8.139"   
  240. "      #define IDKEY_FDRBKGNDIMAGEFILE  2934"                                    
  241. "      #define IDKEY_FDRBACKGROUND      2935"                                    
  242. "      #define IDKEY_FDRSELFCLOSE       2936"                                    
  243. ""
  244. "      /* Miscellaneous */"
  245. ""
  246. "      #define PPFONTSTRSIZE 20"
  247. ""
  248. "      #define ICONPOSSIZE(pI) ( sizeof(ICONPOS) + strlen(pI->szIdentity) )"
  249. "      #define PARTIAL_FILLFOLDER_SEM_TIMEOUT 5   /* avoid wasteful       */     //LD62414"
  250. "                                                 /* SEM_INDEFEINTE_WAIT  */     //LD62414"
  251. "      #define GETATTR(View) (View == OPEN_CONTENTS ? _ContentAttr : \ "
  252. "                             (View == OPEN_TREE ? _TreeAttr : _DetailsAttr))"
  253. "      #define FOLDER_DEFATTRS (CV_ICON | CA_OWNERPAINTBACKGROUND     |  \ "
  254. "                               CA_MIXEDTARGETEMPH | CA_OWNERDRAW)"
  255. "      #define FOLDER_DEFTREEATTRS (CV_ICON | CA_OWNERPAINTBACKGROUND |  \ "
  256. "                                   CV_TREE | CA_TREELINE | CA_OWNERDRAW)"
  257. "      #define FOLDER_DEFDETAILS (CV_DETAIL | CA_OWNERPAINTBACKGROUND |  \ "
  258. "                       CV_MINI | CA_DETAILSVIEWTITLES | CA_MIXEDTARGETEMPH)"
  259. "      #define FOLDER_DEFSORT NULL"
  260. ""
  261. "      /* wpSearchFolder structures */"
  262. "       typedef struct _SEARCH_INFO {"
  263. "          M_WPObject *ClassToBeFound;"
  264. "          BOOL   fSkipExtendedSearchCriteria;"
  265. "          PVOID  pvoidExtendedCriteria;"
  266. "       } SEARCH_INFO;"
  267. "       typedef SEARCH_INFO *PSEARCH_INFO;"
  268. ""
  269. "";
  270.  
  271.  
  272.     wpInitData: override;
  273.     wpUnInitData: override;
  274.     wpFree: override;
  275.     wpDelete: override;
  276.     wpConfirmDelete: override;
  277.     wpSaveState: override;
  278.     wpRestoreState: override;
  279.     wpMenuItemSelected: override;
  280.     wpModifyPopupMenu: override;
  281.     wpAddSettingsPages: override;
  282.     wpOpen: override;
  283.     wpSetup: override;
  284.     wpMoveObject: override;
  285.     wpDrop: override;
  286.     wpDragOver: override;
  287.     wpMenuItemHelpSelected: override;
  288.     wpAddFile3Page: override;
  289.     wpAddFile2Page: override;
  290.     wpFormatDragItem: override;
  291.     wpRender: override;
  292.     wpRefresh: override;
  293.     wpFilterPopupMenu: override;
  294.     wpQueryDefaultView: override;
  295.     wpRenderComplete: override;
  296.     wpQueryDefaultHelp: override;
  297.     wpObjectReady: override;
  298.     wpAddObjectWindowPage: override;   
  299.     somDefaultInit: override;           
  300.     somDestruct: override;           
  301.     wpSetIconData: override;           
  302.  
  303.  
  304.   };
  305. #endif /* __SOMIDL__ */
  306. };
  307.  
  308. interface M_WPFolder : M_WPFileSystem
  309. {
  310.   ULONG wpclsQueryIconDataN( inout ICONINFO pIconInfo, in ULONG ulIconIndex ); 
  311.  
  312.   HPOINTER wpclsQueryIconN( in ULONG ulIconIndex );        
  313.  
  314.   WPFolder wpclsQueryOpenFolders(in WPFolder Folder,
  315.                  in ULONG ulOption,
  316.                  in BOOL fLock);
  317.  
  318.  
  319. #ifdef __SOMIDL__
  320.   implementation {
  321.  
  322.     releaseorder: wpclsGetNotifySem,wpclsReleaseNotifySem,wpclsQueryOpenFolders,
  323.           wpclsQueryContainerFont,
  324.           wpclsQueryIconDataN,wpclsQueryIconN;                
  325.  
  326.     externalstem = wpfdr;
  327.     local;
  328.     externalprefix = fdrM_;
  329.     majorversion = 1;
  330.     minorversion = 2;
  331.     filestem = wpfolder;
  332.     callstyle = oidl;
  333.     dllname = "pmwp.dll";               
  334.  
  335.     wpclsInitData: override;
  336.     wpclsQueryDefaultView: override;
  337.     wpclsQueryTitle: override;
  338.     wpclsQueryIconData: override;
  339.     wpclsQueryStyle: override;
  340.     wpclsQueryDefaultHelp: override;
  341.  
  342.  
  343.   };
  344. #endif /* __SOMIDL__ */
  345. };
  346.  
  347. #endif    /* wpfolder_idl */
  348.