home *** CD-ROM | disk | FTP | other *** search
-
- //# This file was generated by the SOM Compiler.
- //# FileName: wpobject.id2.
- //# Generated using:
- //# SOM Precompiler somopc: 2.2
- //# SOM Emitter emitidl: 2.7
-
- // Module Header
- //
- // Module Name: WPOBJECT
- //
- // OS/2 Presentation Manager Workplace class definitions
- //
- // Copyright (c) International Business Machines Corporation 1991, 1992
- //
-
- #ifndef wpobject_idl
- #define wpobject_idl
-
- #include <somobj.idl>
- #include <somcls.idl>
-
- interface WPFolder;
- interface M_WPObject;
- interface M_WPObject;
-
- #include "wptypes.idl"
-
- interface WPObject : SOMObject
-
- {
- ULONG wpAddObjectGeneralPage(in HWND hwndNotebook);
-
- ULONG wpAddObjectWindowPage(in HWND hwndNotebook);
-
- BOOL wpAddSettingsPages(in HWND hwndNotebook);
-
- BOOL wpAddToObjUseList(in PUSEITEM pUseItem);
-
- PBYTE wpAllocMem(in ULONG cbBytes,
- in PULONG prc);
-
- BOOL32 wpAppendObject(in WPObject targetObject,
- in BOOL32 fMove);
-
- BOOL wpAssertObjectMutexSem();
-
- BOOL wpClose();
-
- PMINIRECORDCORE wpCnrInsertObject(in HWND hwndCnr,
- in PPOINTL pptlIcon,
- in PMINIRECORDCORE preccParent,
- in PRECORDINSERT pRecInsert);
-
- BOOL wpCnrRemoveObject(in HWND hwndCnr);
-
- BOOL wpCnrSetEmphasis(in ULONG ulEmphasisAttr,
- in BOOL fTurnOn);
-
- ULONG wpConfirmDelete(in ULONG fConfirmations);
-
- ULONG wpConfirmObjectTitle(in WPFolder Folder,
- inout WPObject ppDuplicate,
- in PSZ pszTitle,
- in ULONG cbTitle,
- in ULONG menuID);
-
-
- void wpCopiedFromTemplate();
-
- WPObject wpCopyObject(in WPFolder Folder,
- in BOOL fLock);
-
- WPObject wpCreateAnother(in PSZ pszTitle,
- in PSZ pszSetupEnv,
- in WPFolder Folder);
-
- WPObject wpCreateFromTemplate(in WPFolder folder,
- in BOOL fLock);
-
- WPObject wpCreateShadowObject(in WPFolder Folder,
- in BOOL fLock);
-
- ULONG wpDelete(in ULONG fConfirmations);
-
- BOOL wpDeleteFromObjUseList(in PUSEITEM pUseItem);
-
- BOOL wpDisplayHelp(in ULONG HelpPanelId,
- in PSZ HelpLibrary);
-
- BOOL wpDoesObjectMatch(in PVOID pvoidExtendedCriteria);
-
- MRESULT wpDraggedOverObject(in WPObject DraggedOverObject);
-
- MRESULT wpDragOver(in HWND hwndCnr,
- in PDRAGINFO pdrgInfo);
-
- MRESULT wpDrop(in HWND hwndCnr,
- in PDRAGINFO pdrgInfo,
- in PDRAGITEM pdrgItem);
-
- BOOL wpDroppedOnObject(in WPObject DroppedOnObject);
-
- MRESULT wpEndConversation(in ULONG ulItemID,
- in ULONG flResult);
-
- ULONG wpFilterPopupMenu(in ULONG ulFlags,
- in HWND hwndCnr,
- in BOOL fMultiSelect);
-
- PUSEITEM wpFindUseItem(in ULONG type,
- in PUSEITEM pCurrentItem);
-
- BOOL wpFormatDragItem(in PDRAGITEM pdrgItem);
-
- BOOL wpFree();
-
- BOOL wpFreeMem(in PBYTE pByte);
-
- BOOL wpHide();
-
- void wpInitData();
-
- BOOL wpInsertPopupMenuItems(in HWND hwndMenu,
- in ULONG iPosition,
- in HMODULE hmod,
- in ULONG MenuID,
- in ULONG SubMenuID);
-
- ULONG wpInsertSettingsPage(in HWND hwndNotebook,
- in PPAGEINFO ppageinfo);
-
- BOOL wpMenuItemHelpSelected(in ULONG MenuId);
-
- BOOL wpMenuItemSelected(in HWND hwndFrame,
- in ULONG ulMenuId);
-
- BOOL wpModifyPopupMenu(in HWND hwndMenu,
- in HWND hwndCnr,
- in ULONG iPosition);
-
- BOOL wpMoveObject(in WPFolder Folder);
-
- HWND wpOpen(in HWND hwndCnr,
- in ULONG ulView,
- in ULONG param);
-
- BOOL wpPrintObject(in PPRINTDEST pPrintDest,
- in ULONG ulReserved);
-
- ULONG wpQueryConcurrentView();
-
- ULONG wpQueryButtonAppearance();
-
- ULONG wpQueryConfirmations();
-
- BOOL wpQueryDefaultHelp(in PULONG pHelpPanelId,
- in PSZ HelpLibrary);
-
- ULONG wpQueryDefaultView();
-
- ULONG wpQueryDetailsData(inout PVOID ppDetailsData,
- in PULONG pcp);
-
- ULONG wpQueryError();
-
- HPOINTER wpQueryIcon();
-
- ULONG wpQueryIconData(in PICONINFO pIconInfo);
-
- ULONG wpQueryMinWindow();
-
- ULONG wpQueryNameClashOptions(in ULONG menuID);
-
- ULONG wpQueryStyle();
-
- BOOL32 wpSetTaskRec(in PTASKREC pNew,
- in PTASKREC pOld);
-
- PTASKREC wpFindTaskRec();
-
- PSZ wpQueryTitle();
-
- BOOL wpRegisterView(in HWND hwndFrame,
- in PSZ pszViewTitle);
-
- ULONG wpReleaseObjectMutexSem();
-
- MRESULT wpRender(in PDRAGTRANSFER pdxfer);
-
- MRESULT wpRenderComplete(in PDRAGTRANSFER pdxfer,
- in ULONG ulResult);
-
- BOOL32 wpReplaceObject(in WPObject targetObject,
- in BOOL32 fMove);
-
- ULONG wpRequestObjectMutexSem(in ULONG ulTimeout);
-
- BOOL wpRestore();
-
- BOOL wpRestoreData(in PSZ pszClass,
- in ULONG ulKey,
- in PBYTE pValue,
- in PULONG pcbValue);
-
- BOOL wpRestoreLong(in PSZ pszClass,
- in ULONG ulKey,
- in PULONG pulValue);
-
- BOOL wpRestoreState(in ULONG ulReserved);
-
- BOOL wpRestoreString(in PSZ pszClass,
- in ULONG ulKey,
- in PSZ pszValue,
- in PULONG pcbValue);
-
- BOOL wpSaveData(in PSZ pszClass,
- in ULONG ulKey,
- in PBYTE pValue,
- in ULONG cbValue);
-
- BOOL wpSaveImmediate();
-
- BOOL wpSaveDeferred();
-
- BOOL wpSaveLong(in PSZ pszClass,
- in ULONG ulKey,
- in ULONG ulValue);
-
- BOOL wpSaveState();
-
- BOOL wpSaveString(in PSZ pszClass,
- in ULONG ulKey,
- in PSZ pszValue);
-
- BOOL wpScanSetupString(in PSZ pszSetupString,
- in PSZ pszKey,
- in PSZ pszValue,
- in PULONG pcbValue);
-
- void wpSetConcurrentView(in ULONG ulCCView); //sahsom2 VOID -> void
-
- void wpSetButtonAppearance(in ULONG ulButtonType); //sahsom2 VOID -> void
-
- BOOL wpSetDefaultHelp(in ULONG HelpPanelId,
- in PSZ HelpLibrary);
-
- BOOL wpSetDefaultView(in ULONG ulView);
-
- BOOL wpSetError(in ULONG ulErrorId);
-
- BOOL wpSetIcon(in HPOINTER hptrNewIcon);
-
- BOOL wpSetIconData(in PICONINFO pIconInfo);
-
- void wpSetMinWindow(in ULONG ulMinWindow); //sahsom2 VOID -> void
-
- BOOL wpSetStyle(in ULONG ulNewStyle);
-
- BOOL wpModifyStyle(in ULONG ulStyleFlags,
- in ULONG ulStyleMask);
-
- BOOL wpSetTitle(in PSZ pszNewTitle);
-
- BOOL wpSetup(in PSZ pszSetupString);
-
- BOOL wpSwitchTo(in ULONG View);
-
- void wpUnInitData();
-
- HWND wpViewObject(in HWND hwndCnr,
- in ULONG ulView,
- in ULONG param);
-
- ULONG wpQueryTrueStyle();
-
- HOBJECT wpQueryHandle();
-
- BOOL wpUnlockObject();
-
-
-
-
- #ifdef __SOMIDL__
- implementation {
-
- releaseorder: wpSetTitle,wpQueryTitle,wpSetStyle,wpQueryStyle,wpSetIcon,
- wpQueryIcon,wpSetContainer,wpQueryContainer,wpSetNextObj,
- wpQueryNextObj,wpSetDefaultView,wpQueryDefaultView,
- wpMakeDormant,wpSaveState,wpBeginSave,wpEndSave,
- wpSaveLong,wpSaveString,wpSaveData,wpAppendSaveData,
- wpRestoreState,wpBeginRestore,wpEndRestore,wpRestoreLong,
- wpRestoreString,wpRestoreData,wpExtractRestoreData,
- wpAllocMem,wpFreeMem,wpAddToObjUseList,wpDeleteFromObjUseList,
- wpFindUseItem,wpSwitchTo,withdrawn1,wpFilterPopupMenu,
- wpModifyPopupMenu,wpMenuItemSelected,wpFormatDragItem,
- wpDrop,wpDragOver,wpRender,wpEndConversation,withdrawn10,
- wpMakeObject,wpDestroyObject,wpFree,wpCopiedFromTemplate,
- wpAddSettingsPages,wpAddObjectGeneralPage,wpDisplayHelp,
- wpMenuItemHelpSelected,wpInsertSettingsPage,wpInsertPopupMenuItems,
- withdrawn5,withdrawn6,withdrawn4,withdrawn3,wpCnrInsertObject,
- wpCnrRemoveObject,wpInitData,wpUnInitData,wpSetup,
- wpScanSetupString,wpSaveImmediate,wpOpen,wpClose,
- wpHide,wpRestore,wpSetIconData,wpQueryIconData,wpQueryIconSaved,
- wpDelete,wpConfirmDelete,withdrawn2,withdrawn11,
- withdrawn7,wpRegisterView,wpIdentify,wpSetDefaultHelp,
- wpQueryDefaultHelp,wpDoesObjectMatch,wpCnrRefreshDetails,
- wpSetError,wpQueryError,wpDraggedOverObject,wpDroppedOnObject,
- wpSetDefaultIconPos,wpQueryDefaultIconPos,wpSetState,
- wpQueryState,wpSetObjectID,wpQueryObjectID,wpIsDeleteable,
- wpQueryHandle,wpSaveDeferred,wpAddObjectWindowPage,
- wpQueryConcurrentView,wpSetConcurrentView,wpQueryMinWindow,
- wpSetMinWindow,wpViewObject,wpQueryButtonAppearance,
- wpSetButtonAppearance,wpQueryConfirmations,wpCnrSetEmphasis,
- wpQueryCoreRecord,wpFindViewItem,wpCreateFromTemplate,
- wpQueryTrueStyle,wpAssertObjectMutexSem,wpReleaseObjectMutexSem,
- wpRequestObjectMutexSem,wpCreateAnother,wpCreateShadowObject,
- wpCopyObject,wpMoveObject,wpLockObject,wpUnlockObject,
- wpIsLocked,wpRenderComplete,wpQueryDetailsData,wpPrintObject,
- wpQueryTaskRec,wpSetTaskRec,wpSnoozeNotify,wpModifyStyle,
- wpSetInsertState,wpFindTaskRec,wpAppendObject,wpReplaceObject,
- wpQueryNameClashOptions,wpConfirmObjectTitle,_get_pobjNext,
- wpQueryContainerFlagPtr,wpAddWindowPosKey,wpDeleteWindowPosKeys,
- wpObjectInsertPreparation,wpCnrDeleteUseItem;
-
- //# Class Modifiers
- externalstem = wpobj;
- local;
- externalprefix = obj_;
- majorversion = 1;
- minorversion = 2;
- filestem = wpobject;
- metaclass = M_WPObject;
- callstyle = oidl;
- dllname = "pmwp.dll"; //sahsom2
-
- passthru C_h = ""
- " #define INCL_WINSTDCNR"
- " #include <pmstddlg.h>"
- ""
- " #ifndef M_WPObject"
- " #define M_WPObject SOMClass"
- " #endif"
- " #ifndef WPObject"
- " #define WPObject SOMAny"
- " #endif"
- ""
- " /* Object style flags (see wpSetStyle) */"
- ""
- " #define OBJSTYLE_NOMOVE 2"
- " #define OBJSTYLE_NOLINK 4"
- " #define OBJSTYLE_NOCOPY 8"
- " #define OBJSTYLE_NOTDEFAULTICON 16"
- " #define OBJSTYLE_TEMPLATE 32"
- " #define OBJSTYLE_NODELETE 64"
- " #define OBJSTYLE_NOPRINT 128"
- " #define OBJSTYLE_NODRAG 256"
- " #define OBJSTYLE_NOTVISIBLE 512"
- " #define OBJSTYLE_NOSETTINGS 1024"
- " #define OBJSTYLE_NORENAME 2048"
- " #define OBJSTYLE_NODROP 4096"
- ""
- " /* Class style flags (see wpclsQueryStyle) */"
- ""
- " #define CLSSTYLE_NEVERMOVE OBJSTYLE_NOMOVE"
- " #define CLSSTYLE_NEVERLINK OBJSTYLE_NOLINK"
- " #define CLSSTYLE_NEVERCOPY OBJSTYLE_NOCOPY"
- " #define CLSSTYLE_NEVERTEMPLATE 16"
- " #define CLSSTYLE_NEVERDELETE OBJSTYLE_NODELETE"
- " #define CLSSTYLE_NEVERPRINT OBJSTYLE_NOPRINT"
- " #define CLSSTYLE_NEVERDRAG OBJSTYLE_NODRAG"
- " #define CLSSTYLE_NEVERVISIBLE OBJSTYLE_NOTVISIBLE"
- " #define CLSSTYLE_NEVERRENAME OBJSTYLE_NORENAME"
- " #define CLSSTYLE_PRIVATE 4096"
- ""
- " /* Flags for the wpFilterPopupMenu() method */"
- ""
- " #define CTXT_CRANOTHER 0x0001 /* Flags for ulFlags */"
- " #define CTXT_NEW CTXT_CRANOTHER"
- " #define CTXT_OPEN 0x0002"
- " #define CTXT_WINDOW 0x0004"
- " #define CTXT_SWITCHTO CTXT_WINDOW"
- " #define CTXT_CLOSE 0x0008"
- " #define CTXT_SETTINGS 0x0010"
- " #define CTXT_PRINT 0x0020"
- " #define CTXT_HELP 0x0040"
- " #define CTXT_DELETE 0x0080"
- " #define CTXT_COPY 0x0100"
- " #define CTXT_MOVE 0x0200"
- " #define CTXT_SHADOW 0x0400"
- " #define CTXT_LINK CTXT_SHADOW"
- " #define CTXT_PROGRAM 0x0800"
- " #define CTXT_ICON 0x001000"
- " #define CTXT_TREE 0x002000"
- " #define CTXT_DETAILS 0x004000"
- " #define CTXT_FIND 0x008000"
- " #define CTXT_SELECT 0x010000"
- " #define CTXT_ARRANGE 0x020000"
- " #define CTXT_SORT 0x040000"
- " #define CTXT_SHUTDOWN 0x080000"
- " #define CTXT_LOCKUP 0x100000"
- " #define CTXT_PALETTE 0x200000"
- " #define CTXT_REFRESH 0x400000"
- ""
- ""
- ""
- " /* common context menu ids */"
- ""
- " #define WPMENUID_USER 0x6500"
- " #define WPMENUID_PRIMARY 0"
- " #define WPMENUID_OPEN 1"
- " #define WPMENUID_HELP 2"
- " #define WPMENUID_PRINT 3"
- " #define WPMENUID_SELECT 4"
- " #define WPMENUID_SORT 5"
- ""
- ""
- " /* Open views for the wpOpen() method */"
- ""
- " #define OPEN_UNKNOWN -1"
- " #define OPEN_DEFAULT 0"
- " #define OPEN_CONTENTS 1"
- " #define OPEN_SETTINGS 2"
- " #define OPEN_HELP 3"
- " #define OPEN_RUNNING 4"
- " #define OPEN_PROMPTDLG 5"
- " #define OPEN_PALETTE 121 /*SPLIT*/"
- " #define OPEN_USER 0x6500"
- ""
- " /* Definitions for the INUSE list that is kept"
- " * for every object via wpAddToObjUseList and"
- " * wpRemoveFromObjUseList methods..."
- " */"
- ""
- " /* This structure is always followed immediately by a type"
- " * dependant struct such as MEMORYITEM,RECORDITEM,VIEWITEM"
- " * or some other user defined structure..."
- " */"
- " typedef struct _USEITEM"
- " {"
- " ULONG type; /* Type of this Item */"
- " struct _USEITEM *pNext; /* Next item in use list */"
- " } USEITEM;"
- " typedef USEITEM *PUSEITEM;"
- ""
- " #define USAGE_MEMORY 1 /* Values of 'type' */"
- " #define USAGE_RECORD 4"
- " #define USAGE_OPENVIEW 5"
- " #define USAGE_LINK 6"
- " #define USAGE_OPENFILE 20"
- ""
- " typedef struct _MEMORYITEM /* USAGE_MEMORY struct */"
- " {"
- " ULONG cbBuffer; /* Number of bytes in memory block */"
- " } MEMORYITEM;"
- " typedef MEMORYITEM *PMEMORYITEM;"
- ""
- " typedef struct _RECORDITEM /* USAGE_RECORD struct */"
- " {"
- " HWND hwndCnr; /* Cnr into which object is inserted */"
- " PMINIRECORDCORE pRecord; /* Record pointer within that cnr */"
- " ULONG ulUser; /* For application use */ "
- " } RECORDITEM;"
- " typedef RECORDITEM *PRECORDITEM;"
- ""
- " #define VIEWSTATE_OPENING 0x0001 /* The view is being opened */"
- " #define VIEWSTATE_OBJECTDELETED 0x0002 /* The object is being deleted */"
- " #define VIEWSTATE_USERHIDDEN 0x0004 /* The view was hidden by user */"
- " #define VIEWSTATE_POPULATING 0x0008 /* The view is populating */"
- ""
- " typedef struct _VIEWITEM /* USAGE_OPENVIEW struct */"
- " {"
- " ULONG view; /* Object view that this represents */"
- " LHANDLE handle; /* Open handle */"
- " ULONG ulViewState; /* View State flags */"
- " HWND hwndCnr; /* System use only (window animation) */"
- " PMINIRECORDCORE pRecord; /* System use only (window animation) */"
- " } VIEWITEM;"
- " typedef VIEWITEM *PVIEWITEM;"
- ""
- " typedef struct _LINKITEM /* USAGE_LINK struct */"
- " {"
- " WPObject *LinkObj; /* The link object */"
- " } LINKITEM;"
- " typedef LINKITEM *PLINKITEM;"
- ""
- " typedef struct _VIEWFILE /* USAGE_OPENFILE struct */"
- " {"
- " ULONG ulMenuId; /* Menu id if association or menu page */"
- " LHANDLE handle; /* Open handle */"
- " HWND hwndCnr; /* System use only (window animation) */"
- " PMINIRECORDCORE pRecord; /* System use only (window animation) */"
- " } VIEWFILE;"
- " typedef VIEWFILE *PVIEWFILE;"
- ""
- " /* Notes: The class name immediately follows the control block. The"
- " * first instance variable control block immediately follows"
- " * this."
- " */"
- " typedef struct _WPSRCLASSBLOCK"
- " {"
- " SHORT ClassNameLength; /* Length of class name, including the"
- " * .. null terminator. This must be a"
- " * .. SHORT and must be at the beginning"
- " * .. of the structure."
- " */"
- " USHORT IVarLength; /* Length of instance variable"
- " * .. information, including the two-"
- " * .. byte null terminator"
- " */"
- " } WPSRCLASSBLOCK;"
- ""
- " /* Persistant storage structures (see wpSaveShort"
- " * and wpRestoreShort etc...)"
- " */"
- ""
- ""
- " /* This control structure does not reside in the dormant state."
- " * It is used only when a persistant data block is"
- " * resident in memory - either when an object is being saved or"
- " * when it is being restored..."
- " */"
- " typedef struct _OBJDATA"
- " {"
- " WPSRCLASSBLOCK *CurrentClass;"
- " WPSRCLASSBLOCK *First;"
- " PUCHAR NextData;"
- " USHORT Length;"
- " } OBJDATA;"
- " typedef OBJDATA *POBJDATA;"
- ""
- " /* wpCnrInsertObject/wpCnrRemoveObject structs"
- " * and macros..."
- " */"
- ""
- " typedef struct _CLASSDETAILS /* Class Details struct */"
- " {"
- " PSZ pszAttribute; /* Translatable string for a class attribute*/"
- " PVOID pSortRecord; /* Function pointer for sort function for attribute*/"
- " struct _CLASSDETAILS *pNext; /* Next item in class details list */"
- " } CLASSDETAILS;"
- " typedef CLASSDETAILS *PCLASSDETAILS;"
- ""
- " /* Macro to return the object associated with a given MINIRECORDCORE"
- " * that was inserted using the wpCnrInsertObject method"
- " */"
- " #define OBJECT_FROM_PREC( prec ) ( (PVOID)( * (((PULONG)prec)-2) ) )"
- ""
- " /* Macro to access the app defineable dword within the RECORDITEM"
- " * structure that is created when an object is put into a list"
- " * control using the wpCnrInsertObject method."
- " */"
- " PULONG EXPENTRY ShlGetUserWordPtr("
- " HWND hwndCnr,"
- " PMINIRECORDCORE prec );"
- ""
- " #define USERWORD_FROM_PREC( hwnd, prec ) \ "
- " ( (ULONG)( *ShlGetUserWordPtr(hwnd,prec) ) )"
- ""
- " /* Details comparison function definition"
- " *"
- " * Param1 PVOID - Pointer to details field value"
- " * Param2 PVOID - Pointer to value to be compared with"
- " *"
- " * Returns LONG - Must be CMP_EQUAL, CMP_GREATER, CMP_LESS"
- " */"
- " typedef LONG (EXPENTRY FNCOMPARE)(PVOID,PVOID);"
- " typedef FNCOMPARE *PFNCOMPARE;"
- ""
- " #define CMP_EQUAL 0"
- " #define CMP_GREATER 1"
- " #define CMP_LESS 2"
- " #define CMP_GREATER_OR_EQUAL 3"
- " #define CMP_LESS_OR_EQUAL 4"
- " #define CMP_NOT_EQUAL 5"
- ""
- " #define NUM_CMP_VALUES 6"
- ""
- " /* Owner draw function definition"
- " *"
- " * Param1 HWND - Handle of window that is being painted"
- " * Param2 PVOID - POWNERITEM structure pointer, see the container"
- " * control programming reference for the meaning"
- " * of the fields in this structure."
- " * Param3 PVOID - Pointer to the comparison value to draw (this"
- " * is NULL, except when this function is painting"
- " * its value into the include criteria dialog"
- " * when it points to Criteria.CompareValue...)"
- " *"
- " * Returns BOOL - TRUE if the field was ownerdrawn, FALSE if the"
- " * container control should do default painting."
- " */"
- " typedef BOOL (EXPENTRY FNOWNDRW)(HWND,PVOID,PVOID);"
- " typedef FNOWNDRW *PFNOWNDRW;"
- ""
- " /* Details comparison criteria structure"
- " */"
- " typedef struct _CRITERIA"
- " {"
- " PVOID pReserved; /* Reserved - MUST be null!!!! */"
- " struct _CRITERIA *pNext;"
- " struct _CRITERIA *pPrev;"
- " ULONG ClassFieldInfoIndex; /* Index of the details field */"
- " ULONG LogicalOperator; /* CRITERIA_AND or CRITERIA_OR */"
- " ULONG ComparisonType; /* CMP_LESS_OR_EQUAL etc... */"
- " ULONG ulLenCompareValue; /* sizeof(ComparisonData) */"
- " CHAR CompareValue[1]; /* Value to be compared with */"
- " } CRITERIA;"
- " typedef CRITERIA *PCRITERIA;"
- ""
- " #define CRITERIA_AND 0"
- " #define CRITERIA_OR 1"
- ""
- " /* ClassCriteria structure: points to a linked list of CRITERIA"
- " * for the given class. ClassCriteria may be linked into a list"
- " * too - and passed to a filter object, or the wpclsFindObjectFirst"
- " * method call..."
- " */"
- " typedef struct _CLASSCRITERIA /*!INC*/"
- " {"
- " struct _CLASSCRITERIA *pNext;"
- " struct _CLASSCRITERIA *pPrev;"
- " M_WPObject *Class; /* Class object */"
- " PCRITERIA pCriteria; /* Linked list of criteria */"
- " WPObject *NotifyObject; /* Owner of the criteria list */"
- " } CLASSCRITERIA;"
- " typedef CLASSCRITERIA *PCLASSCRITERIA;"
- ""
- " /* This structure is passed to a details criteria edit window"
- " * when it is created, so that it knows the current value and"
- " * min/max values for the criteria to be edited."
- " *"
- " * As the user modifies the compare value using the criteria"
- " * edit window, it should update the buffer pointed to by"
- " * 'pCompareValue'."
- " */"
- " typedef struct _EDITCTLINIT /*!INC*/"
- " {"
- " ULONG cb; /* must have length in control data! MindyP */"
- " PVOID pCompareValue; /* Buffer containing the current value */"
- " ULONG ulLenCompareValue; /* Length of pCompareValue buffer */"
- " PVOID pMinCompareValue; /* READ-ONLY parameter, NULL => default */"
- " PVOID pMaxCompareValue; /* READ-ONLY parameter, NULL => default */"
- " } EDITCTLINIT;"
- " typedef EDITCTLINIT *PEDITCTLINIT;"
- ""
- " /* Structure for wpclsQueryDetailsInfo method"
- " *"
- " * CLASSFIELDINFO is identical to the FIELDINFO structure of the"
- " * container control with the following differences:"
- " *"
- " * - The offStruct field from FIELDINFO is reserved."
- " * - The offFieldData and usLenFieldData structure elements have"
- " * been added."
- " * - Compare/Sort/Ownerdraw fields have also been added for the"
- " * convenience of the programmer, so that object details can"
- " * be customized and objects can be found or included by any"
- " * of their displayable object details."
- " *"
- " * For example if the application has the following details data:"
- " *"
- " * typedef struct _SAMPLE {"
- " * CDATE cdate;"
- " * CTIME ctime;"
- " * PSZ psz;"
- " * } SAMPLE;"
- " *"
- " * classfieldinfo[0].offFieldData = FIELDOFFSET(SAMPLE,cdate);"
- " * classfieldinfo[0].ulLenFieldData = FIELDOFFSET(SAMPLE,ctime) -"
- " * FIELDOFFSET(SAMPLE,cdate);"
- " *"
- " * classfieldinfo[1].offFieldData = FIELDOFFSET(SAMPLE,ctime);"
- " * classfieldinfo[1].ulLenFieldData = FIELDOFFSET(SAMPLE,psz) -"
- " * FIELDOFFSET(SAMPLE,ctime);"
- " *"
- " * classfieldinfo[2].offFieldData = FIELDOFFSET(SAMPLE,psz);"
- " * classfieldinfo[2].ulLenFieldData = sizeof(SAMPLE) -"
- " * FIELDOFFSET(SAMPLE,psz);"
- " *"
- " * NOTE: It is essential that the fields be linked in order ex. above"
- " * cdate must be followed by ctime and finally psz."
- " */"
- " typedef struct _CLASSFIELDINFO /*!INC*/"
- " {"
- " /* Details field attributes"
- " */"
- " ULONG cb; /* size of CLASSFIELDINFO struct */"
- " ULONG flData; /* attributes of field's data */"
- " ULONG flTitle; /* attributes of field's title */"
- " PVOID pTitleData; /* title data (default is string) */"
- " /* If CFT_BITMAP, must be HBITMAP */"
- " ULONG ulReserved; /* Reserved */"
- " PVOID pUserData; /* pointer to user data */"
- " struct _CLASSFIELDINFO *pNextFieldInfo; /* pointer to next linked */"
- " /* CLASSFIELDINFO structure*/"
- " ULONG cxWidth; /* width of field in pels */"
- " ULONG offFieldData; /* offset from beginning of */"
- " /* this class's data for this */"
- " /* field. (first field is 0). */"
- " ULONG ulLenFieldData; /* width of data in bytes. */"
- " /* (4 for a pointer). */"
- " PFNOWNDRW pfnOwnerDraw; /* Ownerdraw procedure for detail */"
- " /* column. Can be NULL except if */"
- " /* ownerdraw is being used. */"
- " /* Include/Sort parameters"
- " */"
- " ULONG flCompare; /* Flags: for example, use the */"
- " /* COMPARE_SUPPORTED flag if */"
- " /* your field can be compared */"
- " PFNCOMPARE pfnCompare; /* Comparison function for this */"
- " /* field. Can be NULL unless */"
- " /* ownerdraw is used. */"
- " ULONG DefaultComparison; /* This is the default compare */"
- " /* operator in the include */"
- " /* page criteria dialog. (eg: */"
- " /* CMP_LESS_OR_EQUAL) */"
- " ULONG ulLenCompareValue; /* Maximum length of the compare */"
- " /* data. Can be NULL unless */"
- " /* ownerdraw is used. */"
- " PVOID pDefCompareValue; /* The default value to be used */"
- " /* for comparisons. Can be NULL */"
- " /* unless ownerdraw is used. */"
- " PVOID pMinCompareValue; /* The default value to be used */"
- " /* for comparisons.Can be NULL */"
- " /* unless ownerdraw is used. */"
- " PVOID pMaxCompareValue; /* The default value to be used */"
- " /* for comparisons.Can be NULL */"
- " /* unless ownerdraw is used. */"
- " PSZ pszEditControlClass; /* Window class to be used to edit*/"
- " /* the compare value. Can be */"
- " /* NULL unless ownerdraw is used*/"
- " PFNCOMPARE pfnSort; /* Sort function for this @SM09511*/"
- " /* field. Can be NULL unless */"
- " /* ownerdraw is used. */"
- " } CLASSFIELDINFO;"
- ""
- " typedef CLASSFIELDINFO *PCLASSFIELDINFO;"
- ""
- " #define COMPARE_SUPPORTED 1"
- " #define SORTBY_SUPPORTED 2"
- ""
- " /* Standard notebook size constants */"
- " #define STDNOTEBOOKWIDTH 290"
- " #define STDNOTEBOOKHEIGHT 275"
- ""
- " /* Confirm flags */"
- " #define CONFIRM_DELETE 0x0001"
- " #define CONFIRM_DELETEFOLDER 0x0002"
- " #define CONFIRM_RENAMEFILESWITHEXT 0x0004"
- " #define CONFIRM_KEEPASSOC 0x0008"
- " #define CONFIRM_ACTION 0x0010"
- " #define CONFIRM_PROGRESS 0x0020"
- ""
- " #define OK_DELETE 1"
- " #define NO_DELETE 2"
- " #define CANCEL_DELETE 3"
- ""
- " #define NUM_OBJDETAILS_FIELDS 2 /* number of object details */"
- ""
- " /* Search Type for wpclsQueryExtendedCriteria */"
- ""
- " #define SEARCH_ALL_FOLDERS 1"
- " #define SEARCH_THIS_FOLDER 2"
- " #define SEARCH_THIS_TREE 3"
- ""
- " /* Find method related types and constants */"
- ""
- " typedef WPObject *OBJECT; /* FIND */"
- " typedef OBJECT *POBJECT;"
- " typedef M_WPObject *CLASS;"
- " typedef CLASS *PCLASS;"
- " typedef LHANDLE HFIND;"
- " typedef HFIND *PHFIND;"
- ""
- " /* wpDrop method return code */"
- ""
- " #define RC_DROP_DROPCOMPLETE 2"
- " #define RC_DROP_ITEMCOMPLETE 1"
- " #define RC_DROP_RENDERING 0"
- " #define RC_DROP_ERROR -1"
- ""
- " /*handle for files being tracked by the shell */"
- ""
- " typedef LHANDLE HFS;"
- " #define MAXSZHFS 10 /* size of the translated string */"
- ""
- " #define SETTINGS_PAGE_REMOVED -1"
- ""
- " /* wpSetConcurrentView values */"
- " #define CCVIEW_DEFAULT 0"
- " #define CCVIEW_ON 1"
- " #define CCVIEW_OFF 2"
- ""
- " /* wpSetMinWindow values */"
- " #define MINWIN_DEFAULT 0"
- " #define MINWIN_HIDDEN 1"
- " #define MINWIN_VIEWER 2"
- " #define MINWIN_DESKTOP 3"
- ""
- " /* wpSetButtonAppearance values */"
- " #define HIDEBUTTON 1"
- " #define MINBUTTON 2"
- " #define DEFAULTBUTTON 3"
- ""
- " #define HIDDENMINWINDOW_DEFAULT MINWIN_VIEWER"
- " #define WPFolder SOMAny /* Define WPFolder */"
- ""
- " typedef struct _TASKREC"
- " {"
- " struct _TASKREC *next; /* next in the list of current tasks */"
- " ULONG useCount; /* can be referenced by multiple object*/"
- " PVOID pStdDlg; /* ptr to standard WP task dialog */"
- " WPFolder *folder; /* intended folder for the object */"
- " LONG xOrigin; /* intended position for the object */"
- " LONG yOrigin; /* intended position for the object */"
- " PSZ pszTitle; /* intended name for the object */"
- " ULONG cbTitle; /* length of the name buffer */"
- " PMINIRECORDCORE positionAfterRecord; /* intended sort position */"
- " BOOL fKeepAssociations;"
- " PVOID pReserved; /* reserved - equal null */"
- ""
- " } TASKREC;"
- " typedef TASKREC *PTASKREC;"
- ""
- "/*"
- " * Passthru some stuff to the .h file"
- " */"
- "";
-
-
-
- //# Method Modifiers
- somInit: override;
- somUninit: override;
-
- //# Data Modifiers
-
-
- };
- #endif /* __SOMIDL__ */
- };
-
- interface M_WPObject
- {
- BOOL wpclsCreateDefaultTemplates(in WPObject Folder);
-
- void wpclsInitData();
-
- WPObject wpclsMakeAwake(in PSZ pszTitle,
- in ULONG ulStyle,
- in HPOINTER hptrIcon,
- in POBJDATA pObjData,
- in WPFolder Folder,
- in ULONG ulUser);
-
- WPObject wpclsNew(in PSZ pszTitle,
- in PSZ pszSetupEnv,
- in WPFolder Folder,
- in BOOL fLock);
-
- BOOL wpclsQueryDefaultHelp(in PULONG pHelpPanelId,
- in PSZ pszHelpLibrary);
-
- ULONG wpclsQueryDefaultView();
-
- PCLASSDETAILS wpclsQueryDetails();
-
- ULONG wpclsQueryDetailsInfo(inout PCLASSFIELDINFO ppClassFieldInfo,
- in PULONG pSize);
-
- BOOL wpclsQueryExtendedCriteria(in PSZ pszName,
- in ULONG ulSearchType,
- in PVOID pvoidExtendedCriteria);
-
- WPObject wpclsQueryFolder(in PSZ pszLocation,
- in BOOL fLock);
-
- HPOINTER wpclsQueryIcon();
-
- void wpclsQuerySearchInfo(inout M_WPObject ClassExtended, //sahsom2 VOID -> void
- inout M_WPObject ClassCreate,
- in PULONG pulClassCriteriaSize);
-
- ULONG wpclsQueryStyle();
-
- PSZ wpclsQueryTitle();
-
- void wpclsUnInitData();
-
- BOOL wpclsFindObjectFirst(in PCLASS pClassList,
- in PHFIND phFind,
- in PSZ pszTitle,
- in WPFolder Folder,
- in BOOL fSubfolders,
- in PVOID pExtendedCriteria,
- in POBJECT pBuffer,
- in PULONG pCount);
-
- BOOL wpclsFindObjectNext(in HFIND hFind,
- in POBJECT pBuffer,
- in PULONG pCount);
-
- BOOL wpclsFindObjectEnd(in HFIND hFind);
-
- BOOL wpclsSetError(in ULONG ulErrorId);
-
- ULONG wpclsQueryError();
-
- BOOL wpclsQuerySettingsPageSize(in PSIZEL pSizl);
-
- ULONG wpclsQueryIconData(in PICONINFO pIconInfo);
-
-
- WPObject wpclsQueryObject(in HOBJECT hObject);
-
- ULONG wpclsQueryButtonAppearance();
-
-
-
-
- #ifdef __SOMIDL__
- implementation {
-
- releaseorder: wpclsInitData,wpclsUnInitData,withdrawn8,wpclsMakeAwake,
- wpclsIncUsage,wpclsDecUsage,wpclsQueryTitle,wpclsQueryIcon,
- wpclsQueryDefaultHelp,wpclsQueryStyle,wpclsQueryDetailsInfo,
- wpclsQueryDefaultView,wpclsQueryDetails,wpclsQuerySearchInfo,
- wpclsQueryExtendedCriteria,wpclsCreateDefaultTemplates,
- withdrawn9,wpclsFindObjectFirst,wpclsFindObjectNext,
- wpclsFindObjectEnd,wpclsFindObjects,wpclsSetError,
- wpclsQueryError,wpclsQuerySettingsPageSize,wpclsSetSettingsPageSize,
- wpclsQueryIconData,wpclsSetIcon,wpclsSetIconData,
- wpclsQueryObject,wpclsObjectFromHandle,wpclsSaveDirtyObjects,
- wpclsLockDirtyList,wpclsUnlockDirtyList,wpclsLockRestartList,
- wpclsUnlockRestartList,wpclsQueryButtonAppearance,
- wpclsNew,wpclsQueryFolder,wpclsLockSleepyList,wpclsUnlockSleepyList,
- wpclsRemoveObjects,wpclsInsertMultipleObjects;
-
- //# Class Modifiers
- externalstem = wpobj;
- local;
- externalprefix = objM_;
- majorversion = 1;
- minorversion = 2;
- filestem = wpobject;
- callstyle = oidl;
- dllname = "pmwp.dll"; /* sahsom2 */
-
-
- //# Method Modifiers
- somUninit: override;
- somInitClass: override;
- somNew: override;
- somRenew: override;
-
- //# Data Modifiers
-
-
- };
- #endif /* __SOMIDL__ */
- };
-
- #endif /* wpobject_idl */
-