home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / drgthr.zip / drgthrnd.h < prev    next >
C/C++ Source or Header  |  1993-07-28  |  5KB  |  133 lines

  1. /*********************************************************************
  2.  *                                                                   *
  3.  * MODULE NAME :  drgthrnd.h             AUTHOR:  Rick Fishman       *
  4.  * DATE WRITTEN:  07-15-93                                           *
  5.  *                                                                   *
  6.  * DESCRIPTION:                                                      *
  7.  *                                                                   *
  8.  *  Common definitions and function prototypes for DRGTHRND.EXE      *
  9.  *                                                                   *
  10.  * HISTORY:                                                          *
  11.  *                                                                   *
  12.  *  07-15-93 - Coding started.                                       *
  13.  *                                                                   *
  14.  *  Rick Fishman                                                     *
  15.  *  Code Blazers, Inc.                                               *
  16.  *  4113 Apricot                                                     *
  17.  *  Irvine, CA. 92720                                                *
  18.  *  CIS ID: 72251,750                                                *
  19.  *                                                                   *
  20.  *********************************************************************/
  21.  
  22. /*********************************************************************/
  23. /*------------------- APPLICATION DEFINITIONS -----------------------*/
  24. /*********************************************************************/
  25.  
  26. #define ID_DRAGCNR             1
  27. #define ID_DROPCNR             2
  28.  
  29. #define INSTDATA(hwnd) ((PINSTANCE)WinQueryWindowPtr( hwnd, QWL_USER ))
  30. #define ANCHOR(hwnd)   (WinQueryAnchorBlock( hwnd ))
  31. #define HWNDERR(hwnd)  (ERRORIDERROR(WinGetLastError( ANCHOR( hwnd ))))
  32. #define HABERR(hab)    (ERRORIDERROR(WinGetLastError( hab )))
  33.  
  34. #define DEBUG_FILENAME        "drgthrnd.dbg"
  35.  
  36. #define BASE_TEMPFILE_NAME    "TEMP"
  37.  
  38. #define DRAG_RMF  "<DRM_FISHMAN,DRF_UNKNOWN>" // Rendering Mechanism/Format
  39.  
  40. #define UM_WINDOW_CREATED     WM_USER
  41. #define UM_DO_THE_RENDERING   WM_USER + 1
  42. #define UM_DO_THE_DROP        WM_USER + 2
  43.  
  44. #define RECATTR_DRAGGABLE     0x00000001
  45. #define RECATTR_OPENABLE      0x00000002
  46.  
  47. #ifndef CRA_SOURCE            // As of 07/30/93, CRA_SOURCE not in toolkit hdrs
  48. #  define CRA_SOURCE          0x00004000L
  49. #endif
  50.  
  51. #define IDM_EXIT              100
  52.  
  53. /**********************************************************************/
  54. /*---------------------------- STRUCTURES ----------------------------*/
  55. /**********************************************************************/
  56.  
  57. typedef struct _CNRREC               // Container record structure
  58. {
  59.   MINIRECORDCORE mrc;
  60.   ULONG          flAttr;
  61.   char           szTableName[ 100 ];
  62.   char           szRenderedFileName[ CCHMAXPATH ];
  63.   HWND           hwndDisplay;
  64. } CNRREC, *PCNRREC;
  65.  
  66. #define EXTRA_BYTES (sizeof( CNRREC ) - sizeof( MINIRECORDCORE ))
  67.  
  68. typedef struct _ENUMSTRUCT
  69. {
  70.   HDIR hdir;
  71.   FILE *stream;
  72.   char szFileName[ CCHMAXPATH ];
  73. } ENUMSTRUCT, *HENUMTABLES;
  74.  
  75. typedef struct _INSTANCE
  76. {
  77.   PDRAGINFO pSavedDragInfo;
  78.   int       cDragItems;
  79.   HWND      hwndRender;
  80. } INSTANCE, *PINSTANCE;
  81.  
  82. /**********************************************************************/
  83. /*----------------------- FUNCTION PROTOTYPES ------------------------*/
  84. /**********************************************************************/
  85.  
  86. // In drag.c
  87.  
  88. MRESULT dragMessage( HWND hwndFrame, ULONG msg, MPARAM mp1 );
  89. void    dragInit( HWND hwndFrame, PCNRDRAGINIT pcdi );
  90. MRESULT dragOver( HWND hwndFrame, PCNRDRAGINFO pcdi );
  91. void    dragDrop( HWND hwndFrame, PCNRDRAGINFO pcdi );
  92. void    dragTargetCleanup( HWND hwndFrame );
  93. void    dragSourceCleanup( HWND hwndFrame );
  94.  
  95. // In drgthrnd.c
  96.  
  97. void Msg( PSZ szFormat, ... );
  98.  
  99. // In dbaccess.c
  100.  
  101. HENUMTABLES dbBeginEnumTables( void );
  102. BOOL        dbGetNextTable( HENUMTABLES henum, PSZ szBuffer, INT cbBuf );
  103. void        dbEndEnumTables( HENUMTABLES henum );
  104. BOOL        dbRenderToFile( PSZ pszTableName, PSZ pszFileName );
  105.  
  106. // In srcrendr.c
  107.  
  108. MRESULT srcRenderPrepare( HWND hwndFrame, PDRAGTRANSFER pDragXfer );
  109. HWND    srcCreateWindow( HWND hwndFrame );
  110.  
  111. // In trgrendr.c
  112.  
  113. HWND targCreateWindow( HWND hwndFrame );
  114.  
  115. /**********************************************************************/
  116. /*------------------------ GLOBAL VARIABLES --------------------------*/
  117. /**********************************************************************/
  118.  
  119. #ifdef GLOBALS_DEFINED
  120. #   define DATADEF
  121. #else
  122. #   define DATADEF extern
  123. #endif
  124.  
  125. DATADEF char szCurrentPath[ CCHMAXPATH ];
  126.  
  127. DATADEF HPOINTER hptrDragMe;
  128. DATADEF HPOINTER hptrOpenMe;
  129.  
  130. /***************************************************************************
  131.  *                         E N D   O F   S O U R C E                       *
  132.  ***************************************************************************/
  133.