home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 18 REXX / 18-REXX.zip / vptool.zip / vpobj.h < prev    next >
C/C++ Source or Header  |  1994-04-08  |  10KB  |  327 lines

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: vpobj.h.
  5.  * Generated using:
  6.  *     SOM Precompiler spc: 1.22
  7.  *     SOM Emitter emith: 1.11
  8.  */
  9.  
  10. #ifndef vpobj_h
  11. #define vpobj_h
  12.  
  13.  
  14. /*
  15.  * Passthru lines: File: "C.h", "before"
  16.  */
  17.  
  18. #ifndef REXXSAA_INCLUDED
  19. #define INCL_REXXSAA
  20. #include <rexxsaa.h>                   /* needed for RexxStart()     */
  21. #endif
  22.  
  23. #define MAXNUMEVENTS          32
  24.  
  25. #define WM_VPRSETVALUES   WM_USER
  26.  
  27. typedef struct _FORMEVENTSTRUCT {
  28.    ULONG msg;
  29.    PSZ   pszEventName;
  30.    PSZ   pszAbbrevName;
  31.    PSZ   pszModel;
  32.    HPOINTER hptrIcon;
  33. } FORMEVENTSTRUCT;
  34. typedef FORMEVENTSTRUCT *PFORMEVENTSTRUCT;
  35.  
  36. typedef struct _VPEVENTITEM {
  37.   PSZ pszDescName;    /* Descriptive name for the event */
  38.   PSZ pszAbbrevName;  /* abbrev name for the object, ie. 1CLK */
  39.   PSZ pszModel;       /* reserved must be zero */
  40.   ULONG useFlags;     /* reserved must be zero */
  41.   LONG lIconResID;    /* pointer resource id for the event */
  42.   LONG lHelpID;       /* reserved */
  43.   HPOINTER hptrIcon;  /* reserved */
  44. } VPEVENTITEM;
  45. typedef VPEVENTITEM *PVPEVENTITEM;
  46.  
  47. typedef struct _VPLOGICITEM {
  48.   LONG lHelpID;        /* help panel id for the Create Link... item */
  49.   PSZ pszDescName;     /* descriptive name for the REXX extension */
  50.   PSZ pszModel;        /* function call prototype */
  51.   ULONG menuUseFlags;  /* reserved */
  52.   ULONG useFlags;      /* reserved */
  53.   } VPLOGICITEM;
  54. typedef VPLOGICITEM *PVPLOGICITEM;
  55.  
  56. typedef struct _VPCLASSINFO {
  57.    ULONG cbSize;
  58.    PSZ   pszDescName;        /* descriptive name of object              */
  59.    PSZ   pszAbbrevName;      /* abbreviated name for the object, ie. PB */
  60.    BOOL  bHasText;           /* does the object support direct editing  */
  61.    PSZ   pszDefaultText;     /* default text for controls that have it  */
  62.    BOOL  bHasCtrlData;       /* does the object have create data        */
  63.    PSZ   pszWindowClass;     /* WC_* or the registered class name       */
  64.    LONG  lDefaultWidth;      /* default width for a new object          */
  65.    LONG  lDefaultHeight;     /* default height for a new object         */
  66.    ULONG ulDefaultStyle;     /* default window style for a new object   */
  67.    PVOID pDefaultCtrlData;   /* pointer to default control data         */
  68.    HMODULE hModResource;     /* module handle for resource file         */
  69.    LONG  lIconResID;         /* pointer resource id for the object      */
  70.    LONG  lStyleDlgID;        /* style dialog id for the styles page     */
  71.    PFNWP pfnwpStyleDlgProc;  /* address of the dialog style dialog proc */
  72.    LONG  lToolHelpID;        /* id for the tool help                    */
  73.    LONG  lStylesPageHelpID;  /* id for the styles notebook help         */
  74.    HWND  hwndHelpInstance;   /* handle for the help instance            */
  75.    LONG  lNumEvents;         /* number of events defined for this class */
  76.    VPEVENTITEM Events[MAXNUMEVENTS];   /* event table for custom events */
  77.    ULONG usTranslate[MAXNUMEVENTS]; //notification ids for each event wm_control
  78.                              //unused entries hold 0
  79.    PVPLOGICITEM Logic;       /* logic models for linking                */
  80.    HPOINTER hptrIcon;        /* reserved                                */
  81.    HPOINTER hptrMouse;       /* reserved                                */
  82.    ULONG  ulReserved;        /* reserved                                */
  83.    ULONG  ulReserved2;       /* reserved                                */
  84.  
  85.    } VPCLASSINFO;
  86. typedef VPCLASSINFO *PVPCLASSINFO;
  87.  
  88.  
  89. LONG TranslateObjSymbol(HWND hwnd, PSZ pszSymbol);
  90.  
  91.  
  92. #include <som.h>
  93.  
  94. /*
  95.  * Define the class name as an object type
  96.  */
  97. #ifndef VPObj
  98. #define VPObj SOMAny
  99. #endif
  100. #include <somobj.h>
  101.  
  102. #define VPObj_MajorVersion 1
  103. #define VPObj_MinorVersion 1
  104.  
  105. /*
  106.  * External name shortening if required
  107.  */
  108. #ifdef SOM_USE_SHORT_EXTERNAL_NAMES
  109. #define VPObjNewClass c
  110. #pragma linkage(c, system)
  111. #define VPObjClassData d
  112. #define VPObjCClassData x
  113. #endif /* SOM_USE_SHORT_EXTERNAL_NAMES */
  114. /*--------------Migration------------*/
  115. #define VPObj_classObj VPObjClassData.classObject
  116. #define _VPObj VPObj_classObj
  117.  
  118. /*
  119.  * New and Renew macros for VPObj
  120.  */
  121. #define _VPObjNew() (_somNew(VPObjClassData.classObject))
  122. #define VPObjNew() \
  123.     ( VPObjClassData.classObject \
  124.         ? _VPObjNew() \
  125.         : ( VPObjNewClass(VPObj_MajorVersion, VPObj_MinorVersion), _VPObjNew() ) )
  126. #define VPObjRenew(buf) \
  127.     ( _somRenew(VPObjClassData.classObject, buf) )
  128.  
  129. /*
  130.  * New Method: GetHwnd
  131.  */
  132. typedef HWND    SOMLINK somTP_VPObj_GetHwnd(VPObj *somSelf);
  133. #pragma linkage(somTP_VPObj_GetHwnd, system)
  134. typedef somTP_VPObj_GetHwnd *somTD_VPObj_GetHwnd;
  135. #define somMD_VPObj_GetHwnd "----"
  136. #define VPObj_GetHwnd(somSelf) \
  137.     (SOM_Resolve(somSelf, VPObj, GetHwnd) \
  138.     (somSelf))
  139. #define _GetHwnd VPObj_GetHwnd
  140.  
  141. /*
  142.  * New Method: IndicateChanged
  143.  */
  144. typedef VOID    SOMLINK somTP_VPObj_IndicateChanged(VPObj *somSelf);
  145. #pragma linkage(somTP_VPObj_IndicateChanged, system)
  146. typedef somTP_VPObj_IndicateChanged *somTD_VPObj_IndicateChanged;
  147. #define somMD_VPObj_IndicateChanged "----"
  148. #define VPObj_IndicateChanged(somSelf) \
  149.     (SOM_Resolve(somSelf, VPObj, IndicateChanged) \
  150.     (somSelf))
  151. #define _IndicateChanged VPObj_IndicateChanged
  152.  
  153. /*
  154.  * New Method: RedrawObject
  155.  */
  156. typedef VOID    SOMLINK somTP_VPObj_RedrawObject(VPObj *somSelf);
  157. #pragma linkage(somTP_VPObj_RedrawObject, system)
  158. typedef somTP_VPObj_RedrawObject *somTD_VPObj_RedrawObject;
  159. #define somMD_VPObj_RedrawObject "----"
  160. #define VPObj_RedrawObject(somSelf) \
  161.     (SOM_Resolve(somSelf, VPObj, RedrawObject) \
  162.     (somSelf))
  163. #define _RedrawObject VPObj_RedrawObject
  164.  
  165. /*
  166.  * New Method: RecreateObject
  167.  */
  168. typedef VOID    SOMLINK somTP_VPObj_RecreateObject(VPObj *somSelf);
  169. #pragma linkage(somTP_VPObj_RecreateObject, system)
  170. typedef somTP_VPObj_RecreateObject *somTD_VPObj_RecreateObject;
  171. #define somMD_VPObj_RecreateObject "----"
  172. #define VPObj_RecreateObject(somSelf) \
  173.     (SOM_Resolve(somSelf, VPObj, RecreateObject) \
  174.     (somSelf))
  175. #define _RecreateObject VPObj_RecreateObject
  176.  
  177. /*
  178.  * Declare the class creation procedure
  179.  */
  180. SOMEXTERN SOMAny * SOMLINK VPObjNewClass(integer4 scemajorVersion,
  181.         integer4 sceminorVersion);
  182. #pragma linkage(VPObjNewClass, system)
  183.  
  184. /*
  185.  * Declare the class data structure
  186.  */
  187. SOMEXTERN struct VPObjClassDataStructure {
  188.     SOMAny *classObject;
  189.     somMToken pControl;
  190.     somMToken pControlRun;
  191.     somMToken pWndInfo;
  192.     somMToken pRunInfo;
  193.     somMToken GetHwnd;
  194.     somMToken IndicateChanged;
  195.     somMToken SetRuntimeInfo;
  196.     somMToken SetEditorInfo;
  197.     somMToken RedrawObject;
  198.     somMToken RecreateObject;
  199. } VPObjClassData;
  200.  
  201. /*
  202.  * Declare the C specific class data structure
  203.  */
  204. SOMEXTERN struct VPObjCClassDataStructure {
  205.     somMethodTab *parentMtab;
  206.     somDToken instanceDataToken;
  207. } VPObjCClassData;
  208.  
  209. #endif       /* vpobj_h */
  210.  
  211. /*
  212.  * This file was generated by the SOM Compiler.
  213.  * FileName: vpobj.h.
  214.  * Generated using:
  215.  *     SOM Precompiler spc: 1.22
  216.  *     SOM Emitter emith: 1.11
  217.  */
  218.  
  219. #ifndef vpobj_mh
  220. #define vpobj_mh
  221.  
  222.  
  223. /*
  224.  * Define the class name as an object type
  225.  */
  226. #ifndef M_VPObj
  227. #define M_VPObj SOMAny
  228. #endif
  229.  
  230. #define M_VPObj_MajorVersion 1
  231. #define M_VPObj_MinorVersion 1
  232.  
  233. /*
  234.  * External name shortening if required
  235.  */
  236. #ifdef SOM_USE_SHORT_EXTERNAL_NAMES
  237. #define M_VPObjNewClass c
  238. #pragma linkage(c, system)
  239. #define M_VPObjClassData d
  240. #define M_VPObjCClassData x
  241. #endif /* SOM_USE_SHORT_EXTERNAL_NAMES */
  242. /*--------------Migration------------*/
  243. #define M_VPObj_classObj M_VPObjClassData.classObject
  244. #define _M_VPObj M_VPObj_classObj
  245.  
  246. /*
  247.  * New and Renew macros for M_VPObj
  248.  */
  249. #define _M_VPObjNew() (_somNew(M_VPObjClassData.classObject))
  250. #define M_VPObjNew() \
  251.     ( M_VPObjClassData.classObject \
  252.         ? _M_VPObjNew() \
  253.         : ( M_VPObjNewClass(M_VPObj_MajorVersion, M_VPObj_MinorVersion), _M_VPObjNew() ) )
  254. #define M_VPObjRenew(buf) \
  255.     ( _somRenew(M_VPObjClassData.classObject, buf) )
  256.  
  257. /*
  258.  * Override method: somInitClass
  259.  */
  260. #define M_VPObj_somInitClass(somSelf,className,parentClass,instanceSize,maxStaticMethods,majorVersion,minorVersion) \
  261.     SOMClass_somInitClass(somSelf,className,parentClass,instanceSize,maxStaticMethods,majorVersion,minorVersion)
  262.  
  263. /*
  264.  * New Method: InitHelpInstance
  265.  */
  266. typedef HWND    SOMLINK somTP_M_VPObj_InitHelpInstance(M_VPObj *somSelf);
  267. #pragma linkage(somTP_M_VPObj_InitHelpInstance, system)
  268. typedef somTP_M_VPObj_InitHelpInstance *somTD_M_VPObj_InitHelpInstance;
  269. #define somMD_M_VPObj_InitHelpInstance "----"
  270. #define M_VPObj_InitHelpInstance(somSelf) \
  271.     (SOM_Resolve(somSelf, M_VPObj, InitHelpInstance) \
  272.     (somSelf))
  273. #define _InitHelpInstance M_VPObj_InitHelpInstance
  274.  
  275. /*
  276.  * New Method: QueryClassInfo
  277.  */
  278. typedef VOID    SOMLINK somTP_M_VPObj_QueryClassInfo(M_VPObj *somSelf,
  279.         PVPCLASSINFO pVpClassInfo);
  280. #pragma linkage(somTP_M_VPObj_QueryClassInfo, system)
  281. typedef somTP_M_VPObj_QueryClassInfo *somTD_M_VPObj_QueryClassInfo;
  282. #define somMD_M_VPObj_QueryClassInfo "----"
  283. #define M_VPObj_QueryClassInfo(somSelf,pVpClassInfo) \
  284.     (SOM_Resolve(somSelf, M_VPObj, QueryClassInfo) \
  285.     (somSelf,pVpClassInfo))
  286. #define _QueryClassInfo M_VPObj_QueryClassInfo
  287.  
  288. /*
  289.  * New Method: QueryHelpInstance
  290.  */
  291. typedef HWND    SOMLINK somTP_M_VPObj_QueryHelpInstance(M_VPObj *somSelf);
  292. #pragma linkage(somTP_M_VPObj_QueryHelpInstance, system)
  293. typedef somTP_M_VPObj_QueryHelpInstance *somTD_M_VPObj_QueryHelpInstance;
  294. #define somMD_M_VPObj_QueryHelpInstance "----"
  295. #define M_VPObj_QueryHelpInstance(somSelf) \
  296.     (SOM_Resolve(somSelf, M_VPObj, QueryHelpInstance) \
  297.     (somSelf))
  298. #define _QueryHelpInstance M_VPObj_QueryHelpInstance
  299.  
  300. /*
  301.  * Declare the class creation procedure
  302.  */
  303. SOMEXTERN SOMAny * SOMLINK M_VPObjNewClass(integer4 scemajorVersion,
  304.         integer4 sceminorVersion);
  305. #pragma linkage(M_VPObjNewClass, system)
  306.  
  307. /*
  308.  * Declare the class data structure
  309.  */
  310. SOMEXTERN struct M_VPObjClassDataStructure {
  311.     SOMAny *classObject;
  312.     somMToken InitHelpInstance;
  313.     somMToken QueryClassInfo;
  314.     somMToken QueryHelpInstance;
  315.     somMToken SetHelpInstance;
  316. } M_VPObjClassData;
  317.  
  318. /*
  319.  * Declare the C specific class data structure
  320.  */
  321. SOMEXTERN struct M_VPObjCClassDataStructure {
  322.     somMethodTab *parentMtab;
  323.     somDToken instanceDataToken;
  324. } M_VPObjCClassData;
  325.  
  326. #endif       /* vpobj_h */
  327.