Página 1 de 1
Hwgui GTK4 Inicio dos trabalhos. 23-09-2026
Enviado: 23 Set 2026 11:59
por Itamar M. Lins Jr.
Olá!
Vamos que vamos!
Código: Selecionar todos
2026-09-23 11:29 UTC-0300 Itamar Junior <itamarlins@gmail.com>
+ hwgui/hwguiGTK4.hbp
+ hwgui/hwguiGTK4.hbc
+ hwgui/hwguiGTK4.hbm
+ hwgui/source/gtk4/
Initial commit for the HWGUI GTK4 port.
Added hwguiGTK4.hbp (Harbour project file), hwguiGTK4.hbc (build
configuration) and hwguiGTK4.hbm (makefile) as the base for the
GTK2 to GTK4 migration.
Added the source/gtk4/ directory containing the initial GTK4
source files, headers and supporting resources for the port.
"Até aqui nos ajudou o Senhor" !
Samuel 7:12
Re: Hwgui GTK4 Inicio dos trabalhos. 23-09-2026
Enviado: 23 Set 2026 14:31
por Itamar M. Lins Jr.
Olá!
Utilitário bincnt, que eu uso. Já compila usando GTK4.
Código: Selecionar todos
2026-09-23 14:21 UTC-0300 Itamar Junior <itamarlins@gmail.com>
* hwgui/source/gtk4/commond.c
Fix hwg_SelectFile returning an empty string in GTK4.
The async callback always called
gtk_file_dialog_open_multiple_finish(), which returns NULL for
single-file and folder dialogs. The callback now dispatches to
the correct *_finish() based on the operation mode:
gtk_file_dialog_open_finish() for single file,
gtk_file_dialog_open_multiple_finish() for multiple files, and
gtk_file_dialog_select_folder_finish() for folders.
2026-09-23 13:43 UTC-0300 Itamar Junior <itamarlins@gmail.com>
+ hwgui/utils/bincnt/bincntGTK4.hbp
Added bincntGTK4.hbp to build the bincnt utility against the
GTK4 version of HWGUI (uses hwguiGTK4.hbc). The original
bincnt.hbp is kept for the GTK2/Win32 builds.
2026-09-23 13:18 UTC-0300 Itamar Junior <itamarlins@gmail.com>
+ hwgui/source/common/editor/hcedit_l_gtk4.c
Added GTK4-specific version of hcedit_l.c. Keeps the original
file intact for GTK2, avoiding #ifdef clutter.
+ hwgui/procmiscGTK4.hbp
GTK4 variant of procmisc.hbp, compiling hcedit_l_gtk4.c.
Applications targeting GTK4 should link this library instead
of procmisc.
2026-09-23 12:30 UTC-0300 Itamar Junior <itamarlins@gmail.com>
+ hwgui/include/hwgtk4.h
Added missing header hwgtk4.h to the initial GTK4 port commit (r3971).

- Captura_de_tela_20260923_143009.png (36.91 KiB) Exibido 39 vezes
Re: Hwgui GTK4 Inicio dos trabalhos. 23-09-2026
Enviado: 23 Set 2026 22:11
por Itamar M. Lins Jr.
Olá!
Os temas! fluindo! Dark, Air...., dentro do browse, cabeçalhos, linhas etc...O GTK4 conversa com o gerenciador de janelas.
Ai não fui eu que pintei, redesenhei... fiquei mexendo aqui, ali... O sistema pega o tema do KDE/Gnome/Windows e aplica.
Mas eu posso escolher meu thema.css e mudar, caso não queira que meu app obedeça o tema do OS.(Gerenciador de janelas) no caso do Linux.

- Captura_de_tela_20260923_220122.png (57.3 KiB) Exibido 17 vezes

- Captura_de_tela_20260923_220653.png (94.89 KiB) Exibido 17 vezes

- Captura_de_tela_20260923_220929.png (209.64 KiB) Exibido 17 vezes
Muda conforme o thema que escolhemos.
Re: Hwgui GTK4 Inicio dos trabalhos. 23-09-2026
Enviado: 23 Set 2026 22:16
por Itamar M. Lins Jr.
Olá!
Pedaço do código que tive que ajustar, pq esse utilitário é compilado no Windows/GTK2/GTK4
Código: Selecionar todos
FUNCTION Main( cContainer )
LOCAL oMainW, oMainFont, oMenuBrw
LOCAL nBkColor, nFgColor, nHeadBg, nHeadFg, nSelBg, nSelFg, nSepColor
LOCAL aColors
LOCAL oStyle
LOCAL bRClick
#ifdef __HWGUI_GTK4__
/*
* GTK4: read the current theme (light or dark) from the system
* and use matching colours. Bar, browse, header and status panel
* then follow the desktop theme (KDE / GNOME).
*/
aColors := hwg_GetThemeColors()
nBkColor := aColors[1] /* bg */
nFgColor := aColors[2] /* fg */
nHeadBg := aColors[6] /* header_bg */
nHeadFg := aColors[7] /* header_fg */
nSelBg := aColors[4] /* sel_bg */
nSelFg := aColors[5] /* sel_fg */
nSepColor := aColors[8] /* separator */
#else
/*
* Windows and GTK2: keep the original fixed light palette.
*/
nBkColor := 0xffffff
nFgColor := 0
nHeadBg := 0xffffff
nHeadFg := 0xbbbbbb
nSelBg := 0xeeeeee
nSelFg := 0
nSepColor := 0xbbbbbb
#endif
oStyle := HStyle():New( { nHeadBg, nSepColor } )
bRClick := {|o,nCol,nLine|
LOCAL n := nLine, nRec := Eval( o:bRecno,o )
IF n != nRec
DO WHILE n != nRec
IF n < nRec
o:LineUp()
n ++
ELSE
o:LineDown()
n --
ENDIF
ENDDO
ENDIF
oMenuBrw:Show( HWindow():GetMain() )
RETURN Nil
}
PREPARE FONT oMainFont NAME "Georgia" WIDTH 0 HEIGHT - 17 CHARSET 4
INIT WINDOW oMainW MAIN TITLE "Binary container manager" ;
AT 200, 0 SIZE 600, 540 FONT oMainFont ON EXIT {||CntClose()}
E mudei no HBP(próprio para gtk4)
Código: Selecionar todos
# $Id$
#
# bincntGTK4.hbp - GTK4 variant of bincnt.hbp
#
# Special parameters for LINUX/GTK4
{linux}-lm
{linux}-lz
{linux}-static
{linux}-d__LINUX__
{linux}-d__GTK__
# GTK4
{linux}../../hwguiGTK4.hbc
{linux}-d__HWGUI_GTK4__
-L../..
-n -w1
-o../../bin/bincnt
bincnt.prg
# ============== EOF of bincntGTK4.hbp =============
Re: Hwgui GTK4 Inicio dos trabalhos. 23-09-2026
Enviado: 23 Set 2026 23:30
por Itamar M. Lins Jr.
Olá!
Arquivo message.c todo refeito 100% GTK4.
Mensagens no idioma do usuário.
Com o tema, aplicado.

- Captura_de_tela_20260923_232838.png (25.19 KiB) Exibido 6 vezes
Como é hoje no Windows.

- Captura_de_tela_20260923_233223.png (9.91 KiB) Exibido 5 vezes