From 3a17241a0d5bb852be573ed723c4977847834256 Mon Sep 17 00:00:00 2001 From: jkrumbiegel <22495855+jkrumbiegel@users.noreply.github.com> Date: Sun, 3 Jul 2022 13:34:00 +0200 Subject: [PATCH] Relax align typing for Blocks (#2108) * relax alignment types to include numbers * add test * actually test * add news --- NEWS.md | 4 ++++ src/makielayout/blocks.jl | 4 ++-- test/makielayout.jl | 10 ++++++++++ 3 files changed, 16 insertions(+), 2 deletions(-) diff --git a/NEWS.md b/NEWS.md index fbe06ed1bda..18a8c81b161 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,5 +1,9 @@ # News +## master + +- Fixed regression where `Block` alignments could not be specified as numbers anymore [#2108](https://github.com/JuliaPlots/Makie.jl/pull/2108). + ## v0.17.7 - Improved `Menu` performance, now it should me much harder to reach the boundary of 255 scenes in GLMakie. `Menu` also takes a `default` keyword argument now and can be scrolled if there is too little space available. diff --git a/src/makielayout/blocks.jl b/src/makielayout/blocks.jl index f067b3cdf3b..81aaa9df34b 100644 --- a/src/makielayout/blocks.jl +++ b/src/makielayout/blocks.jl @@ -332,8 +332,8 @@ function _block(T::Type{<:Block}, fig_or_scene::Union{Figure, Scene}, layout_height = Observable{Any}(nothing) layout_tellwidth = Observable(true) layout_tellheight = Observable(true) - layout_halign = Observable(:center) - layout_valign = Observable(:center) + layout_halign = Observable{Union{Symbol, Float64}}(:center) + layout_valign = Observable{Union{Symbol, Float64}}(:center) layout_alignmode = Observable{Any}(Inside()) lobservables = LayoutObservables( diff --git a/test/makielayout.jl b/test/makielayout.jl index 31dccff4262..55b799caa74 100644 --- a/test/makielayout.jl +++ b/test/makielayout.jl @@ -175,3 +175,13 @@ end ax = Axis(f[1,1], xticks = 20:10:80) scatter!(ax, 30:10:100, rand(Float64, 8), color = :red) end + +# issues 1958 and 2006 +@testset "axislegend number align" begin + f = Figure() + ax = Axis(f[1,1], xticks = 20:10:80) + lines!(ax, 1:10, label = "A line") + leg = axislegend(ax, position = (0.4, 0.8)) + @test leg.halign[] == 0.4 + @test leg.valign[] == 0.8 +end \ No newline at end of file