Issue with SetGadgetState() and SetGadgetItemState() on Windows
Posted: Fri Dec 19, 2025 3:20 am
Seems there is an issue with both SetGadgetState() and SetGadgetItemState() on Windows when using them on ListViewGadget, ListIconGadget and TreeGadget.
Linux looks to be fine, but could not test this on Mac or RPi.
ListViewGadget
ListIconGadget
TreeGadget
Linux looks to be fine, but could not test this on Mac or RPi.
ListViewGadget
Code: Select all
#win = 0
#ListView = 0
If OpenWindow(#win, 0, 0, 320, 140, "ListViewGadget SetGadgetState / SetGadgetItemState", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
ListViewGadget(#ListView, 10, 10, 300, 120)
For a = 0 To 9
AddGadgetItem (#ListView, -1, "Item " + Str(a) + " of the ListView")
Next
; *** SetGadgetState() ***
; Works okay on Windows
; Works okay on Linux GTK2
; Works okay on Linux GTK3
; Works okay on Linux Qt
SetGadgetState(#ListView, 1)
; *** SetGadgetItemState() ***
; Doesn't do anything on Windows
; Works okay on Linux GTK2
; Works okay on Linux GTK3
; Works okay on Linux Qt
;SetGadgetItemState(#ListView, 2, #True)
Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf
Code: Select all
#win = 0
#ListIcon = 0
If OpenWindow(#win, 0, 0, 320, 140, "ListIconGadget SetGadgetState / SetGadgetItemState", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
ListIconGadget(#ListIcon, 10, 10, 300, 120, "Column-0", 200) ;, #PB_ListIcon_AlwaysShowSelection) ; this flag doens't make any difference
For a = 0 To 9
AddGadgetItem (#ListIcon, -1, "Item " + Str(a) + " of the ListIcon")
Next
; *** SetGadgetState() ***
; Doesn't do anything on Windows
; Works okay on Linux GTK2
; Works okay on Linux GTK3
; Works okay on Linux Qt
SetGadgetState(#ListIcon, 1)
; *** SetGadgetItemState() ***
; Doesn't do anything on Windows
; Works okay on Linux GTK2
; Works okay on Linux GTK3
; Works okay on Linux Qt
;SetGadgetItemState(#ListIcon, 2, #PB_ListIcon_Selected)
Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf
Code: Select all
#win = 0
#Tree = 0
If OpenWindow(#win, 0, 0, 320, 140, "TreeGadget SetGadgetState / SetGadgetItemState", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
TreeGadget(#Tree, 10, 10, 300, 120) ; , #PB_Tree_AlwaysShowSelection) ; this flag doens't make any difference
For a = 0 To 9
AddGadgetItem (#Tree, -1, "Item " + Str(a) + " of the Tree")
Next
; *** SetGadgetState() ***
; Doesn't do anything on Windows
; Works okay on Linux GTK2
; Works okay on Linux GTK3
; Works okay on Linux Qt
SetGadgetState(#Tree, 1)
; *** SetGadgetItemState() ***
; Doesn't do anything on Windows
; Works okay on Linux GTK2
; Works okay on Linux GTK3
; Works okay on Linux Qt
;SetGadgetItemState(#Tree, 2, #PB_Tree_Selected)
Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf