home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / ool_main.zip / ool / include / xdragtra.h < prev    next >
Text File  |  1998-04-06  |  3KB  |  56 lines

  1. #ifndef __OOL_XDRAGTRANSFER_H__
  2. #define __OOL_XDRAGTRANSFER_H__
  3.  
  4. /*===========================================================================*/
  5. /* OOL ------------------- the Open Object Library ------------------- r 1.0 */
  6. /*===========================================================================*/
  7. /*                              class: XDragTraansfer                        */
  8. /*                       derived from: XObject                               */
  9. /*                        last update: 12/97                                 */
  10. /*                      programmed by: Stefan von Brauk (sbrauk@gwdg.de)     */
  11. /*===========================================================================*/
  12.  
  13. #include "xstring.h"
  14. #include "xdragitm.h"
  15. #include "xprocess.h"
  16. class _export_ XDragTransfer: public XObject
  17. {
  18.       friend MRESULT HandleDefault(XWindow * w, ULONG msg, MPARAM mp1, MPARAM mp2, BOOL & handled);
  19.    private:
  20.       PDRAGTRANSFER trans;
  21.       XDragTransfer(PDRAGTRANSFER p, ULONG i, ULONG r) {trans = p;id = i;renderValue = r;}
  22.       ULONG id;
  23.       ULONG renderValue;
  24.    public:
  25.       ULONG GetTransID() const {return id;}
  26.       OOL_WINDOWHANDLE GetClientHandle() const {return trans->hwndClient;}
  27.       void GetDragItem(XDragItem * it) {it->item = trans->pditem; }
  28.       USHORT GetOperation() const {return trans->usOperation; }
  29.       USHORT GetReply() const {return trans->fsReply; }
  30.       ULONG GetRenderOption() const { return renderValue; }
  31.       void GetRenderToName( XString * target) const
  32.          {
  33.             target->ReleaseBuffer(DrgQueryStrName(trans->hstrRenderToName, 512, (PSZ) target->GetBuffer(512)));
  34.          }
  35.       void GetRenderFormat( XString * target) const
  36.          {
  37.             target->ReleaseBuffer(DrgQueryStrName(trans->hstrSelectedRMF, 512, (PSZ) target->GetBuffer(512)));
  38.          }
  39.       void EndConversation( const OOL_WINDOWHANDLE hwnd, const ULONG id, const BOOL success = TRUE) const
  40.          {
  41.             DrgSendTransferMsg( hwnd, DM_ENDCONVERSATION, (MPARAM) id, (MPARAM) (success == TRUE ? DMFL_TARGETSUCCESSFUL : DMFL_TARGETFAIL));
  42.          }
  43.       void FreeTrans() const
  44.          {
  45.             DrgDeleteStrHandle( trans->hstrSelectedRMF );
  46.             DrgDeleteStrHandle( trans->hstrRenderToName );
  47.             DrgFreeDragtransfer(trans);
  48.          }
  49.       BOOL RenderComplete(const SHORT success, const BOOL retry = TRUE) const
  50.          {
  51.             return DrgPostTransferMsg(GetClientHandle(), DM_RENDERCOMPLETE, trans, success, 0, retry);
  52.          }
  53. };
  54.  
  55. #endif
  56.