/*
 * Xailer source code:
 *
 * DBHyperLink.prg
 * Clase TDBHyperLink()
 *
 * Copyright 2003, 2007 Ignacio Ortiz de Zúñiga
 * Copyright 2003, 2007 Xailer.com
 * All rights reserved
 *
 */

#include "Xailer.ch"


//--------------------------------------------------------------------------

CLASS XDBHyperLink FROM THyperLink

PUBLISHED:
   PROPERTY oDataSet    WRITE SetDataSet     EDITOR PE_Component AS TDataSet
   PROPERTY oDataField  WRITE SetFieldObject EDITOR PE_DataField AS TDataField

PUBLIC:
   PROPERTY cText

   METHOD Refresh( lValue )  // --> lSuccess
   METHOD DbLinked()        INLINE ( ValType( ::oDataField  ) == "O" )

RESERVED:
   PROPERTY lEditable INIT .F.

   METHOD SetDataSet( Value )      EXTERN DC_SetDataSet
   METHOD SetFieldObject( oField ) EXTERN DC_SetFieldObject
   METHOD ResetDataField()         EXTERN DC_ResetDataField
   METHOD SetData()    VIRTUAL
   METHOD GetData()    VIRTUAL
   METHOD Lock()       VIRTUAL
   METHOD UnLock()     VIRTUAL
   METHOD Free()       INLINE ( ::SetDataSet( , .T. ), ::Super:Free() )

ENDCLASS

//--------------------------------------------------------------------------

METHOD Refresh( lValue ) CLASS XDBHyperLink

   IF Valtype( ::oDataField ) == "O"
      ::FcText := AllTrim( ToString( ::oDataField:Value, "" ) )
      SetWindowText( ::Handle, ::FcText )
   ENDIF

RETURN ::Super:Refresh( lValue )

//--------------------------------------------------------------------------
