Page 1 of 2

Problema pintado xbrowse FWH2210 - SOLUCIONADO

PostPosted: Tue Nov 08, 2022 10:46 pm
by leandro
Hola buenas tardes

Hicimos la actualización a la versión de fw2210, de momento no hemos notado muchos problemas, lo mas visible es un error de pintado con el xbrowse.

El problema es que en las líneas que están en blanco hacia abajo, las colorea con el color que tenga la ultima celda.

Image

Re: Problema pintado xbrowse FWH2210

PostPosted: Wed Nov 09, 2022 12:52 pm
by karinha
Exemplo para pruebas?

Regards, saludos.

Re: Problema pintado xbrowse FWH2210

PostPosted: Thu Nov 10, 2022 2:22 am
by leandro
Amigo gracias por responder
Code: Select all  Expand view

#include "fivewin.ch"
#include "xbrowse.ch"

function Main()

local oWnd, oBar, oBrw, oFont
Local aLlena := {}

DEFINE FONT oFont NAME 'TAHOMA' SIZE 0,-12
DEFINE WINDOW oWnd TITLE "Prueba xbrowse 2210"


    AAdd( aLlena, { "primera", "segunda", "tercera", "cuarta" } )
    AAdd( aLlena, { "quinta", "laseis", "septima", "octava" } )
    AAdd( aLlena, { "novena", "decima", "undécima", "doceava" } )

    SET MESSAGE OF oWnd TO "" 2007

    @ 0,0 XBROWSE oBrw OF oWnd               ;
    COLUMNS 1, 2, 3, 4                    ;
    HEADERS "uno","dos","tres","cuatro"   ;
    COLSIZES 100, 100, 100, 100           ;
    DATASOURCE aLlena LINES STYLE FLAT NOBORDER

    WITH OBJECT oBrw
        :CreateFromCode()
   
        :l2007              := .F.
        :lFitGridHeight         := .T. 
        :nMarqueeStyle          := MARQSTYLE_HIGHLROW
        :lColDividerComplete    := .t.
        :nColorPen          := CLR_HGRAY
        :lFullGrid          := .T.
        :nStretchCol            := STRETCHCOL_LAST
        :bClrHeader         := { || { CLR_WHITE, CLR_WHITE, CLR_HGRAY } }
       
        :aCols[2]:oFooterFont := oFont
        :aCols[2]:bClrStd      = {|| {Rgb(55,55,55),if(aLlena[oBrw:nArrayAt][2]=="decima",nRGB(212,0,212),nRGB(212,212,212)) }  }
        :aCols[2]:bClrSelFocus = {|| {CLR_WHITE,nRGB(139,139,139) }  }         
       
    END

    oWnd:oClient := oBrw

ACTIVATE WINDOW oWnd

return nil
 

Image

Re: Problema pintado xbrowse FWH2210

PostPosted: Thu Nov 10, 2022 1:26 pm
by karinha
Leandro, aqui funciona bién con FWH1905. Tú ejemplo és perfecto. Gracias.

Code: Select all  Expand view

// C:\FWH..\SAMPLES\LEANDRO6.PRG

#include "fivewin.ch"
#include "xbrowse.ch"

FUNCTION Main()

   LOCAL oWnd, oBar, oBrw, oFont
   LOCAL aLlena := {}

   DEFINE FONT oFont NAME 'TAHOMA' SIZE 0, - 12

   DEFINE WINDOW oWnd TITLE "Prueba xbrowse 2210"

   AAdd( aLlena, { "primera", "segunda", "tercera", "cuarta" } )
   AAdd( aLlena, { "quinta", "laseis", "septima", "octava" } )
   AAdd( aLlena, { "novena", "decima", "undécima", "doceava" } )

   SET MESSAGE OF oWnd TO "" 2007

   @ 0, 0 XBROWSE oBrw OF oWnd               ;
      COLUMNS 1, 2, 3, 4                     ;
      HEADERS "uno", "dos", "tres", "cuatro" ;
      COLSIZES 100, 100, 100, 100            ;
      DATASOURCE aLlena LINES STYLE FLAT NOBORDER

   WITH OBJECT oBrw

      :l2007               := .F.
      :lFitGridHeight      := .T.
      :nMarqueeStyle       := MARQSTYLE_HIGHLROW
      :lColDividerComplete := .T.
      :nColorPen           := CLR_HGRAY
      :lFullGrid           := .T.
      :nStretchCol         := STRETCHCOL_LAST
      :bClrHeader          := {|| { CLR_WHITE, CLR_WHITE, CLR_HGRAY } }

      :aCols[ 2 ]:oFooterFont  := oFont

      // Ejemplo Leandro. Funciona bien con FWH1905...
      // :aCols[ 2 ]:bClrStd      := {|| { Rgb( 55, 55, 55 ), if( aLlena[ oBrw:nArrayAt ][ 2 ] == "decima", nRGB( 212, 0, 212 ), nRGB( 212, 212, 212 ) ) }  }

      // Asi, tambien funciona.
      :aCols[ 2 ]:bClrStd := { || { IF( aLlena[ oBrw:nArrayAt ][ 2 ] == "decima", CLR_GREEN, CLR_WHITE ), CLR_BLACK, CLR_GRAY } }

      :bClrHeader        := { || { CLR_GREEN, CLR_WHITE, CLR_WHITE } }

      :aCols[ 2 ]:bClrSelFocus := {|| { CLR_WHITE, nRGB( 139, 139, 139 ) }  }

      :CreateFromCode()

   END

   oWnd:oClient := oBrw

   ACTIVATE WINDOW oWnd

RETURN NIL

// FIN / END
 


Regards, saludos.

Re: Problema pintado xbrowse FWH2210

PostPosted: Thu Nov 10, 2022 8:19 pm
by cnavarro
Joao, creo que Leandro se refiere a que en la versión 21.05, no pintaba toda la columna, sólo hasta donde hay datos. En la versión actual pinta toda la columna, y dependiendo del valor que tenga esa columna en la última fila, el resto ( que ya está vacío ) lo pinta de ese mismo color, no del color de fondo del xbrowse
Que Leandro comente si estoy en lo cierto.

Re: Problema pintado xbrowse FWH2210

PostPosted: Thu Nov 10, 2022 8:36 pm
by Antonio Linares
Estimado Leandro,

el Sr. Rao ya lo está revisando para ofrecer un nuevo build, cuanto antes, que lo corrija

Muchas gracias por el excelente feedback :-)

Re: Problema pintado xbrowse FWH2210

PostPosted: Thu Nov 10, 2022 10:17 pm
by leandro
Gracias a todos por responder
Que Leandro comente si estoy en lo cierto.

Estas en lo cierto amigo :D

Vale Antonio, muchas gracias

Re: Problema pintado xbrowse FWH2210

PostPosted: Wed Dec 14, 2022 12:27 am
by leandro
Antonio que pena molestar :oops:

Sabes si este problemilla ya fue corregido?

De antemano gracias

Re: Problema pintado xbrowse FWH2210

PostPosted: Wed Dec 14, 2022 9:00 am
by Antonio Linares
Estimado Leandro,

Lo acabo de probar y sigue fallando asi que me estoy poniendo en contacto con Rao para saber como va

Muchas gracias por el recordatorio :-)

Re: Problema pintado xbrowse FWH2210

PostPosted: Wed Dec 14, 2022 10:27 am
by nageswaragunupudi
This is not an error. Quite a few users wanted that fullgrid browse should look like Excel and since Excel extends a column's color till bottom, fullgrid also extend the color till the bottom.
Considering their proposal, we made this change.

Different users have different tastes.
Now that we see you prefer the older look, we will make this feature optional from the next version.

For now, if you want to revert to the old look, please make a small change to xbrowse.prg

Method EraseData(...) CLASS TXBrwColumn.
At line 15327, you see:
Code: Select all  Expand view
  if hBrush == nil .or. ::oBrw:lFullGrid


Please change it as:
Code: Select all  Expand view
  if hBrush == nil    //.or. ::oBrw:lFullGrid

Re: Problema pintado xbrowse FWH2210

PostPosted: Wed Dec 14, 2022 3:12 pm
by cnavarro
Creo que puede haber otra posibilidad utilizando las DATAS lColDividerComplete y lRowDividerComplete con valor .T., y lFullGrid a .F., haciendo estos pequeños cambios en el Method Paint de la clase XBrowse, así podremos seguir utilizando ambas posibilidades ( lFullGrid en .T. )
Code: Select all  Expand view

.../...
   if nColStyle > 0
      // CNL - 14/12/2022
      // if ::lColDividerComplete
      if ::lColDividerComplete .or. ::lFullGrid
         nHeight := nLastRow
      else
         nHeight := ( ::nRowHeight * ( nRowPos - 1 ) ) + nFirstRow
      endif

.../...

   if nRowStyle > 0
      nRow   := ::FirstRow() - 1
      // CNL -  14/12/2022
      // nTemp2 := if( ::lFullGrid, nMaxRows, ::nDataRows )
      nTemp2 := if( ::lFullGrid .or. ::lRowDividerComplete, nMaxRows, ::nDataRows )

.../...

 

Incluso ofrece la posibilidad de poder dibujar solo las lineas de division horizontales ( lColDividerComplete := .F. y lRowDividerComplete := .T., o solo las verticales )
Si alguien lo prueba y me confirma .....

Re: Problema pintado xbrowse FWH2210

PostPosted: Wed Dec 14, 2022 10:01 pm
by leandro
Amigo como vas?

Siguiendo tus instrucciones, agregue el prg al proyecto y compilo, pero cuando debe cargar el primer xbrowse, al inicio de la app, para seleccionar el usuario, sale el siguiente error:

Code: Select all  Expand view
Application
===========
   Path and name: C:\DLYMA\hymlyma.exe (32 bits)
   Size: 8,177,664 bytes
   Compiler version: xHarbour 1.2.3 Intl. (SimpLex) (Build 20221118)
   FiveWin  version: FWH 22.10
   C compiler version: Borland/Embarcadero C++ 7.4 (32-bit)
   Windows 11 64 Bits, version: 6.2, Build 9200

   Time from start: 0 hours 0 mins 1 secs
   Error occurred at: 14/12/2022, 16:55:17
   Error description: Error BASE/1003  No existe la variable: BXBROWSE

Stack Calls
===========
   Called from: z:\prg\Xbrowse.prg => TXBROWS( 18060 )
   Called from: z:\prg\Xbrowse.prg => XBROWSENEW( 17583 )
   Called from: z:\prg\R32_menu.prg => MUESTRASESION( 1761 )
   Called from: z:\prg\R32_menu.prg => (b)INICIONUEVO( 1409 )
   Called from: .\source\internal\TDOCKPNEL.PRG => TDOCKPNEL:PAINTPNELH( 814 )
   Called from: .\source\internal\TDOCKPNEL.PRG => TDOCKPNEL:PAINTCTRLSPNELP( 739 )
   Called from: .\source\internal\TDOCKPNEL.PRG => (b)TDOCKPNEL:CREATEPNELP( 660 )
   Called from: .\source\classes\TPANEL.PRG => TPANEL:PAINT( 168 )
   Called from: .\source\classes\TPANEL.PRG => (b)TPANEL:TPANEL( 24 )
   Called from:  => TPANEL:DISPLAY( 0 )
   Called from: .\source\classes\CONTROL.PRG => TPANEL:HANDLEEVENT( 1823 )
   Called from: .\source\classes\WINDOW.PRG => _FWH( 3689 )
   Called from:  => WEBVIEW_CREATE( 0 )
   Called from: .\source\classes\TWEBVIEW.PRG => (b)TWEBVIEW:TWEBVIEW( 21 )
   Called from:  => TWEBVIEW:NEW( 0 )
   Called from: z:\prg\R32_menu.prg => MUETRAINFOWEB( 1473 )
   Called from: z:\prg\R32_menu.prg => (b)INICIONUEVO( 1391 )
   Called from: .\source\internal\TDOCKPNEL.PRG => TDOCKPNEL:PAINTPNELH( 814 )
   Called from: .\source\internal\TDOCKPNEL.PRG => TDOCKPNEL:PAINTCTRLSPNELP( 739 )
   Called from: .\source\internal\TDOCKPNEL.PRG => (b)TDOCKPNEL:CREATEPNELP( 660 )
   Called from: .\source\classes\TPANEL.PRG => TPANEL:PAINT( 168 )
   Called from: .\source\classes\TPANEL.PRG => (b)TPANEL:TPANEL( 24 )
   Called from:  => TPANEL:DISPLAY( 0 )
   Called from: .\source\classes\CONTROL.PRG => TPANEL:HANDLEEVENT( 1823 )
   Called from: .\source\classes\WINDOW.PRG => _FWH( 3689 )
   Called from:  => UPDATEWINDOW( 0 )
   Called from: .\source\classes\WINDOW.PRG => TWINDOW:ACTIVATE( 1091 )
   Called from: z:\prg\R32_menu.prg => INICIONUEVO( 1414 )
   Called from: z:\prg\R32_menu.prg => MAIN( 107 )

Re: Problema pintado xbrowse FWH2210

PostPosted: Wed Dec 14, 2022 10:03 pm
by cnavarro
Leandro, según parece es una variable de tu código, fijate en las llamadas de la pila
Called from: z:\prg\R32_menu.prg => MUESTRASESION( 1761 )
Called from: z:\prg\R32_menu.prg => (b)INICIONUEVO( 1409 )


Re: Problema pintado xbrowse FWH2210

PostPosted: Mon Dec 19, 2022 3:08 pm
by leandro
Gracias por responder amigo, pero no tengo nada en esa linea con esa variable, es mas busque en todos los prg y no tengo definida esa variable en ningun lado. Sin incluir ese xbrowse.prg, con la modificación que indicar carga bien la info, por que no creo que tenga nada que ver con nuestro código.
Image

Re: Problema pintado xbrowse FWH2210

PostPosted: Mon Dec 19, 2022 3:09 pm
by leandro
Antonio, te puedo molestar con algo :oops:

Serias tan amable de incluir ese modificación en las libs y enviármelas. De antemano gracias.