XBROWSE - EDITSOURCE()

XBROWSE - EDITSOURCE()

Postby rterraz » Tue Dec 06, 2016 10:14 pm

Hola
Estoy usando los metodos EditSource() y EditBrowse() del xbrowse y me resultan extremadamente utiles a la hora de editar registros de bases de
datos con muchos campos.
En algunos casos necesitaria hacer algunas pequeñas modificaciones en el dialogo que el método muestra por defecto (ej: cabeceras con dos lineas de texto que sólo muestran una linea por falta de espacio etc.).
He buscado el código fuente de las funciones en cuestión pero no lo puedo encontrar, alguien sabe donde encontrarlo o como modificar el Dlg ?
Desde ya gracias por la ayuda que puedan prestarme
User avatar
rterraz
 
Posts: 182
Joined: Wed Nov 08, 2006 11:44 pm
Location: Argentina

Re: XBROWSE - EDITSOURCE()

Postby Biel EA6DD » Wed Dec 07, 2016 5:32 pm

Estos métodos de xBrowse utilizan la clase DataRow (DataRow.prg).
Saludos desde Mallorca
Biel Maimó
http://bielsys.blogspot.com/
User avatar
Biel EA6DD
 
Posts: 682
Joined: Tue Feb 14, 2006 9:48 am
Location: Mallorca

Re: XBROWSE - EDITSOURCE()

Postby Antonio Linares » Wed Dec 07, 2016 6:23 pm

Raul,

Tendrias que haces estos pequeños cambios en FWH:

En la clase TXBrowse: (xbrowse.prg)

METHOD EditSource( lNew, cFieldList, lNavigate, bInit ) INLINE ::Edit( lNew, cFieldList, .t., lNavigate, bInit )

METHOD Edit( lNew, cFieldList, lSourceData, lNavigate, bInit )

METHOD Edit( lNew, cFieldList, lSourceData, lNavigate, bInit ) CLASS TXBrowse

...

::DataRow( lNew, lSourceData, cFieldList ):Edit( nil, lNavigate,,, bInit )

En la Clase TDataRow: (datarow.prg)

METHOD Edit( lReadOnly, lNavigate, cTitle, cMsg, bInit ) CLASS TDataRow

y finalmente

ACTIVATE DIALOG oDlg CENTERED ;
ON INIT ( oRec:PlaceControls( oPanel, oSayFont, oFixed, lReadOnly, lNavigate, cMsg ), If( bInit != nil, Eval( bInit, oDlg ),) ) ;
VALID ( /* lExit .and. */ oRec:CloseMsg() )
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 41205
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: XBROWSE - EDITSOURCE()

Postby rterraz » Thu Dec 08, 2016 1:44 pm

Muchas gracias por las respuestas!
Problema solucionado
Como siempre, el Foro una salvación
User avatar
rterraz
 
Posts: 182
Joined: Wed Nov 08, 2006 11:44 pm
Location: Argentina

Re: XBROWSE - EDITSOURCE()

Postby nageswaragunupudi » Thu Dec 08, 2016 4:37 pm

En algunos casos necesitaria hacer algunas pequeñas modificaciones en el dialogo que el método muestra por defecto (ej: cabeceras con dos lineas de texto que sólo muestran una linea por falta de espacio etc.).


Thanks.
We changed this in FWH16.12.

You can make these modifications in fwh\source\classes\datarow.prg.

In METHOD PlaceControls(...)
Present code:
Code: Select all  Expand view

         nMaxSayWidth   := Max( nMaxSayWidth, GetTextWidth( hDC, ::aPrompts[ nItem ] + " :", oSayFont:hFont ) )
 

New code:
Code: Select all  Expand view

         nMaxSayWidth   := Max( nMaxSayWidth, GetTextWidth( hDC, ;
            StrTran( ::aPrompts[ nItem ], CRLF, " " ) + " :", oSayFont:hFont ) )
 


In METHOD MakeOneGet(...)

Present code:
Code: Select all  Expand view

   if lMemo
      @ nRow, 20 SAY ::aPrompts[ nAt ] + " :" SIZE  nSayWidth,ROWHT PIXEL OF oPanel FONT oSayFont TRANSPARENT
   else
      @ nRow, 20 SAY ::aPrompts[ nAt ] + " :" SIZE  nSayWidth,ROWHT PIXEL OF oPanel FONT oSayFont RIGHT TRANSPARENT
   endif
 

New Code:
Code: Select all  Expand view

   if lMemo
      @ nRow, 20 SAY StrTran( ::aPrompts[ nAt ], CRLF, " " ) + " :" SIZE  nSayWidth,ROWHT PIXEL OF oPanel FONT oSayFont TRANSPARENT
   else
      @ nRow, 20 SAY StrTran( ::aPrompts[ nAt ], CRLF, " " ) + " :" SIZE  nSayWidth,ROWHT PIXEL OF oPanel FONT oSayFont RIGHT TRANSPARENT
   endif
 


If you think any other changes would be useful generall for all, please advise us.
Regards

G. N. Rao.
Hyderabad, India
User avatar
nageswaragunupudi
 
Posts: 10206
Joined: Sun Nov 19, 2006 5:22 am
Location: India

Re: XBROWSE - EDITSOURCE()

Postby rterraz » Thu Dec 08, 2016 7:03 pm

Thank you very much Mr.Rao
User avatar
rterraz
 
Posts: 182
Joined: Wed Nov 08, 2006 11:44 pm
Location: Argentina

Re: XBROWSE - EDITSOURCE()

Postby Compuin » Wed Jan 03, 2018 4:24 pm

rterraz wrote:Hola
Estoy usando los metodos EditSource() y EditBrowse() del xbrowse y me resultan extremadamente utiles a la hora de editar registros de bases de
datos con muchos campos.
En algunos casos necesitaria hacer algunas pequeñas modificaciones en el dialogo que el método muestra por defecto (ej: cabeceras con dos lineas de texto que sólo muestran una linea por falta de espacio etc.).
He buscado el código fuente de las funciones en cuestión pero no lo puedo encontrar, alguien sabe donde encontrarlo o como modificar el Dlg ?
Desde ya gracias por la ayuda que puedan prestarme


Hola,

Tienes un ejemplo de un dialogo que hayas modificado de esta manera?

Gracias de antemano
FWH 20.12
Hbmk2 32/64 Bits (Build 19.29.30133)
Microsoft Visual C 32 Bits
MySql 8.0.24 32/64 Bits
VS Code
Compuin
 
Posts: 1213
Joined: Tue Dec 28, 2010 1:29 pm
Location: Quebec, Canada


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 7 guests