Skip to content
Snippets Groups Projects
Commit d756f323 authored by Albin Heimerson's avatar Albin Heimerson
Browse files

fixes for julia1

parent 9c7c1c58
Branches
Tags
1 merge request!1WIP: fixes for julia1
# This file is machine-generated - editing it directly is not advised
[[AssetRegistry]]
deps = ["Distributed", "JSON", "Pidfile", "SHA", "Test"]
git-tree-sha1 = "b25e88db7944f98789130d7b503276bc34bc098e"
uuid = "bf4720bc-e11a-5d0c-854e-bdca1663c893"
version = "0.1.0"
[[Base64]]
uuid = "2a0f44e3-6c83-55bd-87e4-b1978d98bd5f"
[[BinaryProvider]]
deps = ["Libdl", "SHA"]
git-tree-sha1 = "c7361ce8a2129f20b0e05a89f7070820cfed6648"
uuid = "b99e7846-7c00-51b0-8f62-c81ae34c0232"
version = "0.5.4"
[[CSSUtil]]
deps = ["Colors", "Compat", "JSON", "Measures", "Pkg", "WebIO"]
git-tree-sha1 = "ff13fd99e4dd54f56eb064815f843bc992a871a2"
uuid = "70588ee8-6100-5070-97c1-3cb50ed05fe8"
version = "0.1.0"
[[CSTParser]]
deps = ["LibGit2", "Test", "Tokenize"]
git-tree-sha1 = "437c93bc191cd55957b3f8dee7794b6131997c56"
uuid = "00ebfdb7-1f24-5e51-bd34-a7502290713f"
version = "0.5.2"
[[ColorTypes]]
deps = ["FixedPointNumbers", "Random"]
git-tree-sha1 = "10050a24b09e8e41b951e9976b109871ce98d965"
uuid = "3da002f7-5984-5a60-b8a6-cbb66c0b333f"
version = "0.8.0"
[[Colors]]
deps = ["ColorTypes", "FixedPointNumbers", "InteractiveUtils", "Printf", "Reexport", "Test"]
git-tree-sha1 = "9f0a0210450acb91c730b730a994f8eef1d3d543"
uuid = "5ae59095-9a9b-59fe-a467-6f913c188581"
version = "0.9.5"
[[Compat]]
deps = ["Base64", "Dates", "DelimitedFiles", "Distributed", "InteractiveUtils", "LibGit2", "Libdl", "LinearAlgebra", "Markdown", "Mmap", "Pkg", "Printf", "REPL", "Random", "Serialization", "SharedArrays", "Sockets", "SparseArrays", "Statistics", "Test", "UUIDs", "Unicode"]
git-tree-sha1 = "84aa74986c5b9b898b0d1acaf3258741ee64754f"
uuid = "34da2185-b29b-5c13-b0c7-acf172513d20"
version = "2.1.0"
[[DataStructures]]
deps = ["InteractiveUtils", "OrderedCollections", "Random", "Serialization", "Test"]
git-tree-sha1 = "ca971f03e146cf144a9e2f2ce59674f5bf0e8038"
uuid = "864edb3b-99cc-5e75-8d2d-829cb0a9cfe8"
version = "0.15.0"
[[Dates]]
deps = ["Printf"]
uuid = "ade2ca70-3891-5945-98fb-dc099432e06a"
[[DelimitedFiles]]
deps = ["Mmap"]
uuid = "8bb1440f-4735-579b-a4ab-409b98df4dab"
[[Distributed]]
deps = ["Random", "Serialization", "Sockets"]
uuid = "8ba89e20-285c-5b6f-9357-94700520ee1b"
[[FileWatching]]
uuid = "7b1f6079-737a-58dc-b8bc-7a2ca5c1b5ee"
[[FixedPointNumbers]]
git-tree-sha1 = "d14a6fa5890ea3a7e5dcab6811114f132fec2b4b"
uuid = "53c48c17-4a7d-5ca2-90c5-79b7896eea93"
version = "0.6.1"
[[FunctionalCollections]]
deps = ["Test"]
git-tree-sha1 = "04cb9cfaa6ba5311973994fe3496ddec19b6292a"
uuid = "de31a74c-ac4f-5751-b3fd-e18cd04993ca"
version = "0.5.0"
[[HTTP]]
deps = ["Base64", "Dates", "Distributed", "IniFile", "MbedTLS", "Random", "Sockets", "Test"]
git-tree-sha1 = "25db0e3f27bd5715814ca7e4ad22025fdcf5cc6e"
uuid = "cd3eb016-35fb-5094-929b-558a96fad6f3"
version = "0.8.0"
[[Hiccup]]
deps = ["MacroTools", "Test"]
git-tree-sha1 = "6187bb2d5fcbb2007c39e7ac53308b0d371124bd"
uuid = "9fb69e20-1954-56bb-a84f-559cc56a8ff7"
version = "0.2.2"
[[IniFile]]
deps = ["Test"]
git-tree-sha1 = "098e4d2c533924c921f9f9847274f2ad89e018b8"
uuid = "83e8ac13-25f8-5344-8a64-a9f2b223428f"
version = "0.5.0"
[[Interact]]
deps = ["CSSUtil", "InteractBase", "JSON", "Knockout", "Observables", "OrderedCollections", "Reexport", "Test", "WebIO", "Widgets"]
git-tree-sha1 = "f6531bc554990a6659966afcb8f05543c032068b"
uuid = "c601a237-2ae4-5e1e-952c-7a85b0c7eef1"
version = "0.10.2"
[[InteractBase]]
deps = ["Base64", "CSSUtil", "Colors", "Dates", "JSExpr", "JSON", "Knockout", "Observables", "OrderedCollections", "Random", "Test", "WebIO", "Widgets"]
git-tree-sha1 = "83fc45f21bfec97e5cd56e790f6945497ab0f095"
uuid = "d3863d7c-f0c8-5437-a7b4-3ae773c01009"
version = "0.10.1"
[[InteractiveUtils]]
deps = ["Markdown"]
uuid = "b77e0a4c-d291-57a0-90e8-8db25a27a240"
[[JSExpr]]
deps = ["JSON", "MacroTools", "Observables", "Test", "WebIO"]
git-tree-sha1 = "013bc2143a2e84ea489365cf30db3407deb540c2"
uuid = "97c1335a-c9c5-57fe-bc5d-ec35cebe8660"
version = "0.5.0"
[[JSON]]
deps = ["Dates", "Distributed", "Mmap", "Sockets", "Test", "Unicode"]
git-tree-sha1 = "1f7a25b53ec67f5e9422f1f551ee216503f4a0fa"
uuid = "682c06a0-de6a-54ab-a142-c8b1cf79cde6"
version = "0.20.0"
[[Knockout]]
deps = ["JSExpr", "JSON", "Observables", "Pkg", "Test", "WebIO"]
git-tree-sha1 = "5cca7f070f85392cd0f42220c8ea5f7be96dacf4"
uuid = "bcebb21b-c2e3-54f8-a781-646b90f6d2cc"
version = "0.2.2"
[[Lazy]]
deps = ["Compat", "MacroTools", "Test"]
git-tree-sha1 = "aec38c7e7f255a678af22651c74100e3cd39ea20"
uuid = "50d2b5c4-7a5e-59d5-8109-a42b560f39c0"
version = "0.13.2"
[[LibGit2]]
uuid = "76f85450-5226-5b5a-8eaa-529ad045b433"
[[Libdl]]
uuid = "8f399da3-3557-5675-b5ff-fb832c97cbdb"
[[LinearAlgebra]]
deps = ["Libdl"]
uuid = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
[[Logging]]
uuid = "56ddb016-857b-54e1-b83d-db4d58db5568"
[[MacroTools]]
deps = ["CSTParser", "Compat", "DataStructures", "Test"]
git-tree-sha1 = "daecd9e452f38297c686eba90dba2a6d5da52162"
uuid = "1914dd2f-81c6-5fcd-8719-6d5c9610ff09"
version = "0.5.0"
[[Markdown]]
deps = ["Base64"]
uuid = "d6f4376e-aef5-505a-96c1-9c027394607a"
[[MbedTLS]]
deps = ["BinaryProvider", "Dates", "Distributed", "Libdl", "Random", "Sockets", "Test"]
git-tree-sha1 = "2d94286a9c2f52c63a16146bb86fd6cdfbf677c6"
uuid = "739be429-bea8-5141-9913-cc70e7f3736d"
version = "0.6.8"
[[Measures]]
deps = ["Test"]
git-tree-sha1 = "ddfd6d13e330beacdde2c80de27c1c671945e7d9"
uuid = "442fdcdd-2543-5da2-b0f3-8c86c306513e"
version = "0.3.0"
[[Mmap]]
uuid = "a63ad114-7e13-5084-954f-fe012c677804"
[[Mux]]
deps = ["AssetRegistry", "Base64", "HTTP", "Hiccup", "Lazy", "Pkg", "Sockets", "Test", "WebSockets"]
git-tree-sha1 = "5b41f03d63400c290bab4e1a49fb9ac36de1084a"
uuid = "a975b10e-0019-58db-a62f-e48ff68538c9"
version = "0.7.0"
[[Observables]]
deps = ["Test"]
git-tree-sha1 = "dc02cec22747d1d10d9f70d8a1c03432b5bfbcd0"
uuid = "510215fc-4207-5dde-b226-833fc4488ee2"
version = "0.2.3"
[[OrderedCollections]]
deps = ["Random", "Serialization", "Test"]
git-tree-sha1 = "c4c13474d23c60d20a67b217f1d7f22a40edf8f1"
uuid = "bac558e1-5e72-5ebc-8fee-abe8a469f55d"
version = "1.1.0"
[[Pidfile]]
deps = ["FileWatching", "Test"]
git-tree-sha1 = "1ffd82728498b5071cde851bbb7abd780d4445f3"
uuid = "fa939f87-e72e-5be4-a000-7fc836dbe307"
version = "1.1.0"
[[Pkg]]
deps = ["Dates", "LibGit2", "Markdown", "Printf", "REPL", "Random", "SHA", "UUIDs"]
uuid = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f"
[[Printf]]
deps = ["Unicode"]
uuid = "de0858da-6303-5e67-8744-51eddeeeb8d7"
[[REPL]]
deps = ["InteractiveUtils", "Markdown", "Sockets"]
uuid = "3fa0cd96-eef1-5676-8a61-b3b8758bbffb"
[[Random]]
deps = ["Serialization"]
uuid = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"
[[Reexport]]
deps = ["Pkg"]
git-tree-sha1 = "7b1d07f411bc8ddb7977ec7f377b97b158514fe0"
uuid = "189a3867-3050-52da-a836-e630ba90ab69"
version = "0.2.0"
[[Requires]]
deps = ["Test"]
git-tree-sha1 = "f6fbf4ba64d295e146e49e021207993b6b48c7d1"
uuid = "ae029012-a4dd-5104-9daa-d747884805df"
version = "0.5.2"
[[SHA]]
uuid = "ea8e919c-243c-51af-8825-aaa63cd721ce"
[[Serialization]]
uuid = "9e88b42a-f829-5b0c-bbe9-9e923198166b"
[[SharedArrays]]
deps = ["Distributed", "Mmap", "Random", "Serialization"]
uuid = "1a1011a3-84de-559e-8e89-a11a2f7dc383"
[[Sockets]]
uuid = "6462fe0b-24de-5631-8697-dd941f90decc"
[[SparseArrays]]
deps = ["LinearAlgebra", "Random"]
uuid = "2f01184e-e22b-5df5-ae63-d93ebab69eaf"
[[Statistics]]
deps = ["LinearAlgebra", "SparseArrays"]
uuid = "10745b16-79ce-11e8-11f9-7d13ad32a3b2"
[[Test]]
deps = ["Distributed", "InteractiveUtils", "Logging", "Random"]
uuid = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
[[Tokenize]]
deps = ["Printf", "Test"]
git-tree-sha1 = "3e83f60b74911d3042d3550884ca2776386a02b8"
uuid = "0796e94c-ce3b-5d07-9a54-7f471281c624"
version = "0.5.3"
[[UUIDs]]
deps = ["Random", "SHA"]
uuid = "cf7118a7-6976-5b1a-9a39-7adc72f591a4"
[[Unicode]]
uuid = "4ec0a83e-493e-50e2-b9ac-8f72acf5a8f5"
[[WebIO]]
deps = ["AssetRegistry", "Base64", "Compat", "Distributed", "FunctionalCollections", "JSON", "Logging", "Observables", "Random", "Requires", "Sockets", "Test", "UUIDs", "Widgets"]
git-tree-sha1 = "125dc746e5b36424c6a7e694889a7f3d434a160a"
uuid = "0f1e0344-ec1d-5b48-a673-e5cf874b6c29"
version = "0.8.1"
[[WebSockets]]
deps = ["Base64", "Dates", "Distributed", "HTTP", "Logging", "Random", "Sockets", "Test"]
git-tree-sha1 = "13f763d38c7a05688938808b49cb29b18b60c8c8"
uuid = "104b5d7c-a370-577a-8038-80a2059c5097"
version = "1.5.2"
[[Widgets]]
deps = ["Colors", "Dates", "Observables", "OrderedCollections", "Test"]
git-tree-sha1 = "c53befc70c6b91eaa2a9888c2f6ac2d92720a81b"
uuid = "cc8bc4a8-27d6-5769-a93b-9d913e69aa62"
version = "0.6.1"
name = "LabGUI"
uuid = "31661155-7747-5a32-9846-082300d6a5a6"
authors = ["Jacob Wikmark"]
repo = "https://gitlab.control.lth.se/processes/LabGUI.jl/commits/master"
version = "0.1.0"
[deps]
Interact = "c601a237-2ae4-5e1e-952c-7a85b0c7eef1"
Mux = "a975b10e-0019-58db-a62f-e48ff68538c9"
WebIO = "0f1e0344-ec1d-5b48-a673-e5cf874b6c29"
julia 0.6
InteractNext
WebIO
Mux
module LabGUI module LabGUI
using WebIO, InteractNext using WebIO, Interact
include("gridmaker.jl") include("gridmaker.jl")
include("gui.jl") include("gui.jl")
include("construct.jl") include("construct.jl")
......
...@@ -5,8 +5,9 @@ function make_widget(binding) ...@@ -5,8 +5,9 @@ function make_widget(binding)
error("@construct syntax error.") error("@construct syntax error.")
end end
sym, expr = binding.args sym, expr = binding.args
Expr(:block,
Expr(:(=), esc(sym), Expr(:(=), esc(sym),
Expr(:call, widget, esc(expr), string(sym))) Expr(:call, widget, esc(expr), string(sym))))
end end
function display_widgets(widgetvars) function display_widgets(widgetvars)
...@@ -16,7 +17,7 @@ end ...@@ -16,7 +17,7 @@ end
function map_block(block, symbols) function map_block(block, symbols)
lambda = Expr(:(->), Expr(:tuple, symbols...), lambda = Expr(:(->), Expr(:tuple, symbols...),
block) block)
:(map($lambda, $(map(s->:(InteractNext.observe($s)), symbols)...))) :(map($lambda, $(map(s->:(observe($s)), symbols)...)))
end end
function symbols(bindings) function symbols(bindings)
...@@ -50,18 +51,27 @@ macro construct(expr) ...@@ -50,18 +51,27 @@ macro construct(expr)
end end
syms = symbols(bindings) syms = symbols(bindings)
widgets = map(make_widget, bindings) widgets = []
for b in bindings
w = make_widget(b)
push!(widgets, w)
end
dict = Dict(zip(syms, 1:length(syms))) dict = Dict(zip(syms, 1:length(syms)))
quote quote
(Widget_Container([$(widgets...)], $(dict)), WebIO.render($(esc(map_block(block, syms))))) begin
$(widgets...)
(Widget_Container([$(esc.(syms)...)], $(dict)), WebIO.render($(esc(map_block(block, syms)))))
end
end end
end end
widget(x::Range, label="") = slider(x; label=label) widget(x::AbstractRange, label="") = slider(x; label=label)
widget(x::Observable, label="") = x widget(x::Observable, label="") = x
widget(x::Widget, label="") = x
widget(x::WebIO.Node{<:Any}, label="") = x widget(x::WebIO.Node{<:Any}, label="") = x
widget(x::WebIO.Scope, label="") = x #fix for WebIO update widget(x::WebIO.Scope, label="") = x #fix for WebIO update
widget(x::AbstractVector, label="") = togglebuttons(x, label=label) widget(x::AbstractVector, label="") = togglebuttons(x, label=label)
widget(x::Associative, label="") = togglebuttons(x, label=label) widget(x::AbstractDict, label="") = togglebuttons(x, label=label)
widget(x::Bool, label="") = checkbox(x, label=label) widget(x::Bool, label="") = checkbox(x, label=label)
widget(x::AbstractString, label="") = textbox(x, label=label, typ=AbstractString) widget(x::AbstractString, label="") = textbox(x, label=label, typ=AbstractString)
...@@ -191,6 +191,7 @@ function animate(gui::GUI, t=0.5) ...@@ -191,6 +191,7 @@ function animate(gui::GUI, t=0.5)
end end
function animate(gui::GUI, s::Union{Symbol, Array}, t=0.5) function animate(gui::GUI, s::Union{Symbol, Array}, t=0.5)
# println("animation station", s)
f = updater_function(gui, s) f = updater_function(gui, s)
heartbeat(f, t) heartbeat(f, t)
end end
...@@ -207,6 +208,7 @@ function update(gui::GUI, s::Symbol, watchsymbol=:0) ...@@ -207,6 +208,7 @@ function update(gui::GUI, s::Symbol, watchsymbol=:0)
w = gui.widgets[s] w = gui.widgets[s]
if watchsymbol==:0||has_changed(gui, watchsymbol) if watchsymbol==:0||has_changed(gui, watchsymbol)
#observe(w).listeners[2](observe(w)[]) #observe(w).listeners[2](observe(w)[])
# This takes too long, can run 1 fps but not even 10 fps
observe(w)[] = observe(w)[] observe(w)[] = observe(w)[]
end end
end end
......
using LabGUI using LabGUI
using Observables using Observables
using InteractNext using Interact
using Base.Test using Test
@testset "Tools" begin @testset "Tools" begin
a = Observables.Observable(5.0) a = Observables.Observable(5.0)
...@@ -12,7 +11,6 @@ using Base.Test ...@@ -12,7 +11,6 @@ using Base.Test
link!(a,b, f, g) link!(a,b, f, g)
a[] = 3.0 a[] = 3.0
@test b[] == 6.0 @test b[] == 6.0
b[] = 10.6 b[] = 10.6
@test a[] == 5.3 @test a[] == 5.3
...@@ -47,11 +45,11 @@ end ...@@ -47,11 +45,11 @@ end
@testset "GUI" begin @testset "GUI" begin
gui = GUI() gui = GUI()
wid1, graphic1 = @construct for dummy in 0:100 wid1, graphic1 = @construct for dummy in 0:100
Node(:div, dummy) node(:div, dummy)
end end
wid2, graphic2 = @construct for dummybox in checkbox(false) wid2, graphic2 = @construct for dummybox = false
Node(:div, dummybox) node(:div, dummybox)
end end
set!(gui, wid1) set!(gui, wid1)
...@@ -75,17 +73,17 @@ end ...@@ -75,17 +73,17 @@ end
end end
@testset "Dependencies" begin # @testset "Dependencies" begin
#testing vue # #testing vue
vuenode = Vue.vue(Node(:div)) # vuenode = Vue.vue(Node(:div))
@test typeof(vuenode)<:WebIO.Scope # @test typeof(vuenode)<:WebIO.Scope
@test typeof(vuenode.dom)<:WebIO.Node # @test typeof(vuenode.dom)<:WebIO.Node
@test typeof(vuenode.id)==String # @test typeof(vuenode.id)==String
#testing interactnext # #testing interactnext
ui = @manipulate for dummy in 1:100 # ui = @manipulate for dummy in 1:100
WebIO.render(dummy) # WebIO.render(dummy)
end # end
@test typeof(ui) <: WebIO.Node{WebIO.DOM} # @test typeof(ui) <: WebIO.Node{WebIO.DOM}
observe(dummy)[] = 80 # observe(dummy)[] = 80
@test observe(dummy)[] == 80 # @test observe(dummy)[] == 80
end # end
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment