123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234 |
- {****************************************************************************
- This file is part of the Free Pascal run time library.
- Copyrigth (c) 2003 by Yuri Prokushev ([email protected])
- OS/2 Presentation Manager Workplace functions and types.
- See the file COPYING.FPC, included in this distribution,
- for details about the copyright.
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- ****************************************************************************}
- unit pmwp;
- interface
- uses
- os2def, pmwin;
- //*** Common types *******************************************************/
- type
- HOBJECT=Cardinal;
- //*** Object management calls ********************************************/
- //*** Standard object classes *****************************************/
- const
- CCHMAXCLASS = 3; // Length of a classname
- QC_First = 0; // Codes for OA_QueryContent
- QC_Next = 1;
- QC_Last = 2;
- LOCATION_DESKTOP = PChar($FFFF0001); // Current Desktop
- // use instead of <WP_DESKTOP>
- //*** An object's appearance (icon or bitmap or outline) **************/
- type
- OBJECTIMAGE=record // oimg
- hptrObject: Cardinal;
- end;
- POBJECTIMAGE=^OBJECTIMAGE;
- //*** Class info structure returned by WinEnumObjectClasses ***********/
- type
- POBJCLASS=^OBJCLASS;
- OBJCLASS=record // ocls
- pNext: POBJCLASS; // Null for the last structure..
- pszClassName: PChar; // Class name
- pszModName: PChar; // Module name
- end;
- //*** Workplace object management functions ***************************/
- Function WinRegisterObjectClass(pszClassName,
- pszModName: PChar): Longbool; cdecl;
- external 'PMWP' index 200;
- Function WinDeRegisterObjectClass(pszClassName: PChar): Longbool; cdecl;
- external 'PMWP' index 201;
- Function WinReplaceObjectClass(pszOldClassName,
- pszNewClassName: PChar;
- fReplace: Longbool): Longbool; cdecl;
- external 'PMWP' index 219;
- Function WinEnumObjectClasses(VAR apObjClass: OBJCLASS;
- VAR pulSize: Cardinal): Longbool; cdecl;
- external 'PMWP' index 205;
- Function WinCreateObject(pszClassName,
- pszTitle,
- pszSetupString,
- pszLocation: PChar;
- ulFlags: Cardinal): HObject; cdecl;
- external 'PMWP' index 281;
- const
- CO_FAILIFEXISTS = 0;
- CO_REPLACEIFEXISTS = 1;
- CO_UPDATEIFEXISTS = 2;
- Function WinSetObjectData(aobject: HOBJECT;
- pszSetupString: PChar): Longbool; cdecl;
- external 'PMWP' index 250;
- Function WinDestroyObject(aobject: HOBJECT): Longbool; cdecl;
- external 'PMWP' index 251;
- Function WinQueryObject(pszObjectID: PChar): HObject; cdecl;
- external 'PMWP' index 252;
- Function WinSaveObject(ahObject: HOBJECT;
- fAsync: Longbool): Longbool; cdecl;
- external 'PMWP' index 285;
- Function WinOpenObject(ahObject: HOBJECT;
- ulView: Cardinal;
- Flag: Longbool): Longbool; cdecl;
- external 'PMWP' index 286;
- Function WinMoveObject(hObjectofObject: HOBJECT;
- hObjectofDest: HOBJECT;
- ulReserved: Cardinal): HObject; cdecl;
- external 'PMWP' index 287;
- Function WinCopyObject(hObjectofObject: HOBJECT;
- hObjectofDest: HOBJECT;
- ulReserved: Cardinal): HObject; cdecl;
- external 'PMWP' index 288;
- Function WinCreateShadow(hObjectofObject: HOBJECT;
- hObjectofDest: HOBJECT;
- ulReserved: Cardinal): HObject; cdecl;
- external 'PMWP' index 289;
- Function WinQueryActiveDesktopPathname(pszPathName: PChar;
- ulSize: Cardinal): Longbool; cdecl;
- external 'PMWP' index 262;
- Function WinQueryObjectPath(ahobject: HOBJECT;
- pszPathName: PChar;
- ulSize: Cardinal): Longbool; cdecl;
- external 'PMWP' index 263;
- Function WinRestartWPDServer(fState: Longbool): Cardinal; cdecl;
- external 'PMWP' index 463;
- Function WinIsWPDServerReady: Longbool; cdecl;
- external 'PMWP' index 465;
- Function WinRestartSOMDD(fState: Longbool): Cardinal; cdecl;
- external 'PMWP' index 464;
- Function WinIsSOMDDReady: Longbool; cdecl;
- external 'PMWP' index 480;
- //*** Object settings notebook page insertion structure ******************/
- type
- PAGEINFO=record // pginf
- cb: Cardinal;
- hwndPage: HWnd;
- pfnwp: proc;
- resid: Cardinal;
- pCreateParams: Pointer;
- dlgid: Word;
- usPageStyleFlags: Word;
- usPageInsertFlags: Word;
- usSettingsFlags: Word;
- pszName: PChar;
- idDefaultHelpPanel: Word;
- usReserved2: Word;
- pszHelpLibraryName: PChar;
- pHelpSubtable: ^Word; // PHELPSUBTABLE when PMHELP.H is included
- hmodHelpSubtable: Cardinal;
- ulPageInsertId: Cardinal;
- end;
- PPAGEINFO=^PAGEINFO;
- const
- SETTINGS_PAGE_NUMBERS = $01;
- //*** Utility apis +******************************************************/
- type
- ICONPOS=record // icp
- ptlIcon: POINTL; // Location
- szIdentity: Array[0..1-1] of Char; // Object identity string
- end;
- PICONPOS=^ICONPOS;
- //*********************************************************************/
- Function WinSetFileIcon(pszFileName: PChar;
- var pIcon: ICONINFO): Longbool; cdecl;
- external 'PMWP' index 210;
- Function WinFreeFileIcon(hptr: Cardinal): Longbool; cdecl;
- external 'PMWP' index 216;
- Function WinLoadFileIcon(pszFileName: PChar;
- fPrivate: Longbool): Cardinal; cdecl;
- external 'PMWP' index 209;
- Function WinStoreWindowPos(pszAppName,
- pszKeyName: PChar;
- ahwnd: HWND): Longbool; cdecl;
- external 'PMWP' index 207;
- Function WinRestoreWindowPos(pszAppName,
- pszKeyName: PChar;
- ahwnd: HWND): Longbool; cdecl;
- external 'PMWP' index 208;
- Function WinShutdownSystem(ahab: HAB;
- ahmq: HMQ): Longbool; cdecl;
- external 'PMWP' index 149;
- implementation
- end.
- {
- // Not implemented/not documented APIs
- WinShutdownAndReboot PMWP 152 ?
- WinShutdown PMWP 153 ?
- OldWinCreateObject PMWP 202 ?
- WinRestartWorkplace PMWP 221 ?
- ShlGetUserWordPtr PMWP 224 ?
- WinUnlockSystem PMWP 282 ?
- WinLockupSystem PMWP 283 ?
- WinNotebookButtonFromID PMWP 511 ?
- WinWaitForShell PMWP 512 ?
- }
- {
- // Not founded indexes
- Function WinSetFileIconN(pszFileName: PChar
- pIcnInfo: PICONINFO;
- ulIconIndex: Cardinal): Longbool; cdecl;
- external 'PMWP' index ???;
- Function WinLoadFileIconN(pszFileName: PChar;
- fPrivate: Longbool,
- ulIconIndex: Cardinal): Cardinal; cdecl;
- external 'PMWP' index ???;
- }
|