home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 10 Tools
/
10-Tools.zip
/
cset21v5.zip
/
TOOLKT21
/
CPLUS
/
OS2H
/
WPFOLDER.XH
< prev
next >
Wrap
Text File
|
1993-05-03
|
19KB
|
644 lines
/*
* This file was generated by the SOM Compiler.
* FileName: wpfolder.xh.
* Generated using:
* SOM Precompiler spc: 1.22
* SOM Emitter emitxh: 1.11
*/
/*
*
* Module Header
*
* Module Name: WPFOLDER
*
* OS/2 Presentation Manager Workplace class definitions
*
* Copyright (c) International Business Machines Corporation 1991, 1992
*
*/
#ifndef wpfolder_xh
#define wpfolder_xh
class WPFolder;
#define WPFolder_MajorVersion 1
#define WPFolder_MinorVersion 2
/*
* Passthru lines: File: "C.xh", "before"
*/
#ifdef WPFolder
#undef WPFolder
class WPFolder;
#endif
/* C++ som defs */
#include <somcls.xh>
/* C++ parent def */
#ifndef wpfsys_xh
#include "wpfsys.xh"
#endif
/*
* Passthru lines: File: "C.xh", "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
/* Open views for the wpOpen() method */
#define OPEN_TREE 101
#define OPEN_DETAILS 102
/* 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
/* 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;
#ifndef WPFolder_API
#define WPFolder_API
/*
* The Class API
*/
/* A procedure to create the WPFolder Class */
SOMEXTERN SOMClass * SOMLINK WPFolderNewClass(
integer4 majorVersion,
integer4 minorVersion);
/* A macro to return the WPFolder class object */
class M_WPFolder;
#define _WPFolder ((M_WPFolder*)WPFolderClassData.classObject)
/* The static interface to WPFolder and its instances */
SOMEXTERN struct WPFolderClassDataStructure {
SOMClass *classObject;
somMToken wpSetFldrFlags;
somMToken wpQueryFldrFlags;
somMToken wpSetFldrFont;
somMToken wpQueryFldrFont;
somMToken wpSetNextIconPos;
somMToken wpQueryNextIconPos;
somMToken wpPopulate;
somMToken wpAddToContent;
somMToken wpQueryContent;
somMToken wpAddFolderView1Page;
somMToken wpAddFolderView2Page;
somMToken wpAddFolderView3Page;
somMToken wpAddFolderIncludePage;
somMToken wpAddFolderSortPage;
somMToken wpAddFolderBackgroundPage;
somMToken wpInitIconPosData;
somMToken wpFreeIconPosData;
somMToken wpQueryIconPosition;
somMToken wpStoreIconPosData;
somMToken wpDeleteFromContent;
somMToken wpSetFldrAttr;
somMToken wpQueryFldrAttr;
somMToken wpSetFldrSort;
somMToken wpQueryFldrSort;
somMToken wpRestoreFldrRunObjs;
somMToken wpStoreFldrRunObjs;
somMToken withdrawn30;
somMToken withdrawn31;
somMToken wpDeleteContents;
somMToken wpQueryOpenFolders;
somMToken wpSetNextOpenFldr;
somMToken wpSearchFolder;
somMToken wpSetFldrDetailsClass;
somMToken wpQueryFldrDetailsClass;
somMToken wpRefresh;
somMToken wpSetDetailsColumnVisibility;
somMToken wpIsDetailsColumnVisible;
somMToken wpQuerySortArray;
somMToken wpSetSortArray;
somMToken wpQuerySortInfo;
somMToken wpSetSortInfo;
somMToken wpSetFldrSortClass;
somMToken wpQueryFldrSortClass;
somMToken wpSetSortAttribAvailable;
somMToken wpIsSortAttribAvailable;
somMToken wpQueryFldrFilter;
somMToken wpContainsFolders;
somMToken wpQueryBkgnd;
somMToken wpQueryIconViewPos;
somMToken wpQueryDefaultView;
somMToken wpAddFirstChild;
somDToken FirstObj;
somMToken wpHideFldrRunObjs;
somMToken wpFSNotifyFolder;
somMToken wpAddNotification;
somMToken wpDeleteNotification;
somMToken wpProcessNotification;
somMToken wpModifySneakyCount;
somMToken wpSneakySupported;
somMToken wpAssertFolderMutexSem;
somMToken wpReleaseFolderMutexSem;
somMToken wpRequestFolderMutexSem;
somMToken wpQueryPopThreadID;
somMToken wpQueryNextOpenFldr;
somDToken hmtxOneFindAtATime;
somMToken wpRequestFindMutexSem;
somMToken wpReleaseFindMutexSem;
somDToken hevFillFolder;
somMToken wpModifyFldrFlags;
} WPFolderClassData;
/*
* -- Typedefs for Procedures that support WPFolder Methods
*/
extern "C" {
typedef BOOL (SOMLINK *somTD_WPFolder_wpSetFldrFlags)(WPFolder *somSelf,ULONG ulFlags);
typedef ULONG (SOMLINK *somTD_WPFolder_wpQueryFldrFlags)(WPFolder *somSelf);
typedef BOOL (SOMLINK *somTD_WPFolder_wpSetFldrFont)(WPFolder *somSelf,PSZ pszFont,ULONG ulView);
typedef PSZ (SOMLINK *somTD_WPFolder_wpQueryFldrFont)(WPFolder *somSelf,ULONG ulView);
typedef BOOL (SOMLINK *somTD_WPFolder_wpSetFldrAttr)(WPFolder *somSelf,ULONG Attr,ULONG ulView);
typedef ULONG (SOMLINK *somTD_WPFolder_wpQueryFldrAttr)(WPFolder *somSelf,ULONG ulView);
typedef BOOL (SOMLINK *somTD_WPFolder_wpSetNextIconPos)(WPFolder *somSelf,PPOINTL pptl);
typedef PPOINTL (SOMLINK *somTD_WPFolder_wpQueryNextIconPos)(WPFolder *somSelf);
typedef BOOL (SOMLINK *somTD_WPFolder_wpPopulate)(WPFolder *somSelf,ULONG ulReserved,PSZ pszPath,BOOL fFoldersOnly);
typedef WPObject * (SOMLINK *somTD_WPFolder_wpQueryContent)(WPFolder *somSelf,WPObject *Object,ULONG ulOption);
typedef ULONG (SOMLINK *somTD_WPFolder_wpAddFolderView1Page)(WPFolder *somSelf,HWND hwndNotebook);
typedef ULONG (SOMLINK *somTD_WPFolder_wpAddFolderView2Page)(WPFolder *somSelf,HWND hwndNotebook);
typedef ULONG (SOMLINK *somTD_WPFolder_wpAddFolderView3Page)(WPFolder *somSelf,HWND hwndNotebook);
typedef ULONG (SOMLINK *somTD_WPFolder_wpAddFolderIncludePage)(WPFolder *somSelf,HWND hwndNotebook);
typedef ULONG (SOMLINK *somTD_WPFolder_wpAddFolderSortPage)(WPFolder *somSelf,HWND hwndNotebook);
typedef ULONG (SOMLINK *somTD_WPFolder_wpAddFolderBackgroundPage)(WPFolder *somSelf,HWND hwndNotebook);
typedef BOOL (SOMLINK *somTD_WPFolder_wpInitIconPosData)(WPFolder *somSelf);
typedef void (SOMLINK *somTD_WPFolder_wpFreeIconPosData)(WPFolder *somSelf);
typedef BOOL (SOMLINK *somTD_WPFolder_wpStoreIconPosData)(WPFolder *somSelf,PICONPOS pIconPos,ULONG cbSize);
typedef BOOL (SOMLINK *somTD_WPFolder_wpQueryIconPosition)(WPFolder *somSelf,PSZ pszIdentity,PPOINTL pptl,PULONG pIndex);
typedef BOOL (SOMLINK *somTD_WPFolder_wpSetFldrSort)(WPFolder *somSelf,PVOID pSortRecord,ULONG ulView,ULONG ulType);
typedef PVOID (SOMLINK *somTD_WPFolder_wpQueryFldrSort)(WPFolder *somSelf,ULONG ulView,ULONG ulType);
typedef BOOL (SOMLINK *somTD_WPFolder_wpRestoreFldrRunObjs)(WPFolder *somSelf);
typedef BOOL (SOMLINK *somTD_WPFolder_wpStoreFldrRunObjs)(WPFolder *somSelf,ULONG ulType);
typedef BOOL (SOMLINK *somTD_WPFolder_wpHideFldrRunObjs)(WPFolder *somSelf,BOOL fHide);
typedef ULONG (SOMLINK *somTD_WPFolder_wpDeleteContents)(WPFolder *somSelf,ULONG fConfirmations);
typedef BOOL (SOMLINK *somTD_WPFolder_wpSetFldrDetailsClass)(WPFolder *somSelf,M_WPObject *Class);
typedef M_WPObject * (SOMLINK *somTD_WPFolder_wpQueryFldrDetailsClass)(WPFolder *somSelf);
typedef BOOL (SOMLINK *somTD_WPFolder_wpSearchFolder)(WPFolder *somSelf,PSZ pszName,ULONG ulSearchType,ULONG ulLen,PSEARCH_INFO pInfo,WPFolder *ResultFolder);
typedef BOOL (SOMLINK *somTD_WPFolder_wpContainsFolders)(WPFolder *somSelf,BOOL *pfSubFolders);
typedef WPObject * (SOMLINK *somTD_WPFolder_wpQueryOpenFolders)(WPFolder *somSelf,ULONG ulOption);
}
#endif /* WPFolder_API */
/*
* -- The C++ Wrapper Class for WPFolder
*/
class WPFolder : public WPFileSystem
{
public:
void *operator new(size_t size)
{
(void) size;
if (!WPFolderClassData.classObject)
WPFolderNewClass(WPFolder_MajorVersion,WPFolder_MinorVersion);
return (void *)
((somTD_SOMClass_somNew)
somResolve(SOM_TestCls((SOMAny *)(WPFolderClassData.classObject),
SOMClassClassData.classObject),
SOMClassClassData.somNew))
((SOMClass*)(WPFolderClassData.classObject));
}
void operator delete(void * obj)
{
((SOMObject *)obj)->somFree();
}
/* public method: wpSetFldrFlags */
BOOL wpSetFldrFlags(ULONG ulFlags)
{
return (BOOL) SOM_Resolve((SOMAny *)this,WPFolder,wpSetFldrFlags)
(this,ulFlags);
}
/* public method: wpQueryFldrFlags */
ULONG wpQueryFldrFlags()
{
return (ULONG) SOM_Resolve((SOMAny *)this,WPFolder,wpQueryFldrFlags)
(this);
}
/* public method: wpSetFldrFont */
BOOL wpSetFldrFont(PSZ pszFont,
ULONG ulView)
{
return (BOOL) SOM_Resolve((SOMAny *)this,WPFolder,wpSetFldrFont)
(this,pszFont,ulView);
}
/* public method: wpQueryFldrFont */
PSZ wpQueryFldrFont(ULONG ulView)
{
return (PSZ) SOM_Resolve((SOMAny *)this,WPFolder,wpQueryFldrFont)
(this,ulView);
}
/* public method: wpSetFldrAttr */
BOOL wpSetFldrAttr(ULONG Attr,
ULONG ulView)
{
return (BOOL) SOM_Resolve((SOMAny *)this,WPFolder,wpSetFldrAttr)
(this,Attr,ulView);
}
/* public method: wpQueryFldrAttr */
ULONG wpQueryFldrAttr(ULONG ulView)
{
return (ULONG) SOM_Resolve((SOMAny *)this,WPFolder,wpQueryFldrAttr)
(this,ulView);
}
/* public method: wpSetNextIconPos */
BOOL wpSetNextIconPos(PPOINTL pptl)
{
return (BOOL) SOM_Resolve((SOMAny *)this,WPFolder,wpSetNextIconPos)
(this,pptl);
}
/* public method: wpQueryNextIconPos */
PPOINTL wpQueryNextIconPos()
{
return (PPOINTL) SOM_Resolve((SOMAny *)this,WPFolder,wpQueryNextIconPos)
(this);
}
/* public method: wpPopulate */
BOOL wpPopulate(ULONG ulReserved,
PSZ pszPath,
BOOL fFoldersOnly)
{
return (BOOL) SOM_Resolve((SOMAny *)this,WPFolder,wpPopulate)
(this,ulReserved,pszPath,fFoldersOnly);
}
/* public method: wpQueryContent */
WPObject * wpQueryContent(WPObject *Object,
ULONG ulOption)
{
return (WPObject*) SOM_Resolve((SOMAny *)this,WPFolder,wpQueryContent)
(this,Object,ulOption);
}
/* public method: wpAddFolderView1Page */
ULONG wpAddFolderView1Page(HWND hwndNotebook)
{
return (ULONG) SOM_Resolve((SOMAny *)this,WPFolder,wpAddFolderView1Page)
(this,hwndNotebook);
}
/* public method: wpAddFolderView2Page */
ULONG wpAddFolderView2Page(HWND hwndNotebook)
{
return (ULONG) SOM_Resolve((SOMAny *)this,WPFolder,wpAddFolderView2Page)
(this,hwndNotebook);
}
/* public method: wpAddFolderView3Page */
ULONG wpAddFolderView3Page(HWND hwndNotebook)
{
return (ULONG) SOM_Resolve((SOMAny *)this,WPFolder,wpAddFolderView3Page)
(this,hwndNotebook);
}
/* public method: wpAddFolderIncludePage */
ULONG wpAddFolderIncludePage(HWND hwndNotebook)
{
return (ULONG) SOM_Resolve((SOMAny *)this,WPFolder,wpAddFolderIncludePage)
(this,hwndNotebook);
}
/* public method: wpAddFolderSortPage */
ULONG wpAddFolderSortPage(HWND hwndNotebook)
{
return (ULONG) SOM_Resolve((SOMAny *)this,WPFolder,wpAddFolderSortPage)
(this,hwndNotebook);
}
/* public method: wpAddFolderBackgroundPage */
ULONG wpAddFolderBackgroundPage(HWND hwndNotebook)
{
return (ULONG) SOM_Resolve((SOMAny *)this,WPFolder,wpAddFolderBackgroundPage)
(this,hwndNotebook);
}
/* public method: wpInitIconPosData */
BOOL wpInitIconPosData()
{
return (BOOL) SOM_Resolve((SOMAny *)this,WPFolder,wpInitIconPosData)
(this);
}
/* public method: wpFreeIconPosData */
void wpFreeIconPosData()
{
SOM_Resolve((SOMAny *)this,WPFolder,wpFreeIconPosData)
(this);
}
/* public method: wpStoreIconPosData */
BOOL wpStoreIconPosData(PICONPOS pIconPos,
ULONG cbSize)
{
return (BOOL) SOM_Resolve((SOMAny *)this,WPFolder,wpStoreIconPosData)
(this,pIconPos,cbSize);
}
/* public method: wpQueryIconPosition */
BOOL wpQueryIconPosition(PSZ pszIdentity,
PPOINTL pptl,
PULONG pIndex)
{
return (BOOL) SOM_Resolve((SOMAny *)this,WPFolder,wpQueryIconPosition)
(this,pszIdentity,pptl,pIndex);
}
/* public method: wpSetFldrSort */
BOOL wpSetFldrSort(PVOID pSortRecord,
ULONG ulView,
ULONG ulType)
{
return (BOOL) SOM_Resolve((SOMAny *)this,WPFolder,wpSetFldrSort)
(this,pSortRecord,ulView,ulType);
}
/* public method: wpQueryFldrSort */
PVOID wpQueryFldrSort(ULONG ulView,
ULONG ulType)
{
return (PVOID) SOM_Resolve((SOMAny *)this,WPFolder,wpQueryFldrSort)
(this,ulView,ulType);
}
/* public method: wpRestoreFldrRunObjs */
BOOL wpRestoreFldrRunObjs()
{
return (BOOL) SOM_Resolve((SOMAny *)this,WPFolder,wpRestoreFldrRunObjs)
(this);
}
/* public method: wpStoreFldrRunObjs */
BOOL wpStoreFldrRunObjs(ULONG ulType)
{
return (BOOL) SOM_Resolve((SOMAny *)this,WPFolder,wpStoreFldrRunObjs)
(this,ulType);
}
/* public method: wpHideFldrRunObjs */
BOOL wpHideFldrRunObjs(BOOL fHide)
{
return (BOOL) SOM_Resolve((SOMAny *)this,WPFolder,wpHideFldrRunObjs)
(this,fHide);
}
/* public method: wpDeleteContents */
ULONG wpDeleteContents(ULONG fConfirmations)
{
return (ULONG) SOM_Resolve((SOMAny *)this,WPFolder,wpDeleteContents)
(this,fConfirmations);
}
/* public method: wpSetFldrDetailsClass */
BOOL wpSetFldrDetailsClass(M_WPObject *Class)
{
return (BOOL) SOM_Resolve((SOMAny *)this,WPFolder,wpSetFldrDetailsClass)
(this,Class);
}
/* public method: wpQueryFldrDetailsClass */
M_WPObject * wpQueryFldrDetailsClass()
{
return (M_WPObject*) SOM_Resolve((SOMAny *)this,WPFolder,wpQueryFldrDetailsClass)
(this);
}
/* public method: wpSearchFolder */
BOOL wpSearchFolder(PSZ pszName,
ULONG ulSearchType,
ULONG ulLen,
PSEARCH_INFO pInfo,
WPFolder *ResultFolder)
{
return (BOOL) SOM_Resolve((SOMAny *)this,WPFolder,wpSearchFolder)
(this,pszName,ulSearchType,ulLen,pInfo,ResultFolder);
}
/* public method: wpContainsFolders */
BOOL wpContainsFolders(BOOL *pfSubFolders)
{
return (BOOL) SOM_Resolve((SOMAny *)this,WPFolder,wpContainsFolders)
(this,pfSubFolders);
}
/* public method: wpQueryOpenFolders */
WPObject * wpQueryOpenFolders(ULONG ulOption)
{
return (WPObject*) SOM_Resolve((SOMAny *)this,WPFolder,wpQueryOpenFolders)
(this,ulOption);
}
}; /* WPFolder */
#endif /* wpfolder_xh */
/*
* This file was generated by the SOM Compiler.
* FileName: wpfolder.xh.
* Generated using:
* SOM Precompiler spc: 1.22
* SOM Emitter emitxh: 1.11
*/
#ifndef wpfolder_mxh
#define wpfolder_mxh
class M_WPFolder;
#define M_WPFolder_MajorVersion 1
#define M_WPFolder_MinorVersion 2
/* C++ som defs */
#include <somcls.xh>
/* C++ parent def */
#ifndef wpfsys_xh
#include "wpfsys.xh"
#endif
#ifndef M_WPFolder_API
#define M_WPFolder_API
/*
* The Class API
*/
/* A procedure to create the M_WPFolder Class */
SOMEXTERN SOMClass * SOMLINK M_WPFolderNewClass(
integer4 majorVersion,
integer4 minorVersion);
/* A macro to return the M_WPFolder class object */
#define _M_WPFolder ((SOMClass*)M_WPFolderClassData.classObject)
/* The static interface to M_WPFolder and its instances */
SOMEXTERN struct M_WPFolderClassDataStructure {
SOMClass *classObject;
somMToken wpclsGetNotifySem;
somMToken wpclsReleaseNotifySem;
somMToken wpclsQueryOpenFolders;
} M_WPFolderClassData;
/*
* -- Typedefs for Procedures that support M_WPFolder Methods
*/
extern "C" {
typedef WPFolder * (SOMLINK *somTD_M_WPFolder_wpclsQueryOpenFolders)(M_WPFolder *somSelf,WPFolder *Folder,ULONG ulOption,BOOL fLock);
}
#endif /* M_WPFolder_API */
/*
* -- The C++ Wrapper Class for M_WPFolder
*/
class M_WPFolder : public M_WPFileSystem
{
public:
void *operator new(size_t size)
{
(void) size;
if (!M_WPFolderClassData.classObject)
M_WPFolderNewClass(M_WPFolder_MajorVersion,M_WPFolder_MinorVersion);
return (void *)
((somTD_SOMClass_somNew)
somResolve(SOM_TestCls((SOMAny *)(M_WPFolderClassData.classObject),
SOMClassClassData.classObject),
SOMClassClassData.somNew))
((SOMClass*)(M_WPFolderClassData.classObject));
}
void operator delete(void * obj)
{
((SOMObject *)obj)->somFree();
}
/* public method: wpclsQueryOpenFolders */
WPFolder * wpclsQueryOpenFolders(WPFolder *Folder,
ULONG ulOption,
BOOL fLock)
{
return (WPFolder*) SOM_Resolve((SOMAny *)this,M_WPFolder,wpclsQueryOpenFolders)
(this,Folder,ulOption,fLock);
}
}; /* M_WPFolder */
#endif /* wpfolder_mxh */