Página 1 de 1

Atualizar no SVN novo hbrowse.prg

Enviado: 21 Mai 2024 10:32
por Itamar M. Lins Jr.
Olá!
Deixando aqui para quem tem acesso ao SVN add.

Arquivo na pasta \include\guilib.ch
Opção adicionada ON KEYDOWN no get da coluna.
ON KEYDOWN é CHECADO antes do VALID, pode mudar a ordem coloquei entre valid e when.

Código: Selecionar todos

#xcommand ADD COLUMN <block> TO <oBrw> ;
            [ HEADER <cHeader> ]       ;
            [ TYPE <cType> ]           ;
            [ LENGTH <nLen> ]          ;
            [ DEC <nDec>    ]          ;
            [ <lEdit: EDITABLE> ]      ;
            [ JUSTIFY HEAD <nJusHead> ];
            [ JUSTIFY LINE <nJusLine> ];
            [ PICTURE <cPict> ]        ;
            [ VALID <bValid> ]         ;
            [ ON KEYDOWN <bKeyDown> ]  ;
            [ WHEN <bWhen> ]           ;
            [ ITEMS <aItem> ]          ;
            [ COLORBLOCK <bClrBlck> ]  ;
            [ BHEADCLICK <bHeadClick> ]  ;
          => ;
    <oBrw>:AddColumn( HColumn():New( <cHeader>,<block>,<cType>,<nLen>,<nDec>,<.lEdit.>,;
                      <nJusHead>, <nJusLine>, <cPict>, <{bValid}>, <{bKeyDown}>, <{bWhen}>, <aItem>, <{bClrBlck}>, <{bHeadClick}> ) )

#xcommand INSERT COLUMN <block> TO <oBrw> ;
            [ HEADER <cHeader> ]       ;
            [ TYPE <cType> ]           ;
            [ LENGTH <nLen> ]          ;
            [ DEC <nDec>    ]          ;
            [ <lEdit: EDITABLE> ]      ;
            [ JUSTIFY HEAD <nJusHead> ];
            [ JUSTIFY LINE <nJusLine> ];
            [ PICTURE <cPict> ]        ;
            [ VALID <bValid> ]         ;
            [ ON KEYDOWN <bKeyDown> ]  ;
            [ WHEN <bWhen> ]           ;
            [ ITEMS <aItem> ]          ;
            [ BITMAP <oBmp> ]          ;
            [ COLORBLOCK <bClrBlck> ]  ;
            INTO <nPos>                ;
          => ;
    <oBrw>:InsColumn( HColumn():New( <cHeader>,<block>,<cType>,<nLen>,<nDec>,<.lEdit.>,;
                      <nJusHead>, <nJusLine>, <cPict>, <{bValid}>, <{bKeyDown}>, <{bWhen}>, <aItem>, <oBmp>, <{bClrBlck}> ),<nPos> )
Arquivo na pasta \source\winapi\hbrowse.prg
Linha 87: bKeyDown

Código: Selecionar todos

   DATA bValid, bKeyDown, bWhen  // When and Valid and bKeyDown codeblocks for cell editing
Linha 101: bKeyDown

Código: Selecionar todos

   METHOD New( cHeading, block, type, length, dec, lEditable, nJusHead, nJusLin, cPict, bValid, bKeyDown, bWhen, aItem, bColorBlock, bHeadClick )
Linha 105: bKeyDown

Código: Selecionar todos

METHOD New( cHeading, block, type, length, dec, lEditable, nJusHead, nJusLin, cPict, bValid, bKeyDown, bWhen, aItem, bColorBlock, bHeadClick ) CLASS HColumn
Linha 117: ::bKeyDown := bKeyDown

Código: Selecionar todos

 
  ::picture   := cPict
   ::bValid    := bValid
   ::bKeyDown  := bKeyDown
   ::bWhen     := bWhen
Linha 1960. ON KEYDOWN ;

Código: Selecionar todos

            IF type <> "M"
               @ 0, 0 GET oGet VAR ::varbuf      ;
                  SIZE nWidth, ::height + 1      ;
                  NOBORDER                       ;
                  STYLE ES_AUTOHSCROLL           ;
                  FONT ::oFont                   ;
                  PICTURE oColumn:picture        ;
                  ON KEYDOWN oColumn:bKeyDown    ; 
                  VALID oColumn:bValid
            ELSE
Atenção que tem o bKeyDown do Browse, Esse é da coluna do browse.
No Linux não olhei ainda.

Saudações,
Itamar M. Lins Jr.

Atualizar no SVN novo hbrowse.prg

Enviado: 21 Mai 2024 12:43
por JoséQuintas
Por enquanto não pode ser alterado, porque vai criar problemas na compabilidade windows e linux
A lista de variáveis vai ficar diferente.

Opção:
Se não der pra fazer completo, pelo menos acrescentar o bKeyDown no linux.
Assim, não vai dar conflito, apenas não vai ter o recurso a mais no linux.

Lembrando:
Já teve versão resetada uma vez, na 2.17, removendo adicionais, se não tomar cuidado pode acabar removendo de novo.
É só comentário. Essa alteração não me parece ter nada fora do comum, é até importante.


Por enquanto aqui resolvendo pipino complicado.
Rede de supermercado comprando outras redes de supermercado.
Tabela de preços que era por CNPJ não pode ser mais, vínculos/bloqueios de prazos diferentes atrapalhando, etc.

Atualizar no SVN novo hbrowse.prg

Enviado: 21 Mai 2024 13:21
por Itamar M. Lins Jr.
Olá!
Não vai conflitar com Linux.
No Linux é outro código. Outro fonte.
Conflitaria se já estivesse no Linux.
Eu bem sei o que tem no Windows na classe hBrowse e não tem no Linux... Algumas dezenas de funções.

Saudações,
Itamar M. Lins Jr.

Atualizar no SVN novo hbrowse.prg

Enviado: 21 Mai 2024 13:25
por Itamar M. Lins Jr.
Olá!
Alias, olhei rapidamente, é só fazer a mesma coisa na pasta GTK
Essa parte é igual.

Saudações,
Itamar M. Lins Jr.

Atualizar no SVN novo hbrowse.prg

Enviado: 21 Mai 2024 15:03
por JoséQuintas
O código pode ser outro, mas tem a questão do CH.
Se o CH coloca os parâmetros faltando ou fora de ordem vai dar problema.

Atualizar no SVN novo hbrowse.prg

Enviado: 21 Mai 2024 15:18
por Itamar M. Lins Jr.
Olá!
É o mesmo ch.
Arquivo windows.ch tem os código das teclas, etc para os dois.
Arquivo guilib.ch só tem 1 mesmo.

Saudações,
Itamar M. Lins Jr.

Atualizar no SVN novo hbrowse.prg

Enviado: 21 Mai 2024 15:36
por Itamar M. Lins Jr.
Olá!
Esquece por enquanto no Linux.
A classe hedit.prg no Linux não tem ON KEYDOWN. (tem no guilib.ch porque é único) mas está desligado ou inacabado no Linux.
Na classe hBrowse.prg(get da coluna) usa hedit.prg

hedit.prg na pasta gtk.

Código: Selecionar todos

 ::cType := ValType( vari )
   ::title := vari
   ::bSetGet := bSetGet
   //::bKeyDown := bKeyDown
Saudações,
Itamar M. Lins Jr.

Atualizar no SVN novo hbrowse.prg

Enviado: 21 Mai 2024 15:48
por Itamar M. Lins Jr.
Olá!
Tabela de preços que era por CNPJ não pode ser mais, vínculos/bloqueios de prazos diferentes atrapalhando, etc.
Até onde sei os CNPJ no final difere 0001/0002/0003 para filiais.
No TOTVS tem um campo empresa 00001/00002... vinculado em todas as tabelas em caso de jogar tudo em um servidor central.

Saudações,
Itamar M. Lins Jr.