eufon

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

commit 468ed240b4e4cf94c4c2826eb56c9256429178ab
parent 8679518ca3434f7353490a75dfbd0eeccf547cc2
Author: Daniel Barlow <dan@telent.net>
Date:   Fri,  4 Mar 2022 00:02:16 +0000

add Viewplex, basis for supporting multiple webviews

Diffstat:
Mjust/just.fnl | 36++++++++++++++++++++++++++++++++++--
1 file changed, 34 insertions(+), 2 deletions(-)

diff --git a/just/just.fnl b/just/just.fnl @@ -52,6 +52,36 @@ }) }) +(local + Viewplex + { + :new + #(let [listeners {} + widget (Gtk.Notebook { + :show_tabs false + ;;# :on_switch_page + })] + (var foreground-view nil) + (print :viewplex widget) + { + :listen #(add-listener listeners $2 $3) + :widget widget + :add-view (fn [self webview] + (set foreground-view webview) + (webview.widget:show) + (set widget.page + (widget:append_page webview.widget))) + :visit #(and foreground-view (foreground-view:visit $2)) + :stop-loading #(and foreground-view + (foreground-view:stop-loading)) + :refresh #(and foreground-view (foreground-view:refresh)) + :go-back #(and foreground-view (foreground-view:go-back)) + }) + }) + + + + (fn named-image [name size] (Gtk.Image.new_from_icon_name name @@ -111,12 +141,14 @@ container (Gtk.Box { :orientation Gtk.Orientation.VERTICAL }) + viewplex (Viewplex.new) webview (Webview.new) - navbar (Navbar.new webview) + navbar (Navbar.new viewplex) ] (container:pack_start navbar.widget false false 0) - (container:pack_start webview.widget true true 0) + (container:pack_start viewplex.widget true true 0) + (viewplex:add-view webview) (window:add container)