Header Browse Gradiente

Projeto HwGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

gilbertosilverio
Usuário Nível 3
Usuário Nível 3
Mensagens: 339
Registrado em: 18 Jan 2009 10:39
Localização: Ribeirao Pires - SP

Header Browse Gradiente

Mensagem por gilbertosilverio »

Simões,

Obrigado por compartilhar teu Fork, compilei e sem mexer nos fontes o visual do Browse ja ficou mais agradavel.
Anexos
t2.png
GilbertoSilverio
gilbertosilverio@gmail.com
gilbertosilverio2003@yahoo.com.br
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Header Browse Gradiente

Mensagem por asimoes »

Muito antes das modificações que eu fiz, sempre usei gcc várias versões e agora llvm/clang 9.01, nunca usei bcc 5.*
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Header Browse Gradiente

Mensagem por Itamar M. Lins Jr. »

Ola!
Essa versão já foi depois da volta do Kresin... Está corrigida por ele!
Conforme o Changelog... da versão que postou...

Código: Selecionar todos

2013-05-30 11:30 UTC+0300 Alexander Kresin <alex@belacy.belgorod.su>
  * source/procmisc/hfrmtmpl.prg
  * utils/designer/editor.prg
  * utils/designer/hformgen.prg
    * Few function names has been changed ( Hfrm_... to hwg_hfrm_... )
Alguns estão dizendo que o Kresin bagunçou o código, mas está usando exatamente a versão que ele começou corrigir... Vai entender.
O Luis Basso, parou bem antes dessa versão de mexer no código.

Ultima intervenção no código pelo Luis Basso foi em dezembro de 2012.

Código: Selecionar todos

2012-12-13 22:10 UTC-0300 Luis Fernando Basso <lfbasso at via-rs.net>
   * source/hcombo.prg
     * CLASS hCheckComboBox
      ! fixed navegation in items disabled regardless of the state of SET EXACT
Mais na frente o Kresin volta e começa a modificar...Conforme o Changelog

Código: Selecionar todos

2012-12-26 10:45 UTC+0300 Alexander Kresin <alex@belacy.belgorod.su>
  - source/prnalone.c
    - file has been deleted, because it isn't used
  - source/procmisc/arr2str.c
  + contrib/misc/arr2str.c
    * file moved to contrib, because it's function aren't used anywhere in libraries
  - source/hfrmtmpl.prg
  + source/procmisc/hfrmtmpl.prg
    * file moved to procmisc/, because it is more appropriate place for it
  - source/repexec.prg
  + utils/hwreport/repexec.prg
    * file moved to a more appropriate place
  * utils/hwreport/bldexam.bat
  * gtk/Makefile
  * gtk/Makefile.linux
  * gtk/Makefile.scr
  * hwgui.hbm
  * hwgui.hbp
  * makedll.bc
  * makefile.bc
  * makefile.gcc
  * makefile.pc
  * Makefile.scr
  * makefile.vc
  * makefile.wc
  * makefilepointer.bc
    * make files has been adopted to above changes

2012-12-25 16:25 UTC+0300 Alexander Kresin <alex@belacy.belgorod.su>
  * source/hedit.prg
  * source/guimain.prg
    * Functions ParentGetDialog(), SetColorinFocus(), SetDisableBackColor(),
      CheckFocus(), WhenSetFocus(), GetWindowParent()
      moved from hedit.prg to guimain.prg, because they relates not to HEdit only.

2012-12-25 16:05 UTC+0300 Alexander Kresin <alex@belacy.belgorod.su>
  - contrib/menus
    - directory has been deleted, because it is outdated
  + contrib/misc
    + directory has been added for miscellaneous code, which doesn't relate
      directly to the purposes of the HwGUI
  - source/procmisc/saymoney.prg
  + contrib/misc/saymoney.prg
  - source/richtext.prg
  + contrib/misc/richtext.prg
    * files moved, because they doesn't relate directly to the purposes of the HwGUI
  * utils/designer/samples/saymoney.prg
    * functions from source/procmisc/saymoney.prg has been added
  * hwgui.hbm
  * hwgui.hbp
  * makedll.bc
  * makefile.bc
  * makefile.gcc
  * makefile.pc
  * Makefile.scr
  * makefile.vc
  * makefile.wc
  * makefilepointer.bc
    * make files has been changed to exclude saymoney.prg and saymoney.prg

2012-12-25 11:30 UTC+0300 Alexander Kresin <alex@belacy.belgorod.su>
  ! source/procmisc/procscri.prg
  ! source/hfrmtmpl.prg
    * There was a problem with execution of functions, declared in a "common" method
      of a forms and reports, created with Designer. Now fixed.
Quer dizer que até ai o Alexander sabia programar ?

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
gilbertosilverio
Usuário Nível 3
Usuário Nível 3
Mensagens: 339
Registrado em: 18 Jan 2009 10:39
Localização: Ribeirao Pires - SP

Header Browse Gradiente

Mensagem por gilbertosilverio »

Itamar,

Me desculpe, mais aqui vai a minha opinião:

O pai da criança abandonou ela por um bom tempo, ai veio um senhor, fez varias alterações, que ficaram muito boas e muita gente começou a usar, corrigiu vários bugs e sempre nos ajudou sem nenhuma retribuição...

O pai da criança, vendo a criança crescer, tentou pegar a criança de volta, fez alguns carinhos, mais como a criança já não tinha mais seu perfil, resolveu novamente abandona-la e colocar no seu lugar a que ele estava criando...

A grosso modo, a compatibilidade da versão 2.17 foi pro espaço, lançou a 2.20 e se você quiser usa-la tem que mexer em todo teu código fonte, pois muita coisa foi mudada, e deixou de ter compatibilidade.

Para pessoas com eu, com pouco conhecimento, torna-se difícil entender e fazer alterações necessárias, pois eles perderam a compatibilidade entre as versões.

Quando o Kresin mudou da 2.17 para a 2.20, enviei diversas situações para ele, mais creio que o cara se encheu e me mandou a M... kkkk

E a mesma coisa eu pegar um sistema teu, altera-lo, e como você tem uma logica de programação diferente da minha, vai sentir muita dificuldade em entender fazer funciona...

Hoje uso o HB34+Mingw+Hwgui217+DBF e também sistemas WVG+xhb1.10+BCC55+DBF, e todos funcionam muito bem a mais de 25 anos, sem nenhum deles ter corrompido um único DBF.

Todos meus sistemas eu converti do DBASE, CLIPPER, e a grande maioria dos meus sistema trabalha somente com DBEDIT(), para você ver o meu nível de conhecimento.

Como meus clientes me acompanham a 25 anos, para você ter uma ideia este pessoal da antiga, não quer que eu mudei as rotinas para visual.

Como costumo dizer, não existe sistema bom ou ruim, e sim sistema que te atende.

Não importa se e HARBOUR, CLIPPER, DBASE, xBASIC, BASIC, MSX-BASIC, o importante e que atenda a necessidade do teu cliente.

Me perdoe, não quero criar polemica, mais esta e minha opinião e posso te garantir, que respeito muito a tua...
GilbertoSilverio
gilbertosilverio@gmail.com
gilbertosilverio2003@yahoo.com.br
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Header Browse Gradiente

Mensagem por Itamar M. Lins Jr. »

Ola!
O pai da criança abandonou ela por um bom tempo, ai veio um senhor, fez varias alterações, que ficaram muito boas e muita gente começou a usar, corrigiu vários bugs e sempre nos ajudou sem nenhuma retribuição...
São 6 ou mais desenvolvedores que tem a HWGUI. Eu usava antes do Luis Basso chegar, por conta do Przmek, mexer nela!
Até este momento ninguém foi ou é desenvolvedor exclusivo da Hwgui. Todo o trabalho dos que chegaram depois do Alexander Kresin foi em cima da BASE que ele fez.
O Luis Basso teve seu momento de PICO, grandes correções e ajustes, mas não jogou fora o código da Hwgui que o Kresin fez. Tão pouco os códigos do Luis Basso foram desprezados.
Depois que o Luis Basso saiu, olha quem fez modificação no código da Hwgui.

Código: Selecionar todos

2013-07-02 21:49 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
  * hwgui/source/common/debug/dbgentry.c
    * reformatted keeping the same rules as used to format dbgentry.c in
      Harbour GIT repository.
Essa guerra ocorre aqui fora, pelos usuários infelizmente.
O pai da criança, vendo a criança crescer, tentou pegar a criança de volta, fez alguns carinhos, mais como a criança já não tinha mais seu perfil, resolveu novamente abandona-la e colocar no seu lugar a que ele estava criando...
Não tem nada a ver isso. Vc lê os posts na sessão dos desenvolvedores ?

Em 07/04/2012 o pau tava quebrando lá entre eles...

Código: Selecionar todos

Sadly, I think HWGUI is beyond repair. I have long since stopped using 
the latest version as every change seemed to create a new 
incompatibility. There are no decent code standards, and many of the 
variable are not in English. A particular horrible coding practice seems 
to be using numbers instead of #defines for Windows API constants.

A good (bad) example is hwgbrowse.prg.

-- 
Regards
Alex
Esse é um dos posts do Alex Strickland...

Código: Selecionar todos

Hi!

Thanks for your respond, i'm stop using the hwgui long time ago, some form and report i edit manualy w/o visual designer, some code i rewrote for console mode, i think that shock therapy will not prevent the hwgui, and i believe that Alexander will return to restore order.

Regards,
Alexey Myronenko
believe that Alexander will return to restore order.
Não pense que Hwgui possui apenas meia dúzia de usuários e ou apenas 2 desenvolvedores.
A grosso modo, a compatibilidade da versão 2.17 foi pro espaço, lançou a 2.20 e se você quiser usa-la tem que mexer em todo teu código fonte, pois muita coisa foi mudada, e deixou de ter compatibilidade.
Baseado no que vc está escrevendo, vejo que não acompanhou todo o processo até chegar na 2.22 existiu a 2.18, 2.19, 2.20, 2.21 e agora 2.22.
Eu também uso a Hwgui e meu sistema não é pequeno.
Quando o Kresin mudou da 2.17 para a 2.20, enviei diversas situações para ele, mais creio que o cara se encheu e me mandou a M... kkkk
Vc esta pulando as outras versões, já disse que usei a 2.18, 2.19, 2.20...

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Header Browse Gradiente

Mensagem por Itamar M. Lins Jr. »

Ola!
Para deixar claro, o quanto eu usei da versão inicial até a 2.17 e sei o que foi mudado, e não foi nada relevante para quem acompanhou.
[*] Improved compatibility with 2.17 version.[/b]
Poucos foram os que testaram as mudanças, a maioria ficou reclamando que mudou tal coisa, ao invés de reportar erros para eles.
E ficar falando que ele não ajustou o máximo a compatibilidade com a versão 2.17
Eu parei de informar incompatibilidade com a 2.17 pq não achei mais nenhuma aqui.

Código: Selecionar todos

HWGUI 2.19 build 3 ( 08.05.2015 )
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[+] Rich syntax text editor has been added to utils
[*] Improved compatibility with 2.17 version.
[!] Some bug fixes and improvements

HWGUI 2.19 build 2 ( 27.01.2015 )
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[*] :Enabled() SETGET method is introduced for all controls (HControl class),
    :isEnabled() has been removed.
[*] :GetValue(), :SetValue() methods was removed and new :Value SETGET method is
    introduced instead for those controls, which may input from the user.
[*] Improved compatibility with 2.17 version.
[!] Some bug fixes

HWGUI 2.19 ( 20.12.2014 )
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[*] Real Unicode (utf-8) support.
[*] Binary containers added as a crossplatform alternative for resources ( rc files ).
[*] A virtual printer ".buffer" added. It allows to create a print
    metafile and preview it if no one printer is installed
[*] Many improvements in utils ( dbc, debugger, designer, tutorial ).
[*] GTK version: significantly extended, improved compatibility with winapi version.
[*] Improved compatibility with 2.17 version.
[!] Some bug fixes, as usual


HWGUI 2.18 build 2 ( 03.04.2014 )
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[+] The debugger: array inspector, object inspector, commands support
    has been added.
[+] Duplex printing support added.
[*] The editor and the tutorial are gtk compatible now
[*] Processing of hot keys is implemented via hook procedures in both
    winapi and gtk versions and works for any control now.
    SET KEY GLOBAL command added.
[*] Combobox control can accept now multidimensional arrays.
[*] Improved compatibility with 2.17 version.
[!] Some bug fixes

HWGUI 2.18 ( 19.07.2013 )
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[*] There was a lot of changes since last release, I can't now make
    a well structured list of them, maybe, later ...
    For now, see the Changelog.
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Header Browse Gradiente

Mensagem por Itamar M. Lins Jr. »

Ola!
Outro detalhe importante que pode passar desapercebido.
O Alexander Kresin, antes de criar a Hwgui, ajudou na criação do Harbour. Só esse pequeno detalhe ai!
Em 29 maio de 1999 ele já ajudava na criação do Harbour.

Código: Selecionar todos

1999/05/29-23:46 Alexander Kresin
  Preprocessor: implementation of #command almost complete
  Updated:
   * source/hbpp/hbpp.c - main preprocessor file
   * source/hbpp/harb.c
   * source/hbpp/c.prg  - sample file
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Header Browse Gradiente

Mensagem por asimoes »

gilbertosilverio escreveu:Simões,

Obrigado por compartilhar teu Fork, compilei e sem mexer nos fontes o visual do Browse ja ficou mais agradavel.
O principal objetivo desse forma foi manter a compatibilidade com a versão original 2.17, ninguém é obrigado ao uso desta versão, o código fonte está disponível para qualquer um melhorar, tive o mesmo problema que você Gilberto ao tentar usar a versão 2.18 ... eu não poderia colocar em produção uma versão instável, minha opinião
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Header Browse Gradiente

Mensagem por asimoes »

Se a 2.17 ainda tem big, eu ainda não recebi do meu sistema esse bug, inclusive do meu usuário que é muito exigente, então considero estável a versão que eu uso, esse visual preferi usar somente no browser, pra que mais do que isso?
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Header Browse Gradiente

Mensagem por Itamar M. Lins Jr. »

Ola!
tive o mesmo problema que você Gilberto ao tentar usar a versão 2.18 ... eu não poderia colocar em produção uma versão instável, minha opinião
Eu também tive, a diferença foi que na época eu fazia testes e reportava BUGs. E fazia alterações no meu sistema para se ajustar as novas versões.
Usava a estável e reportava bugs da instável, igualzinho aconteceu no problema reportado pelo José Quintas, aqui na seção Hwgui.
Pq as incompatibilidades foram na sintaxe. Por exemplo, tem o BrowseEx e ColumnEx na Hwgui 2.17 e Browse e Column. O BrowseEx tem os códigos do Luis Basso. Poucos sabem disso. As modificações que só rodam no Windows exclusivas, foram chamadas de controle extendidos. Na pasta ext_controls.

Código: Selecionar todos

Pasta de C:\devl\hwgui-code\hwgui\contrib\ext_controls

11/12/2019  15:57    <DIR>          .
11/12/2019  15:57    <DIR>          ..
11/12/2019  15:57           144.529 hbrowsex.prg
11/12/2019  15:57            45.935 hcomboex.prg
11/12/2019  15:57            54.863 hctrlex.prg
11/12/2019  15:57             9.709 hgridex.prg
11/12/2019  15:57             6.194 hrectex.prg
11/12/2019  15:57            64.368 theme.c
               6 arquivo(s)        325.598 bytes
               2 pasta(s)   198.627.954.688 bytes disponíveis
Reparem que é na parte visual, temas.

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
gilbertosilverio
Usuário Nível 3
Usuário Nível 3
Mensagens: 339
Registrado em: 18 Jan 2009 10:39
Localização: Ribeirao Pires - SP

Header Browse Gradiente

Mensagem por gilbertosilverio »

Simões,

Acho que e um Bug...

Se montar o Browse neste formato os descritivos das colunas so aparece se você clicar e segurar sobre as colunas.

Na primeira imagem posicionei sobre os descritivos da coluna e segurei teclado, na segunda imagem nao aparecem os descritivos.

Código: Selecionar todos

       @ 13,070 BROWSE oBrw1 DATABASE SIZE 960,310 STYLE WS_TABSTOP     ;
                ON POSCHANGE {|| EVAL(oBrw2:bFirst), xEAN_DI:=xESTOQUE->EAN ,ESTOQUE_onPosChange(), oBrw2:Refresh(), ThisBUSCA:Refresh() }

       oBrw1:nHeadHeight := 25
       oBrw1:alias       := 'xESTOQUE'
       oBrw1:nColumns    := 14
       oBrw1:freeze      := 1
       oBrw1:lDispHead   := .T.
       oBrw1:lSep3d      := .T.
       oBrw1:lAdjRight   := .F.

       SELECT (oBrw1:alias)

       oBrw1:AddColumn( HColumn():New('EAN'       , FieldBlock( 'EAN' )       ,'C',16, 0 ,.F.,0,0,,,,,,,,,))
       oBrw1:AddColumn( HColumn():New('Descrição' , FieldBlock( 'DESCRICAO' ), 'C',45, 0 ,.F.,0,0,,,,,,,,,)) // DIREITA
       oBrw1:AddColumn( HColumn():New('Fornecedor', FieldBlock( 'FORNECEDOR' ),'C',15, 0 ,.F.,0,0,,,,,,,,,))
       oBrw1:AddColumn( HColumn():New('Estoque'   , FieldBlock( 'QTDEESTOQU') ,'N',08, 0 ,.F.,2,2,,,,,,,,,))
       oBrw1:AddColumn( HColumn():New('Reservado' , FieldBlock( 'QTDEVENDA' ) ,'N',08, 0 ,.F.,2,2,,,,,,,,,))
       oBrw1:AddColumn( HColumn():New('Sal Base'  , FieldBlock( 'SALBASE' )   ,'C',70, 0 ,.F.,0,0,,,,,,,,,))
       oBrw1:AddColumn( HColumn():New('Promoção'  , FieldBlock( 'MINIMO' ),    'N',05, 0 ,.F.,1,1,,,,,,,,,)) // ESQUERDA
       oBrw1:AddColumn( HColumn():New('Codigo'    , FieldBlock( 'CODIGO' )    ,'N',06, 0 ,.F.,0,0,,,,,,,,,))
       oBrw1:AddColumn( HColumn():New('P.M.C.'    , FieldBlock( 'PRECOMC' )   ,'N',12, 2 ,.F.,2,2,,,,,,,,,))
       oBrw1:AddColumn( HColumn():New('Preço Fab' , FieldBlock( 'TABELA01' )  ,'N',12, 2 ,.F.,2,2,,,,,,,,,))
       oBrw1:AddColumn( HColumn():New('NCM'       , FieldBlock( 'CLFI' )      ,'C',11, 0 ,.F.,2,2,,,,,,,,,))
       oBrw1:AddColumn( HColumn():New('CEST'      , FieldBlock( 'CEST' )      ,'C',09, 0 ,.F.,2,2,,,,,,,,,))
       oBrw1:AddColumn( HColumn():New('P/N/E'     , FieldBlock( 'CATEGORIA' ) ,'C',01, 0 ,.F.,2,2,,,,,,,,,))
       oBrw1:AddColumn( HColumn():New('E/S/G/O'   , FieldBlock( 'TIPO' )      ,'C',01, 0 ,.F.,2,2,,,,,,,,,))

       oBrw1:bKeyDown := { |o,key|HB_SYMBOL_UNUSED(o),IIF(key==27,(hwg_EndDialog(oDlg:handle),.F.),a_BrwKeyfun(o,key))}

       oBrw1:aColumns[02]:bHeadClick := {|| oBrw1_2_onHeadClick( ) }  // 1 - Descricao
       oBrw1:aColumns[03]:bHeadClick := {|| oBrw1_3_onHeadClick( ) }  // 3 - Fornecedor
       oBrw1:aColumns[06]:bHeadClick := {|| oBrw1_6_onHeadClick( ) }  // 2 - sAL
       oBrw1:aColumns[04]:bHeadClick := {|| oBrw1_4_onHeadClick( ) }  // 9 - qtde

       oBrw1:nFootRows := 1                                 // numero de colunas para mostrar os totais no final do browse
       oBrw1:acolumns[01]:footing    := [ ]
       oBrw1:acolumns[02]:footing    := [<F5>Descricao    <F6>SalBase    <F7>Fornecedor]
       oBrw1:aColumns[01]:nJusFoot   := DT_RIGHT
       oBrw1:aColumns[02]:nJusFoot   := DT_CENTER
       FOR nG := 1 TO 14
          oBrw1:aColumns[nG]:bColorFoot := {|ng| {x_BLUE, x_YELLOW} }
       NEXT
       FOR nI := 1 TO 14
           oBrw1:aColumns[nI]:bColorBlock := ;     // LETRA   CAIXA    LET_CX  BARRA
                 {|nI| IF(xESTOQUE->QTDEESTOQU  > 0, {x_RED, x_WHITE, x_BLACK, CINZA}, {x_BLACK, x_WHITE, x_BLACK, CINZA} )}
       NEXT
       oBrw1:aColumns[7]:bColorBlock := ;
             {|n| IF( ( xESTOQUE->MINIMO < 10 .AND. xESTOQUE->(QTDEESTOQU-QTDEVENDA) > 0), ;
                       {x_BLUE, x_WHITE, x_WHITE, CINZA}, {CINZA, CINZA, CINZA, CINZA} )}
       oBrw1:Anchor   := 15
       oBrw1:Refresh()

       @ 13,390 BROWSE oBrw2 DATABASE SIZE 960,200 STYLE WS_TABSTOP AUTOEDIT                  ;
            FIRST {|| XARDEX->( DBSEEK(xESTOQUE->(SUBSTR(DESCRICAO,1,49)), .F.) ) }           ;
            WHILE {|| XARDEX->(SUBSTR(DESCRICAO,1,49)) == xESTOQUE->(SUBSTR(DESCRICAO,1,49))} ;
            ON UPDATE {|| kardex_onPosChange() }

       oBrw2:nHeadHeight := 24
       oBrw2:alias       := 'xARDEX'
       oBrw2:nColumns    := 4
       Obrw2:freeze      := 1

       SELECT (oBrw2:alias)

       oBrw2:AddColumn( HColumn():New('Descrição', FieldBlock( 'DESCRICAO' ) ,'C',50, 0 ,.F.,0,0,,,,,,,,,)) // ESQUERDA
       oBrw2:AddColumn( HColumn():New('N Lote'   , FieldBlock( 'nlote' )     ,'C',20, 0 ,.T.,0,0,,,,,,,,,))
       oBrw2:AddColumn( HColumn():New('Validade' , FieldBlock( 'validade')   ,'C',10, 0 ,.T.,0,0,'99/9999',,,,,,,,)) // CENTRO
       oBrw2:AddColumn( HColumn():New('Qtde'     , FieldBlock( 'qtde' )      ,'N',06, 0 ,.T.,1,2,'9999999',,,,,,,,))

       oBrw2:acolumns[03]:footing    := [Qtde Total: ]
       oBrw2:acolumns[04]:footing   := TRANSF( fVLR01, [@E 999,999] )
       oBrw2:aColumns[03]:nJusFoot   := DT_RIGHT
       oBrw2:aColumns[04]:nJusFoot   := DT_RIGHT

       FOR nG := 1 TO 4
          oBrw2:aColumns[nG]:bColorFoot := {|ng| {x_BLUE, x_YELLOW} }
       NEXT
       oBrw2:Anchor := ANCHOR_LEFTABS  + ANCHOR_BOTTOMABS //12+ ANCHOR_RIGHTABS
       oBrw2:Refresh()

Anexos
t3.png
t1.png
GilbertoSilverio
gilbertosilverio@gmail.com
gilbertosilverio2003@yahoo.com.br
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Header Browse Gradiente

Mensagem por Itamar M. Lins Jr. »

Ola!
Se a 2.17 ainda tem big, eu ainda não recebi do meu sistema esse bug, inclusive do meu usuário que é muito exigente, então considero estável a versão que eu uso, esse visual preferi usar somente no browser, pra que mais do que isso?
Uê! essa versão 2.17 já foi modificada pelo Kresin.
O Alexey Myronenko já tinha criado os arquivo .HBP do hbmk2...
Porém a troca principal foi quando ele criou a pasta ext_controls, ai foi quando quebrou a compatibilidade com browse, button, combobox...

Ai entre várias msg de bugs e incompatibilidades, mandei essa para ele...

Código: Selecionar todos

Itamar M. Lins Jr. Lins writes:
> Hi!
> Will 2.18 recover features of Luis Basso ?

  Yes. It will be very helpful if someone give a list of these features, 
which he use, with a short explanation or a sample prg.

Regards, Alexander.
Mas pq ele teve que fazer isso ? Essa msg abaixo pode esclarecer alguma coisa. O pessoal não estava conseguindo estabilizar a Hwgui, e ainda tinha a mudança para UTF8 a caminho.

Código: Selecionar todos

Hi Alex,

2013/6/20 Alexander S.Kresin <alex@...>

> Przemyslaw Czerpak writes:
>
> >
> > Fatal code quality which begins to be problematic to keep it alive.
> > Nothing amazing but something what has to happen sooner or later.
>
>   This is exactly what I'm talking about last time.
>

And what I was meaning when you came back to hwgui and I told about the
try-and-go growth of the library.


>
> > But it covers only very small subset of problems created by code
> > which converts windows handles and pointers to numeric values and
> > only for Win32. The time shows that it was bad decision because
> > nothing has really changed in HWGUI code in next years.
>
>    This conversion of pointers to numeric values ( HWG_PTRTOULONG()
> function ), which is used everywhere in the code creates those problems
> with focus, colors, etc.
>    HwGUI 2.16c is free of this problem, this is one of the reasons why I
> suggest to get it as a base. It isn't ideal :), but it is much more clean.
>
>
I already agreed with you and it seems to be the only way to have hwgui
working good.
I think that's better to add on a rocky base the new features, than to
patch erratically a collapsing building.
All the contributions of Basso and Culik since 2.16c could be implemented
after purging them of pointers bugs.
I'm trying to resume what, after 2.16c, was a patch and what a new feature.
Maybe applying the introduced patches, before to add the enhancements,
could be the right way.
Regards.
Maurizio
O problema não é BUG, porém essa versão da Hwgui 2.17 não trabalha com UTF8.

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Header Browse Gradiente

Mensagem por asimoes »

gilbertosilverio escreveu:Acho que e um Bug...

Se montar o Browse neste formato os descritivos das colunas so aparece se você clicar e segurar sobre as colunas.

Na primeira imagem posicionei sobre os descritivos da coluna e segurei teclado, na segunda imagem nao aparecem os descritivos.
Você está usando browse Array ou DBF ?
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Header Browse Gradiente

Mensagem por asimoes »

Gilberto,

São 2 grids na mesma tela é isso ? a primeira grid mostra e a segunda não mostra ?
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
gilbertosilverio
Usuário Nível 3
Usuário Nível 3
Mensagens: 339
Registrado em: 18 Jan 2009 10:39
Localização: Ribeirao Pires - SP

Header Browse Gradiente

Mensagem por gilbertosilverio »

Simoes,

Realmente nao entendi o por que, desta maneira funciona perfeitamente

Código: Selecionar todos

      P_CreateColumn( oBrw1, V1[15], V3[15], "COPG", nORDEM, V2[15], V4[15], V5[15])
      P_CreateColumn( oBrw1, V1[16], V3[16], "COPG", nORDEM, V2[16], V4[16], V5[16])

      oBrw1:bKeyDown := { |o,key|HB_SYMBOL_UNUSED(o),IIF(key==27,(hwg_EndDialog(oDlg_PESQPGTO:handle),.F.),a_BrwKey_01(o,key,"COPG"))}

      oBrw1:Refresh()

      @ 320,340 BUTTON oButton5 CAPTION "Sai&r"     SIZE 100,32 STYLE WS_TABSTOP ;
                ON CLICK {|| xREC:=COPG->(RECNO()), CARREGA_PGTO(@xREC), DBCLOSEALL(), oDLG_PESQPGTO:Close() }

   ACTIVATE DIALOG oDlg_PESQPGTO

return nil
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *>
FUNCTION P_CreateColumn( oBrw, oCol, oHead, oAr, seq, xPIC, oLen, oDec )
   Local i
   Local nArea := &oAr->(select())
   IF VALTYPE(&oAr->(&oCol)) = [C]
      oBrw:AddColumn( HColumn():New( oHead , FieldWBlock( oCol, nArea ),[C], oLen , oDec , .F. ,DT_LEFT  , DT_LEFT  , xPIC ))
   ELSEIF VALTYPE(&oAr->(&oCol)) = [N]
      oBrw:AddColumn( HColumn():New( oHead , FieldWBlock( oCol, nArea ),[N], oLen , oDec , .F. ,DT_RIGHT , DT_RIGHT , xPIC ))
   ELSEIF VALTYPE(&oAr->(&oCol)) = [D]
      oBrw:AddColumn( HColumn():New( oHead , FieldWBlock( oCol, nArea ),[D], oLen , oDec , .F. ,DT_RIGHT , DT_RIGHT , xPIC ))
   ELSE
      oBrw:AddColumn( HColumn():New( oHead , FieldWBlock( oCol, nArea ),   , oLen , oDec , .F. ,DT_CENTER, DT_CENTER, xPIC ))
   ENDIF
   oBrw:Refresh()
RETURN Nil
Se quiser testa o exemplo da pasta samples colrbloc.prg e ve se pra vc acontece também.

Olhe a imagem, se você arrastar a coluna para aumentar também da erro.

A imagem sobreposta e a rotina acima, ela funciona perfeitamente.
Anexos
t1.png
GilbertoSilverio
gilbertosilverio@gmail.com
gilbertosilverio2003@yahoo.com.br
Responder