Hi Pritpal,
I integrateg your browse header text multirow code.
The changes I made affects only the METHOD MyHbQtBrowse:doConfigure() and your code works without my additions, but since I use also, sometimes, icons in front of the header text,
I had to add little line code to expand the header width in this case, otherwise the text with the icon inside is not fully displayed.
/*--------------------------------------------------*/
METHOD MyHbQtBrowse:doConfigure() /* Overloaded */
...
nHdrRows := 1
FOR i := 1 TO Len( ::columns )
xVal := Transform( Eval( ::columns[ i ]:block ), ::columns[ i ]:picture )
nwVal := oSZ:width() * Len( xVal )
nHdrLen := __calcHdrColumnRows( ::columns[ i ]:heading(), @nHdrRows )
nwHead := oSZ:width() * nHdrLen
::columns[ i ]:nColWidth := Max( nwVal, nwHead ) + nPadding + IF( ::aHeadingIconList[i] <> "", 16, 0 ) // ::aHeadingIconList, array with column header icons if any ( png, transparent background, 128x128dpi )
::oHeaderView:resizeSection( i-1, ::columns[ i ]:nColWidth )
::oFooterView:resizeSection( i-1, ::columns[ i ]:nColWidth )
NEXT
...
The display of the icons in the header is managed in
/*------------------------------------------------------------------*/
METHOD MyHbQtBrowse:fetchColumnInfo( nCall, nRole, nArea, nRow, nCol )
...
CASE HBQT_QAIM_headerData
IF nArea == 0 /* Header Area */
SWITCH nRole
CASE Qt_SizeHintRole ; RETURN ::oDefaultCellSize
CASE Qt_DisplayRole ; RETURN ::columns[ nCol ]:heading
CASE Qt_DecorationRole ; RETURN ::compatIcon( ::aHeadingIconList[nCol] )
CASE Qt_TextAlignmentRole ; RETURN ::columns[ nCol ]:hAlignment
CASE Qt_ForegroundRole ; RETURN QColor( Qt_darkBlue )
CASE Qt_BackgroundRole ; RETURN ::compatColor( ::columns[ nCol ]:hBgColor )
ENDSWITCH
...
Regards
Zoran