| Name |
Mandatory |
Description |
Default |
Type |
⬅️ Input |
|
The value that will be passed to the Widget shard(s) of the popup. |
|
Any |
Output ➡️ |
|
The output of this shard will be its input. |
|
Any |
MinWidth |
No |
The minimum width of the popup that should appear below or above the button. By default, it is always at least as wide as the button. |
none |
FloatNone |
AboveOrBelow |
No |
Whether the location of the popup should be above or below the button. |
none |
PopupLocation |
ID |
No |
An optional ID value to make the popup unique if the label text collides. |
none |
StringVar(String)None |
Widget |
No |
The shard(s) to execute that should contain a widget that supports having this popup generated for it upon being clicked. |
none |
NoneShard[Shard] |
Contents |
No |
The shards to execute and render inside the popup ui when the button is pressed. |
none |
NoneShard[Shard] |
Wraps a button with a popup that can act as a drop-down menu or suggestion menu.
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63 | @wire(ui-wire {
UI.Window(
Title: "UI PopupWrapper"
Position: @f2(0 0)
Anchor: Anchor::Center
Width: 700
Height: 400
Contents: {
UI.CentralPanel({
Once({
asset/r0 | GFX.Texture = image
})
UI.PopupWrapper(
MinWidth: 200.0
Widget: {
image | UI.ImageButton(
Scale: @f2(0.1)
Action: {
"Message sent!" | Log
}
)
}
Contents: {
UI.Button(
Label: "Receive message"
Action: {
"Message received!" | Log
}
)
}
)
UI.PopupWrapper(
MinWidth: 300.0 ; Changes the minimum width of the popup to be 200.0 instead of the width of the button
AboveOrBelow: PopupLocation::Above
Widget: {
UI.Button(
Label: "Send message"
Action: {
"Message sent!" | Log
}
)
}
Contents: {
image | UI.ImageButton(
Scale: @f2(0.1)
Action: {
"Message received!" | Log
}
)
UI.Button(
Label: "Receive message"
Action: {
"Message received!" | Log
}
)
}
)
})
}
)
} 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
40
41
42
43
44
45
46
47
48
49
50
51 | @wire(ui-wire {
UI.Window(
Title: "UI PlotPopup Wrapper"
Position: @f2(0 0)
Anchor: Anchor::Center
Width: 700
Height: 400
Contents: {
UI.CentralPanel({
UI.PopupWrapper(
Widget: {
UI.Button(
Label: "Send message"
Action: {
"Message sent!" | Log
}
)
}
Contents: {
UI.Button(
Label: "Receive message"
Action: {
"Message received!" | Log
}
)
}
)
UI.PopupWrapper(
Widget: {
UI.Button(
Label: "Send message"
Action: {
"Message sent!" | Log
}
)
}
Contents: {
UI.Button(
Label: "Receive message"
Action: {
"Message received!" | Log
}
)
}
)
})
}
)
} Looped: true)
{ui-behavior: ui-wire}
|