SliderGrid
SliderGrid <: Block
A grid of horizontal
Slider
s, where each slider has one name label on the left, and a value label on the right.
Each
NamedTuple
you pass specifies one
Slider
. You always have to pass
range
and
label
, and optionally a
format
for the value label. Beyond that, you can set any keyword that
Slider
takes, such as
startvalue
.
The
format
keyword can be a
String
with Formatting.jl style, such as "{:.2f}Hz", or a function.
Constructors
SliderGrid(fig_or_scene, nts::NamedTuple...; kwargs...)
Examples
sg = SliderGrid(fig[1, 1],
(label = "Amplitude", range = 0:0.1:10, startvalue = 5),
(label = "Frequency", range = 0:0.5:50, format = "{:.1f}Hz", startvalue = 10),
(label = "Phase", range = 0:0.01:2pi,
format = x -> string(round(x/pi, digits = 2), "π"))
)
Working with slider values:
on(sg.sliders[1].value) do val
# do something with `val`
end
Attributes
SliderGrid attributes :
-
value_column_width
: The width of the value label column. Ifautomatic
, the width is determined by sampling a few values from the slider ranges and picking the largest label size found. Default:automatic
Layout attributes :
-
alignmode
: The align mode of the block in its parent GridLayout. Default:Inside()
-
halign
: The horizontal alignment of the block in its suggested bounding box. Default::center
-
height
: The height setting of the block. Default:Auto()
-
tellheight
: Controls if the parent layout can adjust to this block's height Default:true
-
tellwidth
: Controls if the parent layout can adjust to this block's width Default:true
-
valign
: The vertical alignment of the block in its suggested bounding box. Default::center
-
width
: The width setting of the block. Default:Auto()
The column with the value labels is automatically set to a fixed width, so that the layout doesn't jitter when sliders are dragged and the value labels change their widths. This width is chosen by setting each slider to a few values and recording the maximum label width. Alternatively, you can set the width manually with attribute
value_column_width
.
using GLMakie
fig = Figure()
ax = Axis(fig[1, 1])
sg = SliderGrid(
fig[1, 2],
(label = "Voltage", range = 0:0.1:10, format = "{:.1f}V", startvalue = 5.3),
(label = "Current", range = 0:0.1:20, format = "{:.1f}A", startvalue = 10.2),
(label = "Resistance", range = 0:0.1:30, format = "{:.1f}Ω", startvalue = 15.9),
width = 350,
tellheight = false)
sliderobservables = [s.value for s in sg.sliders]
bars = lift(sliderobservables...) do slvalues...
[slvalues...]
end
barplot!(ax, bars, color = [:yellow, :orange, :red])
ylims!(ax, 0, 30)
fig
These docs were autogenerated using Makie: v0.18.4, GLMakie: v0.7.4, CairoMakie: v0.9.4, WGLMakie: v0.7.4