Página 1 de 1

Itamar, testes hwgui

Enviado: 07 Abr 2025 18:05
por JoséQuintas
Tem como fazer um ou dois testes por aí ?
Estou enviando a pasta inteira pra não deixar nada de fora, é a samples hwgui modificada.
Salve em hwgui/test/samples
samples.zip
(371.91 KiB) Baixado 77 vezes
Os testes são relativamente simples
Em Windows ok, em Linux e MacOs não faço idéia.
Mas minha máquina é duvidosa porque nela tudo funciona.

Alterei alguns samples pra dlgxxxxx.prg
Criei um all.prg/all.hbp
Criei o hbmk.hbc, ele dá a configuração pra tudo, não precisa hbp, exceto pro menu que pega vários prgs.

A idéia é poder compilar qualquer sample direto hbmk2 dlgxxxx
E compilar o menu com tudo all.hbp
Não só isso, qualquer novo sample pode incluir os exemplos que já existem.
E também tem exemplo composto, o splitter por exemplo nem se percebe que existe, e é um recurso interessante.
Nesses casos, o menu poderia ter duas indicações para o mesmo sample, ao invés de criar outro.

Já sei que alguns exemplos não vão entrar nesse menu.
MDI por exemplo é um deles.
Mas talvez dê pra criar um all_mdi.prg depois, desde que não encha os outros de #ifdef e compliquem os exemplos

é compilar qualquer dlg*
é compilar o all.hbp
Se quiser também o all_mt, mas não é importante, não entendi porque Wilfried cria uma wvt em Linux.

Itamar, testes hwgui

Enviado: 07 Abr 2025 18:17
por JoséQuintas
aqui tenho minhas dúvidas:

Código: Selecionar todos

# GTK2
{linux}../../hwgui.hbc
{darwin}../../hwgui_mac.hbc
# GTK3: Deactivate previous lines
# and activate following lines
#{linux}../../hwguiGTK3.hbc
#{darwin}../../hwgui_mac_gtk3.hbc

../../hwgui.hbc
Mas parece que no hbmk2 do harbour 3.2 não obedece igual hbmk2 do harbour 3.4
O normal seria

Código: Selecionar todos

libpaths=../../
libs=hwgui.hbc

Itamar, testes hwgui

Enviado: 07 Abr 2025 22:40
por JoséQuintas
Resolvi aquilo trocando hbmk.hbc por hbmk.hbm, assim usa a sintaxe de HBP e não de HBC.

O que achou ?

Algo assim é muito útil, quando queremos procurar pelo visual e não pelo fonte.
Ou pra ver os recursos de forma mais rápida.
Melhor do que compilar exemplo a exemplo
Depois de ver pelo menu, só compilar o fonte sozinho.
O fonte contendo só o que interessa.

Na hwgui só atualizei o uso desse hbm, não alterei os samples ainda, apesar de mexer em todos os hbps.

Tem essa também, tem HBP demais.
Agora nem vai precisar da maioria, e criar o menu completa não precisar de hbp pra cada um, são 81 HBPs hoje.

Itamar, testes hwgui

Enviado: 07 Abr 2025 23:09
por JoséQuintas
Tive outra idéia pro ALL.PRG
Ele não é exemplo, não precisa ficar simples

Sei lá como definir isto

Código: Selecionar todos

aList :=  { ; // win, linux, MacOS
    { "DLGBRWDBF", .T., .T., .T., "Browse DBF" }   ;
    }

FOR EACH aItem IN aList
   lAdd :=  .F.
#ifdef __LINUX__
    IF aItem[ 2  ]
       lAdd :=  .T.
   ENDIF
#endif
#ifdef __MACOS__
   IF aItem[ 3 ]
      lAdd := .T.
   ENDIF
#endif
#ifndef __LINUX__
   #ifndef __MACOS__
    IF aItem[ 2 ]
       lAdd := .T.
   ENDIF
#endif
#endif
   IF lAdd
      MENUITEM a[1] + " - " + a[ 4 ] ACTION  Do( aItem[ 1 ] ) }
   ELSE
      MENUITEM a[1] +  " - " + a[ 4 ] + " not available"
   ENDIF
NEXT
Completa com o hbp

Código: Selecionar todos

{linux}demogtk.prg
{darwin}demoseila.prg
{win}demoseila.prg
{linux&darwin}demoseila.prg
demoqualquer.prg
Ainda vai servir pra mostrar qual roda aonde, ou qual falta equivalente, dispensando controles extras.

Itamar, testes hwgui

Enviado: 07 Abr 2025 23:38
por JoséQuintas
hwguitest.png
mais simples:

Código: Selecionar todos

/*
all.prg
menu for standard samples

First test
Only samples without dependency on this menu
*/

#ifdef __LINUX__
   #define __IS_AVAILABLE 3
#else
   #ifdef __MACOS__
      #define __IS_AVAILABLE 4
   #else
      #define __IS_AVAILABLE 2
   #endif
#endif

#include "hwgui.ch"

PROCEDURE Main

   LOCAL oDlg, aItem
   LOCAL aList := { ;
       ; // NAME, WIN, LINUX, MACOS, DESCRIPTION
       { "DLGBRWDBF", .T., .T., .T., "Browse DBF"  }, ;
       { "DLGMENU1",  .T., .T., .T., "Menu Screen Size" }, ;
       { "DLGDPICK",  .T., .T., .T., "Date Picker" }, ;
       { "DLGCOMBO",  .T., .T., .T., "Combobox" }, ;
       { "DLGBOT",    .T., .T., .T., "ON OTHER MESSAGES" }, ;
       { "DLGXML",    .T., .T., .T., "Setup from XML" }, ;
       { "---",       .F., .F., .F., "test" } }

   INIT DIALOG oDlg TITLE "ALL_1 - All samples" ;
     AT 200,0 SIZE 400,150

   MENU OF oDlg
      MENU TITLE "Samples"
         FOR EACH aItem IN aList
            IF aItem[ __IS_AVAILABLE ]
               MENUITEM aItem[ 1 ] + " - " + aItem[ 5 ]   ACTION { || Do( aItem[ 1 ] ) }
            ELSE
               MENU TITLE aItem[ 1 ] + " - " + aItem[ 5 ] + " not available"
               ENDMENU
            ENDIF
         NEXT
      ENDMENU
      MENUITEM "&Exit" ACTION hwg_EndDialog()
   ENDMENU

   ACTIVATE DIALOG oDlg CENTER

   RETURN

Itamar, testes hwgui

Enviado: 08 Abr 2025 11:41
por Itamar M. Lins Jr.
Olá!
De segunda até sexta pela manhã é windows, de tarde é Linux. rsrsrs
Pq estou fora de casa com notebook(manhã). Que é só windows.

Outro assunto, que não tem nada a ver com esse. Do certificado... Depois eu vejo... (tem um programa interessante...no Linux)

Saudações,
Itamar M. Lins Jr.

Itamar, testes hwgui

Enviado: 08 Abr 2025 16:46
por Itamar M. Lins Jr.
Olá!
Captura de imagem_20250408_165248.png
digitei: hbmk2 all.hbp e compilou sem erros.

Saudações,
Itamar M. Lins Jr.

Itamar, testes hwgui

Enviado: 08 Abr 2025 18:26
por JoséQuintas
linux.png
Achei lá o allhbp.hbp que compila tudo.
E lembrei do github.
Mas agora tá dando erro no github pra instalar o gcc... vai entender....
Não começa nem a compilar o harbour.

git install gcc

Itamar, testes hwgui

Enviado: 08 Abr 2025 21:09
por JoséQuintas
Não precisa mais o teste desses fontes em separado.
Está tudo oficial na hwgui, pode testar oficial direto.
Isso e um pouco mais.