SetGadgetItemData()

Syntax

SetGadgetItemData(#Gadget, Item, Value)
Description
Stores the given value with the specified gadget item. This value can later be read with the GetGadgetItemData() function. This allows to associate a custom value with the items of a gadget.

Parameters

#Gadget The gadget to use.
Item The item to use. The first item in the gadget has index 0.
Value The value to set.

Return value

None.

Remarks

The set value will remain with the item, even if the item changes its index (for example because other items were deleted).

This function works with the following gadgets:
- ComboBoxGadget()
- ListIconGadget()
- ListViewGadget()
- PanelGadget()
- TreeGadget()

Example

  ; This code uses SetGadgetItemData to store the original position
  ; of each item to later know it, even if the items index changed.
  ;
  If OpenWindow(0, 0, 0, 280, 250, "SetGadgetItemData", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
    ButtonGadget(0,  10, 10, 80, 20, "Add")
    ButtonGadget(1, 100, 10, 80, 20, "Remove")
    ButtonGadget(2, 190, 10, 80, 20, "Test")
    ListViewGadget(3, 10, 40, 260, 200)
    For i = 0 To 10
      AddGadgetItem(3, i, "Old Item "+Str(i))
      SetGadgetItemData(3, i, i)
    Next i

    Repeat
      Event = WaitWindowEvent()
      If Event = #PB_Event_Gadget
        item = GetGadgetState(3)

        Select EventGadget()
          Case 0 ; Add
            AddGadgetItem(3, item, "New Item")
            If item <> -1
              SetGadgetItemData(3, item, -1)
            Else
              SetGadgetItemData(3, CountGadgetItems(3)-1, -1)
            EndIf

          Case 1 ; Remove
            If item <> -1
              RemoveGadgetItem(3, item)
            EndIf

          Case 2 ; Test
            If item <> -1
              value = GetGadgetItemData(3, item)
              If value = -1
                MessageRequester("", "Its a new item.")
              Else
                MessageRequester("", "It was item number "+Str(value))
              EndIf
            EndIf

        EndSelect
      EndIf
    Until Event = #PB_Event_CloseWindow
  EndIf

See Also

GetGadgetItemData(), GetGadgetData(), SetGadgetData()

Supported OS

All

<- SetGadgetItemColor() - Gadget Index - SetGadgetItemImage() ->