[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gambas-bugtracker] Bug #3131: WebTable header checkbox (ShowCheck=True) is not synchronized with row selection state


http://gambaswiki.org/bugtracker/edit?object=BUG.3131&from=L21haW4-

Omar MORENO reported a new bug.

Summary
-------

WebTable header checkbox (ShowCheck=True) is not synchronized with row selection state

Type             : Bug
Priority         : High
Gambas version   : Master
Product          : Web components


Description
-----------

When a WebTable has ShowCheck = True, the header checkbox is displayed and works as expected initially:
    • Checking the header checkbox selects all rows.
    • Unchecking it unselects all rows.
However, the header checkbox state is not updated when the row selection changes by other means, such as:
    • Manually selecting all rows.
    • Deselecting a single row.
    • Changing selection programmatically using SelectAll(), UnselectAll(), or individual row selection.
The Select event is correctly triggered, but there is no public property or method to access or force the state of the header checkbox, making it impossible to keep it synchronized manually.
This results in a UI inconsistency where the header checkbox does not reflect the actual selection state of the table.
Expected behavior:
The header checkbox should:
    • Automatically become checked when all rows are selected.
    • Automatically become unchecked when at least one row is not selected.
Alternatively, a public API should be provided, for example:
WebTable.HeaderChecked As Boolean
to allow programmatic control of the header checkbox state.
Current behavior:
The header checkbox controls row selection, but row selection does not update the header checkbox state.


System information
------------------

[System]
Gambas=3.21.99 df6f746 (master)
OperatingSystem=Linux
Distribution=Linux Mint 22.3 (Zena)
Kernel=6.8.0-94-generic
Architecture=x86_64
Cores=4
Memory=7639M
Language=es_ES.utf-8
Platform=x11
Desktop=XFCE
DesktopResolution=96
DesktopScale=7
WidgetTheme=mint-l
Font=Ubuntu,10
DarkTheme=False
[Programs]
dpkg=Programa de gestión de paquetes de Debian `dpkg' versión 1.22.6 (amd64).
gcc=gcc (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0
git=git version 2.43.0
msgmerge=msgmerge (GNU gettext-tools) 0.21
[Libraries]
Cairo=libcairo.so.2.11800.0
Curl=libcurl.so.4.8.0
DBus=libdbus-1.so.3.32.4
GDK2=libgdk-x11-2.0.so.0.2400.33
GDK3=libgdk-3.so.0.2409.32
GStreamer=libgstreamer-1.0.so.0.2402.0
GTK+2=libgtk-x11-2.0.so.0.2400.33
GTK+3=libgtk-3.so.0.2409.32
OpenGL=libGL.so.1.7.0
Poppler=libpoppler.so.134.0.0
QT5=libQt5Core.so.5.15.13
QT6=libQt6Core.so.6.4.2
RSvg=librsvg-2.so.2.50.0
SDL=libSDL2-2.0.so.0.3000.0
SQLite3=libsqlite3.so.0.8.6
[Environment]
CLUTTER_BACKEND=x11
COMPIZ_CONFIG_PROFILE=mint
DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
DESKTOP_SESSION=xfce
DISPLAY=:0.0
GB_GUI=gb.gtk3
GDMSESSION=xfce
GDM_LANG=es_ES
GTK3_MODULES=xapp-gtk3-module
GTK_MODULES=gail:atk-bridge
HOME=<home>
LANG=es_ES.utf-8
LANGUAGE=es_ES.utf-8
LC_ALL=es_ES.utf-8
LOGNAME=<user>
PATH=<home>/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
PWD=<home>
QT_ACCESSIBILITY=1
QT_LOGGING_RULES=*.debug=false
SESSION_MANAGER=local/<hostname>:@/tmp/.ICE-unix/1790,unix/<hostname>:/tmp/.ICE-unix/1790
SHELL=/bin/bash
SHLVL=0
SSH_AGENT_PID=1930
SSH_AUTH_SOCK=/tmp/ssh-z6k7l7vgW1Vr/agent.1929
TZ=:/etc/localtime
USER=<user>
XAUTHORITY=<home>/.Xauthority
XDG_CONFIG_DIRS=/etc/xdg/xdg-xfce:/etc/xdg
XDG_CURRENT_DESKTOP=XFCE
XDG_DATA_DIRS=/usr/share/xfce4:<home>/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share
XDG_GREETER_DATA_DIR=/var/lib/lightdm-data/<user>
XDG_MENU_PREFIX=xfce-
XDG_RUNTIME_DIR=/run/user/1000
XDG_SEAT=seat0
XDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0
XDG_SESSION_CLASS=user
XDG_SESSION_DESKTOP=xfce
XDG_SESSION_ID=c2
XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session0
XDG_SESSION_TYPE=x11
XDG_VTNR=7



----[ Gambas bugtracker-list is hosted by https://www.hostsharing.net ]----