Projeto HwGui - Biblioteca visual para Harbour/xHarbour
Moderador: Moderadores
Itamar M. Lins Jr.
Administrador
Mensagens: 8206 Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 6 vezes
Curtiram: 1 vez
Mensagem
por Itamar M. Lins Jr. » 08 Ago 2026 12:44
Olá!
Adicionado a opção Enable/Disable na (Tab Control)
Creio que foram "comitadas" todas as contribuições oferecidas pelo Deivid no SVN da Hwgui.
Falta essa opção no Linux, em adamento. Pq não é só mudar no fonte, tem que testar também.
Código: Selecionar todos
2026-08-08 12:39 UTC-0300 Itamar Lins <itamarlins at gmail.com>
* source\winapi\control.c
* source\winapi\dialog.c
* source\winapi\htab.prg
- Add Tab Control Enable/Diasable option. Windows OS
Thanks to Deivid José de Souza.
Compatible with old version of Hwgui 2.17
- See https://pctoledo.org/viewtopic.php?p=170966#p170966
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
Administrador
Mensagens: 8206 Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 6 vezes
Curtiram: 1 vez
Mensagem
por Itamar M. Lins Jr. » 08 Ago 2026 21:42
Olá!
E vamos nós lá pro Linux!
Código: Selecionar todos
2026-08-08 21:35 UTC-0300 Itamar Lins <itamarlins at gmail.com>
* source/gtk/window.c
- Add custom GLib/GTK log handler 'hwg_gtk_log_handler' inside HB_FUNC( HWG_GTK_INIT ).
Suppressed benign focus-change and window-quit legacy runtime assertions to keep
the terminal environment clean.
Silenced warnings list:
- g_object_ref: assertion 'G_IS_OBJECT (object)' failed
- g_object_freeze_notify: assertion 'G_IS_OBJECT (object)' failed
- IA__gtk_widget_has_default: assertion 'GTK_IS_WIDGET (widget)' failed
- IA__gtk_widget_get_receives_default: assertion 'GTK_IS_WIDGET (widget)' failed
- IA__gtk_widget_send_focus_change: assertion 'GTK_IS_WIDGET (widget)' failed
- g_object_notify: assertion 'G_IS_OBJECT (object)' failed
- g_object_thaw_notify: assertion 'G_IS_OBJECT (object)' failed
- g_object_unref: assertion 'G_IS_OBJECT (object)' failed
- IA__gtk_main_quit: assertion 'main_loops != NULL' failed
2026-08-08 20:45 UTC-0300 Itamar Lins <itamarlins at gmail.com>
* source/gtk/control.c
* source/gtk/htab.prg
- Add Tab Control Enable/Disable support and cross-platform compatibility layer. Linux/GTK OS.
Fixed edge-clicking navigation vulnerability on disabled tab labels by introducing
signal interception inside switch-page handler.
Thanks to Deivid José de Souza.
Tests with Ubuntu 26.10(Kubuntu) KDE(Wayland)
2026-08-08 17:27 UTC-0300 Itamar Lins <itamarlins at gmail.com>
* include/guilib.h:
- Conditionally included "incomp_pointer.h" for Linux/Unix environments
to apply global compiler warning suppressions.
* include/incomp_pointer.h:
- Added global GCC diagnostics to suppress GTK 2.0 deprecated warnings
and Harfbuzz macro redefinition conflicts (`HB_DEPRECATED`).
* source/gtk/herrsys.prg:
- Included "guilib.h" inside the BEGINDUMP block to enforce clean
compilation logs on the errorsys module.
2026-08-08 16:03 UTC-0300 Itamar Lins <itamarlins at gmail.com>
* source/gtk/hbrowse.prg:
- Fixed a critical BASE/1066 parameter error inside METHOD Edit() when
using SQLMIX RDD. Explicitly checked DbInfo(DBI_ISREADONLY) against .T.
to handle NIL values gracefully.
2026-08-08 16:03 UTC-0300 Itamar Lins <itamarlins at gmail.com>
* source/gtk/herrsys.prg:
- Fixed a crash on exit by replacing the Harbour-level DIALOG with a native
C GtkMessageDialog, separating it from the unstable object tree during panic mode.
- Implemented a native GTK signal callback to capture the close event.
- Replaced the traditional Harbour QUIT with a low-level kernel exit (_exit(0))
inside C, preventing background widgets from triggering recursive error loops.
- Added global recursion protection (`lInError`) and temporary ErrorBlock deactivation.
Saudações,
Itamar M. Lins Jr.