home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / xwplascr.zip / XWPL0208.ZIP / idl / wps / wpfolder.idl < prev    next >
Text File  |  2002-07-28  |  14KB  |  413 lines

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