diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 0c97207431..5db2e1ea47 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -1,3 +1,9 @@ +2000-09-02 11:00 GMT+2 Maurilio Longo + * source/rtl/tbrowse.prg + ! fixed right most header, footer and column painting. In particular if (space available - space occupied by + columns) gives an odd number a char was left "dirty" on screen. I don't know if column separators suffer + from same bug. + 2000-09-02 10:19 GMT+1 Bruno Cantero * include/hbset.h * source/rtl/set.c @@ -28,7 +34,7 @@ * source/rdd/rddsys.prg + Added DBFCDX files to makefiles and reactivate it. By now is the default driver (rddsys.prg). - + * include/hbrdddbf.h * source/rdd/dbcmd.c * source/rdd/workarea.c diff --git a/harbour/source/rtl/tbrowse.prg b/harbour/source/rtl/tbrowse.prg index cecbc2b351..9c44c2b31b 100644 --- a/harbour/source/rtl/tbrowse.prg +++ b/harbour/source/rtl/tbrowse.prg @@ -327,7 +327,7 @@ METHOD LeftDetermine() CLASS TBrowse Len( ::aColumns[ nCol ]:ColSep ),; Len( ::ColSep ) ) - if nWidth > nWidthMax + if nWidth >= nWidthMax exit endif @@ -615,7 +615,11 @@ METHOD Stabilize() CLASS TBrowse Len( ::aColumns[ n + 1 ]:ColSep ), Len( ::ColSep ) ) ), ::ColorSpec ) endif next - DispOut( Space( ( nWidth - nColsWidth ) / 2 ), ::ColorSpec ) + + // Every time there is some space to fill up and this space is an odd number of chars we need to + // round it up to next value here since first DispOutAt() does round it down because it uses a simple + // division (ie Space(7/2) gives 3 on first call and 4 here). + DispOut(Space(Int(Round((nWidth - nColsWidth) / 2, 0))), ::ColorSpec) endif if ! Empty( ::HeadSep ) //Drawing heading separator DispOutAt( ::nTop + iif( ::lHeaders, 1, 0 ), ::nLeft, Replicate( Right( ::HeadSep, 1 ), ( nWidth - nColsWidth ) / 2 ), ::ColorSpec ) @@ -669,7 +673,7 @@ METHOD Stabilize() CLASS TBrowse Len( ::aColumns[ n + 1 ]:ColSep ), Len( ::ColSep ) ) ), ::ColorSpec ) endif next - DispOut( Space( ( nWidth - nColsWidth ) / 2 ), ::ColorSpec ) + DispOut(Space(Int(Round((nWidth - nColsWidth) / 2, 0))), ::ColorSpec) endif endif @@ -740,7 +744,7 @@ METHOD Stabilize() CLASS TBrowse endif next - DispOut( Space( ( nWidth - nColsWidth ) / 2 ), ::ColorSpec ) + DispOut(Space(Int(Round((nWidth - nColsWidth) / 2, 0))), ::ColorSpec) endif