#ifndef __OOL_XENTRYFIELD_H__
#define __OOL_XENTRYFIELD_H__

/*===========================================================================*/
/* OOL ------------------- the Open Object Library ------------- OS/2 Beta 1 */
/*===========================================================================*/
/*                              class: XEntryField                           */
/*                       derived from: XControl                              */
/*                        last update: 12/96                                 */
/*                      programmed by: Stefan von Brauk (sbrauk@gwdg.de)     */
/*===========================================================================*/




#include "xcontrol.h"

#ifdef OOL_FOR_OS2_X86
   #define EN_LEFT       0x0000
   #define EN_CENTER     0x0001
   #define EN_RIGHT      0x0002
   #define EN_AUTOSCROLL 0x0004
   #define EN_MARGIN     0x0008
   #define EN_AUTOTAB    0x0010
   #define EN_READONLY   0x0020
   #define EN_UNREADABLE 0x0080
   #define EN_AUTOSIZE   0x0200
   #define EN_BORDER     FS_BORDER
#endif

class _export_ XEntryField: public XControl{
      friend void BuildChilds( HWND );
   private:
      XEntryField( const HWND hwnd): XControl(hwnd) {;}
   public:
      XEntryField( const XWindow * owner, const XRect * rec, const USHORT id = 0, const ULONG style = EN_BORDER | EN_LEFT, const char * string = "", const char*font=NULL);
      virtual ~XEntryField() {;}
      void Clear( void ) const ;
      void Copy( void ) const ;
      void Cut( void ) const ;
      void EnableOverWrite( const BOOL overWrite = TRUE) const ;
      BOOL IsChanged(void ) const ;
      void Paste( void ) const ;
      SHORT GetFirstChar( void ) const ;
      BOOL IsReadOnly( void ) const ;
      void GetSelection( SHORT& start, SHORT& end);
      void SelectText( const USHORT start, const USHORT end) const ;
      void SetLimit( const USHORT len) const ;
      void SetReadOnly( const BOOL readOnly = TRUE) const ;
      void ShowFirstChar( const SHORT firstChar = 0) const ;
};

#endif
