Page 1 of 1
Listicongadget/RowSelect
Posted: Thu Jan 23, 2025 11:52 pm
by GenRabbit
Hi
is there a better way to detect row selected in listicongadget than this?
Code: Select all
tv2 = CountGadgetItems(#ListIconGadget1)
tv1 = 0
While tv1 < tv2
If GetGadgetItemState(#ListIconGadget1, tv1) & #PB_ListIcon_Selected
Debug tv1
Break
EndIf
tv1 +1
Wend
Re: Listicongadget/RowSelect
Posted: Fri Jan 24, 2025 12:10 am
by Kiffi
Code: Select all
Debug GetGadgetState(#ListIconGadget1)
Re: Listicongadget/RowSelect
Posted: Fri Jan 24, 2025 12:20 am
by GenRabbit
Thanks. That shortened it a lot.

Re: Listicongadget/RowSelect
Posted: Fri Mar 07, 2025 10:31 am
by jak64
Hello Kiffi,
I tested Debug GetGadgetState(#ListIconGadget1).
It returns -1 but not the number of the corresponding line of the ListIconGadget.
How to know the line of which only the checkbox has been checked?
Thank you
Re: Listicongadget/RowSelect
Posted: Fri Mar 07, 2025 6:07 pm
by tua
From the help:
- GetGadgetState(): Returns the first selected item or -1 if there is no item selected.
Looks like you didn't select (= click on) an item...
Re: Listicongadget/RowSelect
Posted: Fri Mar 07, 2025 6:22 pm
by tua
As for your checkbox question:
Code: Select all
If OpenWindow(0, 100, 100, 300, 200, "Checkbox in ListIconGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
ListIconGadget(0, 10, 10, 280, 150, "Item", 250, #PB_ListIcon_CheckBoxes)
AddGadgetItem(0, -1, "Item 1")
AddGadgetItem(0, -1, "Item 2")
AddGadgetItem(0, -1, "Item 3")
ButtonGadget(1, 10, 170, 100, 20, "Check State")
Repeat
Event = WaitWindowEvent()
Select Event
Case #PB_Event_Gadget
Select EventGadget()
Case 1 ; ButtonGadget clicked
For i = 0 To CountGadgetItems(0) - 1
If GetGadgetItemState(0, i) & #PB_ListIcon_Checked
Debug "Item " + Str(i + 1) + " is checked"
EndIf
Next
EndSelect
EndSelect
Until Event = #PB_Event_CloseWindow
EndIf
Re: Listicongadget/RowSelect
Posted: Fri Mar 07, 2025 9:21 pm
by jak64
hello tua,
Thanks for the code