home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / tolkit45.zip / os2tk45 / idl / wpfolder.idl < prev    next >
Text File  |  1999-03-15  |  16KB  |  454 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 wpAddFolderMenu2Page(in HWND hwndNotebook);
  60.  
  61.   ULONG wpAddFolderSelfClosePage (in HWND hwndNotebook);
  62.  
  63.   BOOL wpInitIconPosData();
  64.  
  65.   void wpFreeIconPosData();
  66.  
  67.   BOOL wpStoreIconPosData(in PICONPOS pIconPos,
  68.                           in ULONG cbSize);
  69.  
  70.   BOOL wpQueryIconPosition(in PSZ pszIdentity,
  71.                            in PPOINTL pptl,
  72.                            in PULONG pIndex);
  73.  
  74.   BOOL wpSetFldrSort(in PVOID pSortRecord,
  75.                      in ULONG ulView,
  76.                      in ULONG ulType);
  77.  
  78.   PVOID wpQueryFldrSort(in ULONG ulView,
  79.                         in ULONG ulType);
  80.  
  81.   BOOL wpRestoreFldrRunObjs();
  82.  
  83.   BOOL wpStoreFldrRunObjs(in ULONG ulType);
  84.  
  85.   BOOL wpHideFldrRunObjs(in BOOL fHide);
  86.  
  87.   ULONG wpDeleteContents(in ULONG fConfirmations);
  88.  
  89.   BOOL wpSetFldrDetailsClass(in M_WPObject Class);
  90.  
  91.   M_WPObject wpQueryFldrDetailsClass();
  92.  
  93.   BOOL wpSearchFolder(in PSZ pszName,
  94.                       in ULONG ulSearchType,
  95.                       in ULONG ulLen,
  96.                       in PSEARCH_INFO pInfo,
  97.                       in WPFolder ResultFolder);
  98.  
  99.   BOOL wpContainsFolders(inout BOOL pfSubFolders);
  100.  
  101.   WPObject wpQueryOpenFolders(in ULONG ulOption);
  102.  
  103.   BOOL wpModifyFldrFlags(in ULONG ulFlags,
  104.                          in ULONG ulFlagMask);
  105.  
  106.   BOOL wpAddToContent(in WPObject Object);
  107.  
  108.   BOOL wpDeleteFromContent(in WPObject Object);
  109.  
  110.   BOOL wpSetDetailsColumnVisibility(in ULONG index,
  111.                                     in BOOL Visible);
  112.  
  113.   BOOL wpIsDetailsColumnVisible(in ULONG index);
  114.  
  115.   BOOL wpSetFldrSortClass(in M_WPObject Class);
  116.  
  117.   M_WPObject wpQueryFldrSortClass();
  118.  
  119.   BOOL wpSetSortAttribAvailable(in ULONG index,
  120.                                 in BOOL Available);
  121.  
  122.   BOOL wpIsSortAttribAvailable(in ULONG index);
  123.  
  124.   CHAR *wpQueryIconViewPos();
  125.  
  126.   WPObject wpAddFirstChild();
  127.  
  128.   BOOL wpFlushNotifications();
  129.  
  130.   BOOL wpSetMenuBarVisibility(in ULONG ulVisibility);
  131.  
  132.   ULONG wpQueryMenuBarVisibility();
  133.  
  134.   ULONG wpQueryIconTextBackgroundColor ();
  135.  
  136.   VOID wpSetIconTextBackgroundColor (in ULONG ulColor, in BOOL fRefreshViews );
  137.  
  138.   ULONG wpQueryIconTextColor (in ULONG ulView);
  139.  
  140.   VOID wpSetIconTextColor (in ULONG ulColor, in ULONG ulView, in BOOL fRefreshViews);
  141.  
  142.   ULONG wpQueryShadowTextColor (in ULONG ulView);
  143.  
  144.   VOID wpSetShadowTextColor (in ULONG ulColor, in ULONG ulView, in BOOL fRefreshViews);
  145.  
  146.   ULONG wpQueryIconTextVisibility (in ULONG ulView);
  147.  
  148.   VOID wpSetIconTextVisibility (in ULONG ulOption, in ULONG ulView, in BOOL fRefreshViews);
  149.  
  150.   VOID wpQueryFldrBackground (inout PSZ ppszImageFileName,
  151.                               inout ULONG pulImageMode,
  152.                               inout ULONG pulScaleFactor,
  153.                               inout ULONG pulBackgroundType,
  154.                               inout LONG plBackgroundColor);
  155.  
  156.   VOID wpSetFldrBackground (in PSZ pszImageFileName,
  157.                             in ULONG ulImageMode,
  158.                             in ULONG ulScaleFactor,
  159.                             in ULONG ulBackgroundType,
  160.                             in LONG lBackgroundColor);
  161.  
  162.  
  163. #ifdef __SOMIDL__
  164.   implementation {
  165.  
  166.     releaseorder: wpSetFldrFlags,wpQueryFldrFlags,wpSetFldrFont,wpQueryFldrFont,
  167.                   wpSetNextIconPos,wpQueryNextIconPos,wpPopulate,wpAddToContent,
  168.                   wpQueryContent,wpAddFolderView1Page,wpAddFolderView2Page,
  169.                   wpAddFolderView3Page,wpAddFolderIncludePage,wpAddFolderSortPage,
  170.                   wpAddFolderBackgroundPage,wpInitIconPosData,wpFreeIconPosData,
  171.                   wpQueryIconPosition,wpStoreIconPosData,wpDeleteFromContent,
  172.                   wpSetFldrAttr,wpQueryFldrAttr,wpSetFldrSort,wpQueryFldrSort,
  173.                   wpRestoreFldrRunObjs,wpStoreFldrRunObjs,withdrawn30,
  174.                   withdrawn31,wpDeleteContents,wpQueryOpenFolders,
  175.                   wpFolderPrivate1,
  176.                   wpSearchFolder,wpSetFldrDetailsClass,
  177.                   wpQueryFldrDetailsClass,wpRefresh,wpSetDetailsColumnVisibility,
  178.                   wpIsDetailsColumnVisible,
  179.                   wpFolderPrivate2,
  180.                   wpFolderPrivate3,
  181.                   wpFolderPrivate4,
  182.                   wpFolderPrivate5,
  183.                   wpSetFldrSortClass,
  184.                   wpQueryFldrSortClass,wpSetSortAttribAvailable,wpIsSortAttribAvailable,
  185.                   wpFolderPrivate6,
  186.                   wpContainsFolders,
  187.                   wpFolderPrivate7,
  188.                   wpQueryIconViewPos,wpQueryDefaultView,wpAddFirstChild,
  189.                   wpFolderPrivate8,
  190.                   wpHideFldrRunObjs,
  191.                   wpFolderPrivate9,
  192.                   wpFolderPrivate10,
  193.                   wpFolderPrivate11,
  194.                   wpFolderPrivate12,
  195.                   wpFolderPrivate13,
  196.                   wpFolderPrivate14,
  197.                   wpFolderPrivate15,
  198.                   wpFolderPrivate16,
  199.                   wpFolderPrivate17,
  200.                   wpFolderPrivate18,
  201.                   wpFolderPrivate19,
  202.                   wpFolderPrivate20,
  203.                   wpFolderPrivate21,
  204.                   wpFolderPrivate22,
  205.                   wpFolderPrivate23,
  206.                   wpModifyFldrFlags,
  207.                   wpFolderPrivate24,
  208.                   wpFolderPrivate25,
  209.                   wpFolderPrivate26,
  210.                   wpFolderPrivate27,
  211.                   wpFolderPrivate28,
  212.                   wpQueryIconTextBackgroundColor,
  213.                   wpSetIconTextBackgroundColor,
  214.                   wpFolderPrivate29,
  215.                   wpFolderPrivate30,
  216.                   wpFolderPrivate31,
  217.                   wpQueryIconTextColor,wpSetIconTextColor,                      
  218.                   wpQueryIconTextVisibility,                                    
  219.                   wpSetIconTextVisibility,                                      
  220.                   wpAddFolderSelfClosePage,                                     
  221.                   wpFolderPrivate32,
  222.                   wpFolderPrivate33,
  223.                   wpFolderPrivate34,
  224.                   wpFolderPrivate35,
  225.                   wpFolderPrivate36,
  226.                   wpFolderPrivate37,
  227.                   wpFolderPrivate38,
  228.                   wpFolderPrivate39,
  229.                   wpFolderPrivate40,
  230.                   wpFolderPrivate41,
  231.                   wpFolderPrivate42,
  232.                   wpAddFolderMenu2Page,                                         
  233.                   wpSetMenuBarVisibility,                                       
  234.                   wpQueryMenuBarVisibility,
  235.                   wpFolderPrivate43,
  236.                   wpFolderPrivate44,
  237.                   wpFolderPrivate45,
  238.                   wpFlushNotifications,                                         
  239.                   wpSetShadowTextColor,wpQueryShadowTextColor,                  
  240.                   wpSetFldrBackground,wpQueryFldrBackground,                    
  241.                   wpSetFldrGrid, wpQueryFldrGrid;                               
  242.  
  243.     externalstem = wpfdr;
  244.     local;
  245.     externalprefix = fdr_;
  246.     majorversion = 1;
  247.     minorversion = 2;
  248.     filestem = wpfolder;
  249.     metaclass = M_WPFolder;
  250.     callstyle = oidl;
  251.     dllname = "pmwp.dll";               
  252.  
  253.     passthru C_h_after =  ""
  254. "      /* Folder flags */"
  255. ""
  256. "      #define FOI_POPULATEDWITHALL      0x0001"
  257. "      #define FOI_POPULATEDWITHFOLDERS  0x0002"
  258. "      #define FOI_WORKAREA              0x0004"
  259. "      #define FOI_CHANGEFONT            0x0008" 
  260. "      #define FOI_WAMINIMIZED           0x0020"
  261. "      #define FOI_WASTARTONRESTORE      0x0040"
  262. "      #define FOI_NOREFRESHVIEWS        0x0080"
  263. "      #define FOI_ASYNCREFRESHONOPEN    0x0100"
  264. "      #define FOI_TREEPOPULATED         0x0200"
  265. "      #define FOI_POPULATEINPROGRESS    0x0400" 
  266. "      #define FOI_REFRESHINPROGRESS     0x0800"
  267. "      #define FOI_FIRSTPOPULATE         0x1000" 
  268. "      #define FOI_WAMCRINPROGRESS       0x2000" 
  269. "      #define FOI_CNRBKGNDOLDFORMAT     0x4000" 
  270. "      #define FOI_CHANGEICONBGNDCOLOR   0x8000" 
  271. "      #define FOI_CHANGEICONTEXTCOLOR   0x00010000" 
  272. "      #define FOI_DELETEINPROGRESS      0x00020000" 
  273. "      #define FOI_CHANGESHADOWTEXTCOLOR 0x00040000" 
  274. ""
  275. "      /* Open views for the wpOpen() method */"
  276. ""
  277. "      #define OPEN_TREE          101"
  278. "      #define OPEN_DETAILS       102"
  279. ""
  280. "      /* State constants for OpenDoc attributes */"
  281. ""
  282. "      #define MENUBAR_ON         1"
  283. "      #define MENUBAR_OFF        0"
  284. "      #define MENUBAR_DEFAULT    2"
  285. ""
  286. "      #define TITLEBARICONS_ON   1"
  287. "      #define TITLEBARICONS_OFF  0"
  288. "      #define TITLEBARICONS_DEFAULT 2"
  289. ""
  290. "      /* Folder save-restore keys */"
  291. ""
  292. "      #define IDKEY_FDRCONTENTATTR     2900"
  293. "      #define IDKEY_FDRTREEATTR        2901"
  294. "      #define IDKEY_FDRCVLFONT         2902"
  295. "      #define IDKEY_FDRCVNFONT         2903"
  296. "      #define IDKEY_FDRCVIFONT         2904"
  297. "      #define IDKEY_FDRTVLFONT         2905"
  298. "      #define IDKEY_FDRTVNFONT         2906"
  299. "      #define IDKEY_FDRDETAILSATTR     2907"
  300. "      #define IDKEY_FDRDVFONT          2908"
  301. "      #define IDKEY_FDRDETAILSCLASS    2909"
  302. "      #define IDKEY_FDRICONPOS         2910"
  303. "      #define IDKEY_FDRINVISCOLUMNS    2914"
  304. "      #define IDKEY_FDRINCCLASS        2920"
  305. "      #define IDKEY_FDRINCNAME         2921"
  306. "      #define IDKEY_FDRFSYSSEARCHINFO  2922"
  307. "      #define IDKEY_FILTERCONTENT      2923"
  308. "      #define IDKEY_CNRBACKGROUND      2924"
  309. "      #define IDKEY_FDRINCCRITERIA     2925"
  310. "      #define IDKEY_FDRICONVIEWPOS     2926"
  311. "      #define IDKEY_FDRSORTCLASS       2927"
  312. "      #define IDKEY_FDRSORTATTRIBS     2928"
  313. "      #define IDKEY_FDRSORTINFO        2929"
  314. "      #define IDKEY_FDRSNEAKYCOUNT     2930" 
  315. "      #define IDKEY_FDRLONGARRAY       2931"
  316. "      #define IDKEY_FDRSTRARRAY        2932"
  317. "      #define IDKEY_FDRCNRBACKGROUND   2933" 
  318.  
  319. "      #define IDKEY_FDRBKGNDIMAGEFILE  2934"                                    
  320. "      #define IDKEY_FDRBACKGROUND      2935"                                    
  321. "      #define IDKEY_FDRSELFCLOSE       2936"                                    
  322. ""
  323. "      #define IDKEY_FDRODMENUBARON     2937"                                    
  324. "      #define IDKEY_FDRGRIDINFO        2938"                                    
  325. "      #define IDKEY_FDRTREEVIEWCONTENTS 2939"                                   
  326. ""
  327. "      /* Constant for wpSetIconTextBackgroundColor */"                         
  328. ""
  329. "      #define USE_GLOBAL_COLOR         0x40000000"                             
  330. ""
  331. "      /* Constants for wpSetIconTextVisibility and wpQueryIconTextVisibility */" 
  332. ""
  333. "      #define ICON_TEXT_VISIBLE        0x00000001"                             
  334. "      #define USE_GLOBAL_VISIBILITY    0x40000000"                             
  335. ""
  336. "      /* Constants for wpSet/QueryBackground and wpSet/QueryLockupBackground */" 
  337. ""
  338. "      #define BACKGROUND_NORMAL_IMAGE 0"                                       
  339. "      #define BACKGROUND_TILED_IMAGE  1"                                       
  340. "      #define BACKGROUND_SCALED_IMAGE 2"                                       
  341. "      #define BACKGROUND_COLOR_ONLY   0"                                       
  342. "      #define BACKGROUND_IMAGE        1"                                       
  343. ""
  344. "      /* Miscellaneous */"
  345. ""
  346. "      #define PPFONTSTRSIZE 20"
  347. ""
  348. "      #define ICONPOSSIZE(pI) ( sizeof(ICONPOS) + strlen(pI->szIdentity) )"
  349. "      #define PARTIAL_FILLFOLDER_SEM_TIMEOUT 5" 
  350. ""                                               
  351. "      #define GETATTR(View) (View == OPEN_CONTENTS ? _ContentAttr : \"
  352. "                             (View == OPEN_TREE ? _TreeAttr : _DetailsAttr))"
  353. "      #define FOLDER_DEFATTRS (CV_ICON | CA_OWNERPAINTBACKGROUND     | \"
  354. "                               CA_MIXEDTARGETEMPH | CA_OWNERDRAW)"
  355. "      #define FOLDER_DEFTREEATTRS (CV_ICON | CA_OWNERPAINTBACKGROUND | \"
  356. "                                   CV_TREE | CA_TREELINE | CA_OWNERDRAW)"
  357. "      #define FOLDER_DEFDETAILS (CV_DETAIL | CA_OWNERPAINTBACKGROUND | \"
  358. "                       CV_MINI | CA_DETAILSVIEWTITLES | CA_MIXEDTARGETEMPH)"
  359. "      #define FOLDER_DEFSORT NULL"
  360. ""
  361. "      /* wpSearchFolder structures */"
  362. "       typedef struct _SEARCH_INFO {"
  363. "          M_WPObject *ClassToBeFound;"
  364. "          BOOL   fSkipExtendedSearchCriteria;"
  365. "          PVOID  pvoidExtendedCriteria;"
  366. "       } SEARCH_INFO;"
  367. "       typedef SEARCH_INFO *PSEARCH_INFO;"
  368. ""
  369. "";
  370.  
  371.  
  372.     wpInitData: override;
  373.     wpUnInitData: override;
  374.     wpFree: override;
  375.     wpDelete: override;
  376.     wpConfirmDelete: override;
  377.     wpSaveState: override;
  378.     wpRestoreState: override;
  379.     wpMenuItemSelected: override;
  380.     wpAddSettingsPages: override;
  381.     wpOpen: override;
  382.     wpSetup: override;
  383.     wpMoveObject: override;
  384.     wpDrop: override;
  385.     wpDragOver: override;
  386.     wpMenuItemHelpSelected: override;
  387.     wpAddFile3Page: override;
  388.     wpAddFile2Page: override;
  389.     wpFormatDragItem: override;
  390.     wpRender: override;
  391.     wpRefresh: override;
  392.     wpQueryDefaultView: override;
  393.     wpRenderComplete: override;
  394.     wpAddFileMenuPage: override;       
  395.     wpQueryDefaultHelp: override;
  396.     wpObjectReady: override;
  397.     wpAddObjectWindowPage: override;   
  398.     wpModifyMenu: override;                                                     
  399.     wpFilterMenu: override;                                                     
  400.     wpDisplayMenu: override;                                                    
  401.     somDefaultInit: override;          
  402.     somDestruct: override;             
  403.     wpSetIconData: override;           
  404.  
  405.  
  406.   };
  407. #endif /* __SOMIDL__ */
  408. };
  409.  
  410. interface M_WPFolder : M_WPFileSystem
  411. {
  412.   ULONG wpclsQueryIconDataN( inout ICONINFO pIconInfo, in ULONG ulIconIndex ); 
  413.  
  414.   HPOINTER wpclsQueryIconN( in ULONG ulIconIndex );             
  415.  
  416.   WPFolder wpclsQueryOpenFolders(in WPFolder Folder,
  417.                                  in ULONG ulOption,
  418.                                  in BOOL fLock);
  419.  
  420.  
  421. #ifdef __SOMIDL__
  422.   implementation {
  423.  
  424.     releaseorder:
  425.                   wpclsFolderPrivate1,
  426.                   wpclsFolderPrivate2,
  427.                   wpclsQueryOpenFolders,
  428.                   wpclsFolderPrivate3,
  429.                   wpclsQueryIconDataN,wpclsQueryIconN;                          
  430.  
  431.     externalstem = wpfdr;
  432.     local;
  433.     externalprefix = fdrM_;
  434.     majorversion = 1;
  435.     minorversion = 2;
  436.     filestem = wpfolder;
  437.     callstyle = oidl;
  438.     dllname = "pmwp.dll";               
  439.  
  440.     wpclsInitData: override;
  441.     wpclsQueryDefaultView: override;
  442.     wpclsQueryTitle: override;
  443.     wpclsQueryIconData: override;
  444.     wpclsQueryStyle: override;
  445.     wpclsQueryDefaultHelp: override;
  446.     wpclsQuerySettingsPageSize: override; 
  447.  
  448.  
  449.   };
  450. #endif /* __SOMIDL__ */
  451. };
  452.  
  453. #endif  /* wpfolder_idl */
  454.