Przemyslaw Czerpak 8434f5ab14 2010-06-24 23:20 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbgtinfo.ch
  * harbour/include/hbgtcore.h
  * harbour/src/rtl/hbgtcore.c
    + added HB_GTI_INKEYFILTER which allows to set/get codeblock used to
      filter inkey key codes. This codeblock receives as 1-st parameter
      actually processed inside INKEY() function key code. It should return
      final inkey code (it can be the same or 0 if key should be ignored.
      I.e. this code change key 'a' to 'B' and blocks 'c':

         hb_gtInfo( HB_GTI_INKEYFILTER, { | nKey |
                                          SWITCH nKey
                                             CASE ASC( 'a' )
                                                RETURN ASC( 'B' )
                                             CASE ASC( 'c' )
                                                RETURN '0'
                                          ENDSWITCH
                                          RETURN nKey
                                       } )

    + added HB_GTI_INKEYREAD which allows to set/get codeblock executed
      just before INKEY() reads key code from the GT typeahead buffer.
      If it returns non 0 numeric value then this value is returned instead
      as inkey code. Otherwise standard inkey procedure is activated and
      key code is read from the GT typeahead buffer.

  * harbour/include/hbextern.ch
  * harbour/src/rtl/inkey.c
    - removed HB_INKEYSETPREBLOCK() and HB_INKEYSETPOSTBLOCK() functions

  * harbour/contrib/xhb/Makefile
  * harbour/contrib/xhb/xhbgt.c
  + harbour/contrib/xhb/xhbinkey.prg
  * harbour/contrib/xhb/hbcompat.ch
    * updated emulation of xHarbour hb_SetInkeyBeforeBlock() and
      hb_SetInkeyAfterBlock() functions to use new HB_GTI_* functionality.
      Incompatibility warning!
      In Harbour timeout value passed to inkey() is correctly respected
      and not reset internally on each call to inkey after block.
      If inkey before block returns non 0 numeric value then it's not
      ignored but returned as INKEY() function result without touching
      GT typeahead buffer.
2010-06-24 21:21:48 +00:00
Description
Harbour Core — Reference source for Five development
172 MiB
Languages
C 80.3%
xBase 17.8%
Makefile 0.6%
C++ 0.4%
Harbour 0.4%
Other 0.3%