// Module Header // // Module Name: WPFOLDER // // OS/2 Presentation Manager Workplace class definitions // // Copyright (c) International Business Machines Corporation 1991, 1992 // #ifndef wpfolder_idl #define wpfolder_idl #include "wpfsys.idl" #include interface M_WPFolder; interface WPFolder : WPFileSystem { //# methods originally published with Warp 3 Toolkit IDL file BOOL wpSetFldrFlags(in ULONG ulFlags); ULONG wpQueryFldrFlags(); BOOL wpSetFldrFont(in PSZ pszFont, in ULONG ulView); PSZ wpQueryFldrFont(in ULONG ulView); BOOL wpSetFldrAttr(in ULONG Attr, in ULONG ulView); ULONG wpQueryFldrAttr(in ULONG ulView); BOOL wpSetNextIconPos(in PPOINTL pptl); PPOINTL wpQueryNextIconPos(); BOOL wpPopulate(in ULONG ulReserved, in PSZ pszPath, in BOOL fFoldersOnly); WPObject wpQueryContent(in WPObject Object, in ULONG ulOption); ULONG wpAddFolderView1Page(in HWND hwndNotebook); ULONG wpAddFolderView2Page(in HWND hwndNotebook); ULONG wpAddFolderView3Page(in HWND hwndNotebook); ULONG wpAddFolderIncludePage(in HWND hwndNotebook); ULONG wpAddFolderSortPage(in HWND hwndNotebook); ULONG wpAddFolderBackgroundPage(in HWND hwndNotebook); ULONG wpAddFolderMenu2Page(in HWND hwndNotebook); ULONG wpAddFolderSelfClosePage (in HWND hwndNotebook); BOOL wpInitIconPosData(); void wpFreeIconPosData(); BOOL wpStoreIconPosData(in PICONPOS pIconPos, in ULONG cbSize); BOOL wpQueryIconPosition(in PSZ pszIdentity, in PPOINTL pptl, in PULONG pIndex); BOOL wpSetFldrSort(in PVOID pSortRecord, in ULONG ulView, in ULONG ulType); PVOID wpQueryFldrSort(in ULONG ulView, in ULONG ulType); BOOL wpRestoreFldrRunObjs(); BOOL wpStoreFldrRunObjs(in ULONG ulType); BOOL wpHideFldrRunObjs(in BOOL fHide); ULONG wpDeleteContents(in ULONG fConfirmations); BOOL wpSetFldrDetailsClass(in M_WPObject Class); M_WPObject wpQueryFldrDetailsClass(); BOOL wpSearchFolder(in PSZ pszName, in ULONG ulSearchType, in ULONG ulLen, in PSEARCH_INFO pInfo, in WPFolder ResultFolder); BOOL wpContainsFolders(inout BOOL pfSubFolders); WPObject wpQueryOpenFolders(in ULONG ulOption); BOOL wpModifyFldrFlags(in ULONG ulFlags, in ULONG ulFlagMask); BOOL wpAddToContent(in WPObject Object); BOOL wpDeleteFromContent(in WPObject Object); BOOL wpSetDetailsColumnVisibility(in ULONG index, in BOOL Visible); BOOL wpIsDetailsColumnVisible(in ULONG index); BOOL wpSetFldrSortClass(in M_WPObject Class); M_WPObject wpQueryFldrSortClass(); BOOL wpSetSortAttribAvailable(in ULONG index, in BOOL Available); BOOL wpIsSortAttribAvailable(in ULONG index); CHAR *wpQueryIconViewPos(); WPObject wpAddFirstChild(); BOOL wpFlushNotifications(); BOOL wpSetMenuBarVisibility(in ULONG ulVisibility); ULONG wpQueryMenuBarVisibility(); ULONG wpQueryIconTextBackgroundColor (); VOID wpSetIconTextBackgroundColor (in ULONG ulColor, in BOOL fRefreshViews ); ULONG wpQueryIconTextColor (in ULONG ulView); VOID wpSetIconTextColor (in ULONG ulColor, in ULONG ulView, in BOOL fRefreshViews); ULONG wpQueryShadowTextColor (in ULONG ulView); VOID wpSetShadowTextColor (in ULONG ulColor, in ULONG ulView, in BOOL fRefreshViews); ULONG wpQueryIconTextVisibility (in ULONG ulView); VOID wpSetIconTextVisibility (in ULONG ulOption, in ULONG ulView, in BOOL fRefreshViews); VOID wpQueryFldrBackground (inout PSZ ppszImageFileName, inout ULONG pulImageMode, inout ULONG pulScaleFactor, inout ULONG pulBackgroundType, inout LONG plBackgroundColor); VOID wpSetFldrBackground (in PSZ pszImageFileName, in ULONG ulImageMode, in ULONG ulScaleFactor, in ULONG ulBackgroundType, in LONG lBackgroundColor); //# new non-public Warp 3 methods hacked in for XWorkplace PVOID wpQueryRWMonitorObject(); WPObject wpQueryFldrFilter(); BOOL wpAssertFolderMutexSem(); ULONG wpReleaseFolderMutexSem(); ULONG wpRequestFolderMutexSem(in ULONG ulTimeout); ULONG wpReleaseFindMutexSem(); ULONG wpRequestFindMutexSem(in ULONG ulTimeout); HPOINTER wpQueryIconN(in ULONG ulIndex); ULONG wpQueryIconDataN(in PICONINFO pData, in ULONG ulIndex); BOOL wpSetIconDataN(in PICONINFO pData, in ULONG ulIndex); PVOID wpQueryBkgnd(); // returns an IBMFDRBKGND structure as declared in // include\filesys\folder.h /* * wpRedrawFolderBackground: * apparently gets called when folder background * data has changed and open folder views need * to redraw themselves. */ VOID wpRedrawFolderBackground(); //# The WPS class list shows __get_XXX methods for this class, so //# there must be SOM attributes here. Since however there is no //# correponsing __set_XXX method, I assume the WPS uses readonly //# attributes. readonly attribute WPObject *FirstObj; readonly attribute WPObject *LastObj; #ifdef __SOMIDL__ implementation { releaseorder: wpSetFldrFlags, wpQueryFldrFlags, wpSetFldrFont, wpQueryFldrFont, wpSetNextIconPos, wpQueryNextIconPos, wpPopulate, wpAddToContent, wpQueryContent, wpAddFolderView1Page, wpAddFolderView2Page, wpAddFolderView3Page, wpAddFolderIncludePage, wpAddFolderSortPage, wpAddFolderBackgroundPage, wpInitIconPosData, wpFreeIconPosData, wpQueryIconPosition, wpStoreIconPosData, wpDeleteFromContent, wpSetFldrAttr, wpQueryFldrAttr, wpSetFldrSort, wpQueryFldrSort, wpRestoreFldrRunObjs, wpStoreFldrRunObjs, withdrawn30, withdrawn31, wpDeleteContents, wpQueryOpenFolders, wpSetNextOpenFldr, wpSearchFolder, wpSetFldrDetailsClass, wpQueryFldrDetailsClass, wpRefresh, wpSetDetailsColumnVisibility, wpIsDetailsColumnVisible, wpQuerySortArray, wpSetSortArray, wpQuerySortInfo, wpSetSortInfo, wpSetFldrSortClass, wpQueryFldrSortClass, wpSetSortAttribAvailable, wpIsSortAttribAvailable, wpQueryFldrFilter, wpContainsFolders, wpQueryBkgnd, wpQueryIconViewPos, wpQueryDefaultView, wpAddFirstChild, _get_FirstObj, wpHideFldrRunObjs, wpFSNotifyFolder, wpAddNotification, wpDeleteNotification, wpProcessNotification, wpModifySneakyCount, wpSneakySupported, wpAssertFolderMutexSem, wpReleaseFolderMutexSem, wpRequestFolderMutexSem, wpQueryContentHashTable, wpQueryNextOpenFldr, _get_hmtxOneFindAtATime, wpRequestFindMutexSem, wpReleaseFindMutexSem, _get_hevFillFolder, wpModifyFldrFlags, wpQueryTrueFldrFont, wpRemoveFldrFont, wpRemoveAllFldrInstanceFonts, wpRefreshNotebookPage, wpQueryRWMonitorObject, wpQueryIconTextBackgroundColor, wpSetIconTextBackgroundColor, wpRedrawFolderBackground, wpMakeInstanceBackground, wpUseDefaultBackground, wpQueryIconTextColor, wpSetIconTextColor, wpQueryIconTextVisibility, wpSetIconTextVisibility, wpAddFolderSelfClosePage, wpSetFldrSelfClose, wpQueryFldrSelfClose, _get_retaddrFindSemOwner, wpIsOwnView, wpSetIconDataN, wpSetIconN, wpQueryIconN, wpSetFolderSelfClosePageID, wpQueryFolderSelfClosePageID, wpQueryIconDataN, wpApplyIconPosData #ifndef __NOWARP4METHODS__ , wpAddFolderMenu2Page, wpSetMenuBarVisibility, wpQueryMenuBarVisibility, _get_LastObj, //# Lars Erdmann: I am letting this replace wpFolderPrivate43, however I don't know the exact position of _get_LastObj in the release order list wpFolderPrivate44, wpFolderPrivate45, wpFlushNotifications, wpSetShadowTextColor, wpQueryShadowTextColor, wpSetFldrBackground, wpQueryFldrBackground, wpSetFldrGrid, wpQueryFldrGrid #endif ; externalstem = wpfdr; local; externalprefix = fdr_; majorversion = 1; minorversion = 2; filestem = wpfolder; metaclass = M_WPFolder; callstyle = oidl; dllname = "pmwp.dll"; passthru C_h_after = "" " /* Folder flags */" "" " #define FOI_POPULATEDWITHALL 0x0001" " #define FOI_POPULATEDWITHFOLDERS 0x0002" " #define FOI_WORKAREA 0x0004" " #define FOI_CHANGEFONT 0x0008 /* anti-recursion flag */" " #define FOI_WAMINIMIZED 0x0020" " #define FOI_WASTARTONRESTORE 0x0040" " #define FOI_NOREFRESHVIEWS 0x0080" " #define FOI_ASYNCREFRESHONOPEN 0x0100" " #define FOI_TREEPOPULATED 0x0200" " #define FOI_POPULATEINPROGRESS 0x0400 /*DORM*/" " #define FOI_REFRESHINPROGRESS 0x0800" " #define FOI_FIRSTPOPULATE 0x1000 /* folder has no iconposdata */ //LD62414" " #define FOI_WAMCRINPROGRESS 0x2000 /* Minimize, close, restore in progress ihs67096 */" " #define FOI_CNRBKGNDOLDFORMAT 0x4000 /* CnrBkgnd saved in old format ihs77154 */" " #define FOI_CHANGEICONBGNDCOLOR 0x8000 /* Icon Text Background Color changing ihs79998 */" " #define FOI_CHANGEICONTEXTCOLOR 0x00010000 /* Icon Text Color changing ihs89146 */" " #define FOI_DELETEINPROGRESS 0x00020000 /* To prevent wpFree from repopulating */" "" " #define FOI_CHANGESHADOWTEXTCOLOR 0x00040000" "" " /* Open views for the wpOpen() method */" "" " #define OPEN_TREE 101" " #define OPEN_DETAILS 102" "" " /* State constants for OpenDoc attributes */" "" " #define MENUBAR_ON 1" " #define MENUBAR_OFF 0" " #define MENUBAR_DEFAULT 2" "" " #define TITLEBARICONS_ON 1" " #define TITLEBARICONS_OFF 0" " #define TITLEBARICONS_DEFAULT 2" "" " /* Folder save-restore keys */" "" " #define IDKEY_FDRCONTENTATTR 2900" " #define IDKEY_FDRTREEATTR 2901" " #define IDKEY_FDRCVLFONT 2902" " #define IDKEY_FDRCVNFONT 2903" " #define IDKEY_FDRCVIFONT 2904" " #define IDKEY_FDRTVLFONT 2905" " #define IDKEY_FDRTVNFONT 2906" " #define IDKEY_FDRDETAILSATTR 2907" " #define IDKEY_FDRDVFONT 2908" " #define IDKEY_FDRDETAILSCLASS 2909" " #define IDKEY_FDRICONPOS 2910" " #define IDKEY_FDRINVISCOLUMNS 2914" " #define IDKEY_FDRINCCLASS 2920" " #define IDKEY_FDRINCNAME 2921" " #define IDKEY_FDRFSYSSEARCHINFO 2922" " #define IDKEY_FILTERCONTENT 2923" " #define IDKEY_CNRBACKGROUND 2924" " #define IDKEY_FDRINCCRITERIA 2925" " #define IDKEY_FDRICONVIEWPOS 2926" " #define IDKEY_FDRSORTCLASS 2927" " #define IDKEY_FDRSORTATTRIBS 2928" " #define IDKEY_FDRSORTINFO 2929" " #define IDKEY_FDRSNEAKYCOUNT 2930 /*SNK*/" " #define IDKEY_FDRLONGARRAY 2931" " #define IDKEY_FDRSTRARRAY 2932" " #define IDKEY_FDRCNRBACKGROUND 2933 // This key was only used in" " // internal drivers 8.117-8.139" " #define IDKEY_FDRBKGNDIMAGEFILE 2934" " #define IDKEY_FDRBACKGROUND 2935" " #define IDKEY_FDRSELFCLOSE 2936" "" " #define IDKEY_FDRODMENUBARON 2937" " #define IDKEY_FDRGRIDINFO 2938" " #define IDKEY_FDRTREEVIEWCONTENTS 2939" "" " /* Constant for wpSetIconTextBackgroundColor */" "" " #define USE_GLOBAL_COLOR 0x40000000" "" " /* Constants for wpSetIconTextVisibility and wpQueryIconTextVisibility */" "" " #define ICON_TEXT_VISIBLE 0x00000001" " #define USE_GLOBAL_VISIBILITY 0x40000000" "" " /* Constants for wpSet/QueryBackground and wpSet/QueryLockupBackground */" "" " #define BACKGROUND_NORMAL_IMAGE 0" " #define BACKGROUND_TILED_IMAGE 1" " #define BACKGROUND_SCALED_IMAGE 2" " #define BACKGROUND_COLOR_ONLY 0" " #define BACKGROUND_IMAGE 1" "" " /* Miscellaneous */" "" " #define PPFONTSTRSIZE 20" "" " #define ICONPOSSIZE(pI) ( sizeof(ICONPOS) + strlen(pI->szIdentity) )" " #define PARTIAL_FILLFOLDER_SEM_TIMEOUT 5 /* avoid wasteful */ //LD62414" " /* SEM_INDEFEINTE_WAIT */ //LD62414" " #define GETATTR(View) (View == OPEN_CONTENTS ? _ContentAttr : \ " " (View == OPEN_TREE ? _TreeAttr : _DetailsAttr))" " #define FOLDER_DEFATTRS (CV_ICON | CA_OWNERPAINTBACKGROUND | \ " " CA_MIXEDTARGETEMPH | CA_OWNERDRAW)" " #define FOLDER_DEFTREEATTRS (CV_ICON | CA_OWNERPAINTBACKGROUND | \ " " CV_TREE | CA_TREELINE | CA_OWNERDRAW)" " #define FOLDER_DEFDETAILS (CV_DETAIL | CA_OWNERPAINTBACKGROUND | \ " " CV_MINI | CA_DETAILSVIEWTITLES | CA_MIXEDTARGETEMPH)" " #define FOLDER_DEFSORT NULL" "" " /* wpSearchFolder structures */" " typedef struct _SEARCH_INFO {" " M_WPObject *ClassToBeFound;" " BOOL fSkipExtendedSearchCriteria;" " PVOID pvoidExtendedCriteria;" " } SEARCH_INFO;" " typedef SEARCH_INFO *PSEARCH_INFO;" "" ""; wpInitData: override; wpUnInitData: override; wpFree: override; wpDelete: override; wpConfirmDelete: override; wpSaveState: override; wpRestoreState: override; wpMenuItemSelected: override; wpAddSettingsPages: override; wpOpen: override; wpSetup: override; wpMoveObject: override; wpDrop: override; wpDragOver: override; wpMenuItemHelpSelected: override; wpAddFile3Page: override; wpAddFile2Page: override; wpFormatDragItem: override; wpRender: override; wpRefresh: override; wpQueryDefaultView: override; wpRenderComplete: override; wpAddFileMenuPage: override; wpQueryDefaultHelp: override; wpObjectReady: override; wpAddObjectWindowPage: override; wpModifyMenu: override; wpFilterMenu: override; wpDisplayMenu: override; somDefaultInit: override; somDestruct: override; wpSetIconData: override; }; #endif /* __SOMIDL__ */ }; interface M_WPFolder : M_WPFileSystem { ULONG wpclsQueryIconDataN( inout ICONINFO pIconInfo, in ULONG ulIconIndex ); HPOINTER wpclsQueryIconN( in ULONG ulIconIndex ); WPFolder wpclsQueryOpenFolders(in WPFolder Folder, in ULONG ulOption, in BOOL fLock); //# new non-public Warp 3 methods hacked in for XWorkplace BOOL wpclsGetNotifySem(in ULONG ulTimeout); VOID wpclsReleaseNotifySem(); //# no new class methods for Warp 4 #ifdef __SOMIDL__ implementation { releaseorder: wpclsGetNotifySem, wpclsReleaseNotifySem, wpclsQueryOpenFolders, wpclsQueryContainerFont, wpclsQueryIconDataN, wpclsQueryIconN; externalstem = wpfdr; local; externalprefix = fdrM_; majorversion = 1; minorversion = 2; filestem = wpfolder; callstyle = oidl; dllname = "pmwp.dll"; wpclsInitData: override; wpclsQueryDefaultView: override; wpclsQueryTitle: override; wpclsQueryIconData: override; wpclsQueryStyle: override; wpclsQueryDefaultHelp: override; wpclsQuerySettingsPageSize: override; }; #endif /* __SOMIDL__ */ }; #endif /* wpfolder_idl */