2007-11-11 14:13 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* source/rtl/tpopup.prg
* source/rtl/ttopbar.prg
* source/rtl/tmenuitm.prg
! MENUITEM class :row and :col vars changed to
:__row and :__col, instead of adding HB_EXTENSION
guards to them, because they are needed internally.
* source/rtl/browse.prg
* source/rtl/tbrowse.prg
* Two mouse-wheel handling extensions now rather
guarded with HB_C52_STRICT.
* source/rtl/gete.c
! Fixed GETENV()/GETE() to return an empty string when
called with more than one parameter, to be fully
C5.x compatible.
* source/vm/proc.c
! PROCFILE() HB_EXTENSION guard changed to HB_C52_STRICT.
Since PROCFILE() is an undocumented function in C5.x
we can legally extend it in Harbour.
* include/hbsetup.ch
* Turned off HB_EXTENSION for the default build.
Now HB_EXTENSION covers all the extensions which
in some ways violates namespace rules or extends
functionality of existing CA-Cl*pper functions
or classes in an "invisible" (or "dirty") way, like
adding new parameters or accepting new types of parameters.
In case we want to keep some extended functionality
in the default build, we'll need to create new
function names. For class extensions, I'm not yet
sure what is the proper way to go.
In case of ML*() functions, I think they should respect
SET EOL instead of accepting EOL settings as parameters.
This commit is contained in:
@@ -8,6 +8,43 @@
|
||||
2002-12-01 13:30 UTC+0100 Foo Bar <foo.bar@foobar.org>
|
||||
*/
|
||||
|
||||
2007-11-11 14:13 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
|
||||
* source/rtl/tpopup.prg
|
||||
* source/rtl/ttopbar.prg
|
||||
* source/rtl/tmenuitm.prg
|
||||
! MENUITEM class :row and :col vars changed to
|
||||
:__row and :__col, instead of adding HB_EXTENSION
|
||||
guards to them, because they are needed internally.
|
||||
|
||||
* source/rtl/browse.prg
|
||||
* source/rtl/tbrowse.prg
|
||||
* Two mouse-wheel handling extensions now rather
|
||||
guarded with HB_C52_STRICT.
|
||||
|
||||
* source/rtl/gete.c
|
||||
! Fixed GETENV()/GETE() to return an empty string when
|
||||
called with more than one parameter, to be fully
|
||||
C5.x compatible.
|
||||
|
||||
* source/vm/proc.c
|
||||
! PROCFILE() HB_EXTENSION guard changed to HB_C52_STRICT.
|
||||
Since PROCFILE() is an undocumented function in C5.x
|
||||
we can legally extend it in Harbour.
|
||||
|
||||
* include/hbsetup.ch
|
||||
* Turned off HB_EXTENSION for the default build.
|
||||
Now HB_EXTENSION covers all the extensions which
|
||||
in some ways violates namespace rules or extends
|
||||
functionality of existing CA-Cl*pper functions
|
||||
or classes in an "invisible" (or "dirty") way, like
|
||||
adding new parameters or accepting new types of parameters.
|
||||
In case we want to keep some extended functionality
|
||||
in the default build, we'll need to create new
|
||||
function names. For class extensions, I'm not yet
|
||||
sure what is the proper way to go.
|
||||
In case of ML*() functions, I think they should respect
|
||||
SET EOL instead of accepting EOL settings as parameters.
|
||||
|
||||
2007-11-11 13:45 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
|
||||
* source/rtl/tbrowse.prg
|
||||
! Fixed to compile with HB_C52_STRICT.
|
||||
|
||||
@@ -59,11 +59,9 @@
|
||||
/* NOTE: You can select here, which features you want to include of the
|
||||
different Clipper implementations. */
|
||||
|
||||
#define HB_EXTENSION /* Enable Harbour extensions */
|
||||
|
||||
/* #define HB_EXTENSION */ /* Enable Harbour extensions */
|
||||
#define HB_C52_UNDOC /* Enable CA-Cl*pper 5.2e undocumented features */
|
||||
/* #define HB_C52_STRICT */ /* Enable CA-Cl*pper 5.2e strict compatibility */
|
||||
|
||||
#define HB_COMPAT_C53 /* Enable CA-Cl*pper 5.3x extensions */
|
||||
#define HB_COMPAT_XPP /* Enable Alaska Xbase++ extensions */
|
||||
/* #define HB_COMPAT_VO */ /* Enable CA-VO extensions */
|
||||
|
||||
@@ -150,7 +150,7 @@ FUNCTION Browse( nTop, nLeft, nBottom, nRight )
|
||||
TBMOUSE( oBrw, MRow(), MCol() )
|
||||
EXIT
|
||||
#endif
|
||||
#ifdef HB_EXTENSION
|
||||
#ifndef HB_C52_STRICT
|
||||
CASE K_MWFORWARD
|
||||
#endif
|
||||
CASE K_UP
|
||||
@@ -161,7 +161,7 @@ FUNCTION Browse( nTop, nLeft, nBottom, nRight )
|
||||
ENDIF
|
||||
EXIT
|
||||
|
||||
#ifdef HB_EXTENSION
|
||||
#ifndef HB_C52_STRICT
|
||||
CASE K_MWBACKWARD
|
||||
#endif
|
||||
CASE K_DOWN
|
||||
|
||||
@@ -72,7 +72,11 @@ HB_FUNC( GETENV )
|
||||
{
|
||||
PHB_ITEM pName = hb_param( 1, HB_IT_STRING );
|
||||
|
||||
#ifdef HB_EXTENSION
|
||||
if( pName )
|
||||
#else
|
||||
if( pName && hb_pcount() == 1 )
|
||||
#endif
|
||||
{
|
||||
char * pszName = hb_itemGetC( pName );
|
||||
ULONG ulName = strlen( pszName );
|
||||
|
||||
@@ -2086,7 +2086,7 @@ METHOD setKey( nKey, bBlock ) CLASS TBrowse
|
||||
{ K_ESC , {| | TBR_EXIT } },;
|
||||
{ K_LBUTTONDOWN, {| o | TBMouse( o, MRow(), MCol() ) } } }
|
||||
|
||||
#ifdef HB_EXTENSION
|
||||
#ifndef HB_C52_STRICT
|
||||
AAdd( ::aKeys, { K_MWFORWARD , {| o | o:Up() , TBR_CONTINUE } } )
|
||||
AAdd( ::aKeys, { K_MWBACKWARD , {| o | o:Down() , TBR_CONTINUE } } )
|
||||
#endif
|
||||
|
||||
@@ -75,8 +75,8 @@ CREATE CLASS MENUITEM FUNCTION HBMenuItem
|
||||
METHOD shortcut( nShortcut ) SETGET
|
||||
METHOD style( cStyle ) SETGET
|
||||
|
||||
VAR col INIT -1 AS NUMERIC /* NOTE: This is a Harbour extension. */
|
||||
VAR row INIT -1 AS NUMERIC /* NOTE: This is a Harbour extension. */
|
||||
VAR __col INIT -1 AS NUMERIC /* NOTE: This is a Harbour extension. */
|
||||
VAR __row INIT -1 AS NUMERIC /* NOTE: This is a Harbour extension. */
|
||||
|
||||
METHOD isPopUp()
|
||||
|
||||
@@ -203,10 +203,10 @@ FUNCTION __miColumn( o, nColumn )
|
||||
IF ISOBJECT( o ) .AND. o:ClassName() == "MENUITEM"
|
||||
|
||||
IF ISNUMBER( nColumn )
|
||||
o:col := nColumn
|
||||
o:__col := nColumn
|
||||
ENDIF
|
||||
|
||||
RETURN o:col
|
||||
RETURN o:__col
|
||||
ENDIF
|
||||
|
||||
RETURN -1
|
||||
@@ -216,10 +216,10 @@ FUNCTION __miRow( o, nRow )
|
||||
IF ISOBJECT( o ) .AND. o:ClassName() == "MENUITEM"
|
||||
|
||||
IF ISNUMBER( nRow )
|
||||
o:row := nRow
|
||||
o:__row := nRow
|
||||
ENDIF
|
||||
|
||||
RETURN o:row
|
||||
RETURN o:__row
|
||||
ENDIF
|
||||
|
||||
RETURN -1
|
||||
|
||||
@@ -267,8 +267,8 @@ METHOD display() CLASS POPUPMENU
|
||||
cCaption += " "
|
||||
ENDIF
|
||||
|
||||
aItems[ nPos ]:row := nTop
|
||||
aItems[ nPos ]:col := nLeft
|
||||
aItems[ nPos ]:__row := nTop
|
||||
aItems[ nPos ]:__col := nLeft
|
||||
|
||||
IF ( nHotKeyPos := At( "&", cCaption ) ) == 0
|
||||
IF ( nCharPos := RAt( SubStr( aItems[ nPos ]:style, 2, 1 ), cCaption ) ) > 0
|
||||
|
||||
@@ -180,8 +180,8 @@ METHOD display() CLASS TOPBARMENU
|
||||
nLeft := nRight - nCaptionLen
|
||||
ENDIF
|
||||
|
||||
aItems[ nItem ]:row := nRow
|
||||
aItems[ nItem ]:col := nLeft
|
||||
aItems[ nItem ]:__row := nRow
|
||||
aItems[ nItem ]:__col := nLeft
|
||||
|
||||
IF aItems[ nItem ]:isPopUp()
|
||||
oPopUp := aItems[ nItem ]:data
|
||||
@@ -352,7 +352,7 @@ METHOD hitTest( nMRow, nMCol ) CLASS TOPBARMENU
|
||||
|
||||
FOR n := 1 TO ::nItemCount
|
||||
|
||||
nColumn := aItems[ n ]:col
|
||||
nColumn := aItems[ n ]:__col
|
||||
|
||||
IF nMCol >= nColumn .AND. nMCol <= nColumn + Len( aItems[ n ]:caption )
|
||||
#ifndef HB_C52_STRICT
|
||||
|
||||
@@ -104,7 +104,7 @@ HB_FUNC( PROCLINE )
|
||||
|
||||
HB_FUNC( PROCFILE )
|
||||
{
|
||||
#ifdef HB_EXTENSION
|
||||
#ifndef HB_C52_STRICT
|
||||
PHB_SYMB pSym = NULL;
|
||||
|
||||
if( ISSYMBOL( 1 ) )
|
||||
|
||||
Reference in New Issue
Block a user