FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index To do - WishList / Por hacer - Peticiones Xbrowse header's sort bitmap
Posts: 1088
Joined: Fri Oct 07, 2005 03:33 PM
Xbrowse header's sort bitmap
Posted: Sun Apr 06, 2014 04:10 PM
Hello,

a suggestion when we don't need or don't like to show the sort bitmap in the xbrowse's columns, we can add a

Code (fw): Select all Collapse
DATA lSortBmp  INIT .T.


then in the xBrowse sorce

In new Method add IF...
Code (fw): Select all Collapse
   IF ::lSortBmp 
      hBmp        := FWBmpAsc()
      AAdd( ::aSortBmp, { hBmp, 0, nBmpWidth( hBmp ), nBmpHeight( hBmp ), nil, .F. } )
      hBmp        := FWBmpDes()
      AAdd( ::aSortBmp, { hBmp, 0, nBmpWidth( hBmp ), nBmpHeight( hBmp ), nil, .F. } )
   ENDIF


In destroy Method add IF ...
Code (fw): Select all Collapse
   IF ::lSortBmp
      DeleteObject( ::aSortBmp[ 1 ][ 1 ] )
      DeleteObject( ::aSortBmp[ 2 ][ 1 ] )
   ENDIF


In METHOD HeaderWidth CLASS TXBrwColumn modify
Code (fw): Select all Collapse
   
if ! Empty( aBitmap := ::aBitmap( If( ValType( ::nHeadBmpNo ) == 'B', Eval( ::nHeadBmpNo ), ::nHeadBmpNo ) ) )
      nWidth   += aBitmap[ BITMAP_WIDTH ] + BMP_EXTRAWIDTH
   elseif ! Empty( ::cSortOrder )
      nWidth += IF( ::oBrw:lSortBmp, ::oBrw:aSortBmp[ 1 ][ BITMAP_WIDTH ], 0 ) + BMP_EXTRAWIDTH // MVG
   endif


Finally
In METHOD PaintHeader CLASS TXBrwColumn Modify
Code (fw): Select all Collapse
      if ! Empty( ::cOrder ) .AND. ::oBrw:lSortBmp
         aBitmap     := ::oBrw:aSortBmp[ If( ::cOrder == 'A', 1, 2 ) ]
         nBmpAlign   := AL_RIGHT
      elseif !Empty( aBitmap := ::aBitmap( nBmpNo ) )
         nBmpAlign   := ::nHeadBmpAlign
      endif


I hope Fivetech can evaluate this modifications

regards

Marcelo

Continue the discussion