home *** CD-ROM | disk | FTP | other *** search
/ DOS/V Power Report 1996 November / VPR9611B.ISO / vabasic / ntclnt.exe / DISK8 / data.8 / datab / INCLUDE / VWTOOLKT.H < prev    next >
C/C++ Source or Header  |  1996-07-29  |  8KB  |  260 lines

  1. /*--------------------------------------------------------------
  2. // $Source: /rcs/vwrcs/components/vwtoolkt.h,v $
  3. // Checked in by: $Author: uucp $
  4. // $Date: 1996/07/26 21:21:19 $                $Revision: 1.32 $
  5. //--------------------------------------------------------------
  6. //         Copyright(c) 1992, Visual Edge Software Ltd.
  7. //         Copyright (c) International Business Machines Inc, 1994
  8. //
  9. // ALL RIGHTS RESERVED. This notice is intended as a precaution
  10. // against inadvertent publication, and shall not be deemed to
  11. // consitute an acknowledgment that publication has occurred
  12. // nor to imply any waiver of confidentiality. The year included
  13. // in the notice is the year of the creation of the work.
  14. //--------------------------------------------------------------
  15. // DESCRIPTION:
  16. //            This file contains global definitions & includes
  17. //            specific of the GUI
  18. // NOTE: Includes are dependent on typedefs so must be last.
  19. //------------------------------------------------------------*/
  20.  
  21. #ifndef VWTOOLKT_H
  22. #define VWTOOLKT_H
  23.  
  24. #if defined(__cplusplus) && defined(_AIX)
  25. extern "C" {
  26. #endif
  27.  
  28. #include <stdio.h>
  29.  
  30. #include <vwglobal.h>
  31. #include <vtoolkit.hh>
  32.  
  33. #       define VwInstance()     VeAppInstance()
  34. #       define VwPrevInstance() VeAppPrevInstance()
  35. #       define VwCmdLine()      VeAppCmdLine()
  36. #       define VwCmdShow()      VeAppCmdShow()
  37.  
  38. #ifdef UNIX
  39.         typedef Pixmap  VwPixmap;
  40.         typedef Pixmap  VwIcon;
  41.         typedef GC      VwhDC;
  42.         typedef int     VwHInstance;
  43.         typedef XrmOptionDescList VwOptionDescList;
  44.         typedef ArgList VwToolkitArgList;
  45.  
  46. #       define VExit(x) exit(x)
  47.  
  48. #       define RES_CONVERT( res_name, res_value) \
  49.                 XtVaTypedArg, (res_name), XmRString, (res_value), strlen(res_value) + 1
  50.  
  51. #       define VwPutStrRes( wgt, res_name, res_value ) \
  52.                 XtVaSetValues( wgt, RES_CONVERT( res_name, res_value ), NULL )
  53.  
  54.         typedef Widget      VwGui_t;
  55.         typedef Widget      VwhWnd;
  56.         typedef WidgetClass VwGuiClass_t;
  57.  
  58.         typedef XEvent      VwNativeEvent;
  59.  
  60. #       define VwMWM_ALL (MWM_DECOR_BORDER | MWM_DECOR_RESIZEH | MWM_DECOR_TITLE | \
  61.                    MWM_DECOR_MENU | MWM_DECOR_MINIMIZE | MWM_DECOR_MAXIMIZE)
  62.  
  63.         enum VButtonType { VSelectBtn = Button1, VAdjustBtn = Button2, VMenuBtn = Button3 };
  64.  
  65.         // message processing filters
  66. #       define  VwTimerFilter           XtIMTimer
  67. #       define  VwAlternateFilter       XtIMAlternateInput
  68. #       define  VwUIEventFilter         XtIMXEvent
  69.  
  70. #endif // UNIX
  71.  
  72. #if     !defined(XtSpecificationRelease)
  73. typedef char * String;
  74. #endif
  75.  
  76. #ifdef VSYS_WINDOWS
  77. #ifndef STRICT
  78. #       define STRICT
  79. #endif
  80.  
  81.  
  82.  
  83.         class VwpMenu;
  84.         class VwpDC;
  85.         class VwpFont;
  86.         class VeString;
  87.         class VwpBitmap;
  88.         class VwpPen;
  89.  
  90. #include <cwnd.hh>
  91. #define MwDIBitmap  VwpBitmap
  92.  
  93.         typedef unsigned short VwDimension;
  94.         typedef short VwPosition;
  95.  
  96.         typedef HWND  VwGui_t;
  97.         typedef HMENU VwMenu_t;
  98.         typedef HDC VwDC_t;
  99.  
  100.         typedef MSG     VwNativeEvent;
  101.  
  102.         typedef HWND    VwhWnd;
  103.         typedef HDC     VwhDC;
  104.     typedef HBITMAP VwPixmap;
  105.         typedef HICON   VwIcon;
  106.         typedef DRAWITEMSTRUCT  VwDRAWITEM;
  107.         enum VButtonType { VSelectBtn = VK_LBUTTON, VAdjustBtn = VK_MBUTTON, VMenuBtn = VK_RBUTTON };
  108.  
  109.         typedef HINSTANCE       VwHInstance;
  110.  
  111. #       ifdef VSYS_WIN16
  112. #               define OnCommandWin(wp, lp)     ((HWND)LOWORD(lp))
  113. #               define OnCommandID(wp, lp)      (wp)
  114. #               define OnCommandCode(wp, lp)    (HIWORD(lp))
  115.  
  116. #               define OnVScrollWin(wp, lp)     ((HWND)HIWORD(lp))
  117. #               define OnVScrollPos(wp, lp)     (LOWORD(lp))
  118. #               define OnVScrollCode(wp, lp)    (wp)
  119.  
  120. #               define OnHScrollWin(wp, lp)     ((HWND)HIWORD(lp))
  121. #               define OnHScrollPos(wp, lp)     (LOWORD(lp))
  122. #               define OnHScrollCode(wp, lp)    (wp)
  123.  
  124. #               define OnActivateWin(wp, lp)    ((HWND)LOWORD(lp))
  125. #               define OnActivateState(wp, lp)  (wp)
  126. #               define OnActivatefMinimized(wp, lp)     (HIWORD(lp))
  127.  
  128. #               define OnCtlColorWin(wp, lp)    ((HWND)LOWORD(lp))
  129. #               define OnCtlColorHDC(wp, lp)    ((HDC)(wp))
  130. #               define OnCtlColorType(wp, lp)   (HIWORD(lp))
  131.  
  132. #               define OnMenuSelectMenu(wp, lp) ((HMENU)HIWORD(lp))
  133. #               define OnMenuSelectFlags(wp, lp)        (LOWORD(lp))
  134. #               define OnMenuSelectCode(wp, lp) (wp)
  135.  
  136. #       else // !VSYS_WIN16
  137. #               define OnCommandWin(wp, lp)     ((HWND)(lp))
  138. #               define OnCommandID(wp, lp)      (LOWORD(wp))
  139. #               define OnCommandCode(wp, lp)    (HIWORD(wp))
  140.  
  141. #               define OnVScrollWin(wp, lp)     ((HWND)(lp))
  142. #               define OnVScrollPos(wp, lp)     (HIWORD(wp))
  143. #               define OnVScrollCode(wp, lp)    (LOWORD(wp))
  144.  
  145. #               define OnHScrollWin(wp, lp)     ((HWND)(lp))
  146. #               define OnHScrollPos(wp, lp)     (HIWORD(wp))
  147. #               define OnHScrollCode(wp, lp)    (LOWORD(wp))
  148.  
  149. #               define OnActivateWin(wp, lp)    ((HWND)(lp))
  150. #               define OnActivateState(wp, lp)  (LOWORD(wp))
  151. #               define OnActivatefMinimized(wp, lp)     (HIWORD(wp))
  152.  
  153. #               define OnCtlColorWin(wp, lp)    ((HWND)(lp))
  154. #               define OnCtlColorHDC(wp, lp)    ((HDC)(wp))
  155. #               define OnCtlColorType(wp, lp)
  156.  
  157. #               define OnMenuSelectMenu(wp, lp) ((HMENU)(lp))
  158. #               define OnMenuSelectFlags(wp, lp)        (HIWORD(wp))
  159. #               define OnMenuSelectCode(wp, lp) (LOWORD(wp))
  160.  
  161. #       endif // VSYS_WIN16
  162.  
  163. #       define VExit(x) PostQuitMessage(x)
  164.  
  165.         // message processing filters
  166. #       define  VwTimerFilter           FALSE
  167. #       define  VwAlternateFilter       FALSE
  168. #       define  VwUIEventFilter         FALSE
  169.  
  170. #define  PAINTSTRUCTRECT(x) &(x->rcPaint)
  171. #       define DEFAULT_SYS_FONT_NAME    "MS Sans Serif"
  172. #       define DEFAULT_SYS_FONT_SIZE    8
  173.  
  174. #endif
  175.  
  176. #ifdef _OS2
  177.  
  178. #ifndef STRICT
  179. #       define STRICT
  180. #endif
  181.  
  182.  
  183.  
  184.  
  185.  
  186.         /*  Following struct is used in Listbox classes. */
  187.         typedef struct _MEASUREITEMSTRUCT {
  188.           ULONG itemHeight;
  189.           VwInt itemID;
  190.         } MEASUREITEMSTRUCT;
  191.  
  192.         typedef MEASUREITEMSTRUCT* LPMEASUREITEMSTRUCT;
  193.         typedef unsigned short VwDimension;
  194.         typedef short VwPosition;
  195.  
  196.  
  197.         class PMMenu;
  198.         class PMDC;
  199.         class PMFont;
  200.         class VeString;
  201.         class PMPixmap;
  202.  
  203. #include <cwnd.hh>
  204.  
  205. #define MwDIBitmap  VwpBitmap
  206. //#define VwiSelDialog PMDialog
  207. #define VwiStatic    VwpWnd
  208. #define VwiEdit    PMEdit
  209.  
  210.  
  211.         typedef HWND  VwGui_t;
  212.         typedef HWND VwMenu_t;
  213.         typedef HDC VwDC_t;
  214.  
  215.         typedef QMSG     VwNativeEvent;
  216.  
  217.         typedef HWND    VwhWnd;
  218.         typedef HDC     VwhDC;
  219.         typedef HBITMAP VwPixmap;
  220.         typedef HPOINTER VwIcon;
  221.         typedef OWNERITEM  VwDRAWITEM;
  222. #define  PAINTSTRUCT RECT
  223. #define  PAINTSTRUCTRECT(x) (RECT *)x
  224.         enum VButtonType { VSelectBtn = VK_BUTTON1, VAdjustBtn = VK_BUTTON3, VMenuBtn = VK_BUTTON2 };
  225.  
  226.  
  227.         typedef HINSTANCE       VwHInstance;
  228.  
  229. #       define OnCommandWin(wp, lp)     ((HWND)LOWORD(lp))
  230. #       define OnCommandID(wp, lp)      (wp)
  231. #       define OnCommandCode(wp, lp)    (HIWORD(lp))
  232.  
  233. #       define VExit(x) exit(0)
  234.  
  235.         // message processing filters
  236. #       define  VwTimerFilter           FALSE
  237. #       define  VwAlternateFilter       FALSE
  238. #       define  VwUIEventFilter         FALSE
  239.  
  240. #       define DEFAULT_SYS_FONT_NAME    "System Proportional"
  241. #       define DEFAULT_SYS_FONT_SIZE    8
  242. #       define VW_NO_FONT_BOLD
  243.  
  244.  
  245. #endif  /* OS2 */
  246.  
  247. #ifdef VSYS_MAC
  248. #    include <vwtoolktmac.h>
  249. #endif /* MAC */
  250.  
  251. // VGA dimensions 640x480
  252. #define VGA_XTWIPS         11782.4
  253. #define VGA_YTWIPS         8837.8
  254.  
  255.  
  256. #if defined(__cplusplus) && defined(_AIX)
  257. }
  258. #endif
  259. #endif /* VWTOOLKT_H */
  260.