Skip to content

UI.ListBox

Name Mandatory Description Default Type
⬅️ Input A sequence of values. Any
Output ➡️ The selected value. Any
Index No The index of the selected item. none IntVar(Int)None
IsSelected No Predicate that should return selection state of an item, receives the index in the list, should return true/false. none NoneShard[Shard]
Clicked No Action to perform if an element of the list is being clicked. none NoneShard[Shard]
Template No Custom rendering none NoneShard[Shard]

A list selection.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
@wire(ui-wire {
  UI.Window(
    Title: "UI List Box"
    Position: @f2(0 0)
    Anchor: Anchor::Center
    Width: 700
    Height: 400
    Contents: {
      UI.CentralPanel(
        {[1 2 3 4 5 6 7 8 9]
          UI.ListBox(
            Index: index
            Template:
            {ToString | UI.Label}
          )
          ExpectInt >= value

          UI.Horizontal(
            {"Selected index: " | UI.Label
              index | ToString | UI.Label
            }
          )
        }
      )
    }
  )
} Looped: true)

{ui-behavior: ui-wire}


 

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
@wire(ui-wire {
  UI.Window(
    Title: "UI List Box"
    Position: @f2(0 0)
    Anchor: Anchor::Center
    Width: 700
    Height: 400
    Contents: {
      UI.CentralPanel({

        Once({
          -1 >= clicked
          [1 2 3 4 5 6 7 8 9] = items
        })

        items
        UI.ListBox(
          IsSelected: {
            = i
            clicked | If(IsLess(0) {false}
            {IsLessEqual(i)})
          }
          Clicked: {> clicked}
          Template:
          {ToString | UI.Label}
        )
        ExpectInt >= value

        UI.Horizontal(
          {"Selected index: " | UI.Label
            clicked | ToString | UI.Label
          }
        )
      })
    }
  )
} Looped: true)

{ui-behavior: ui-wire}


 

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
@wire(ui-wire {
  UI.Window(
    Title: "UI List Box"
    Position: @f2(0 0)
    Anchor: Anchor::Center
    Width: 700
    Height: 400
    Contents: {
      UI.CentralPanel (
        ["α Α" "ω Ω"]
        UI.ListBox(Index: index)
        ExpectString >= value

        UI.Horizontal(
          {"Selected index: " | UI.Label
            index | ToString | UI.Label
          }
        )
      )
    }
  )
} Looped: true)

{ui-behavior: ui-wire}