rename on-input -> on-activate

it's only called when RET is pressed, not during editing
main
Daniel Barlow 2022-12-30 15:58:09 +00:00
parent 28080a1387
commit fb834f496c
2 changed files with 8 additions and 8 deletions

View File

@ -87,7 +87,7 @@
state) state)
))) )))
(fn on-input [self str] (fn on-activate [self str]
(let [s (next-action self.state str) (let [s (next-action self.state str)
param (if s.active (. (. s.command :params) s.this-param))] param (if s.active (. (. s.command :params) s.this-param))]
(set self.state s) (set self.state s)
@ -121,7 +121,7 @@
:collected-params supplied-params :collected-params supplied-params
}] }]
(set self.state s) (set self.state s)
(let [r (self:on-input nil)] (let [r (self:on-activate nil)]
(update-widget-state self r) (update-widget-state self r)
(self.entry:grab_focus) (self.entry:grab_focus)
r))) r)))
@ -136,7 +136,7 @@
:state default-state :state default-state
: activate : activate
:active? (fn [self] self.state.active) :active? (fn [self] self.state.active)
: on-input : on-activate
: invoke-interactively : invoke-interactively
: entry : entry
:widget box :widget box
@ -147,7 +147,7 @@
(box:pack_start entry true true 5) (box:pack_start entry true true 5)
(tset entry :on_activate (tset entry :on_activate
(fn [event] (fn [event]
(let [result (self:on-input event.text)] (let [result (self:on-activate event.text)]
(set prompt.label (or result.prompt "")) (set prompt.label (or result.prompt ""))
(set entry.sensitive result.active) (set entry.sensitive result.active)
(set entry.text (or result.default result.error ""))))) (set entry.text (or result.default result.error "")))))

View File

@ -20,7 +20,7 @@
(let [commander (Command.commander) (let [commander (Command.commander)
(ok err) (ok err)
(match-try (commander:activate) (match-try (commander:activate)
{:active true} (commander:on-input "not-a-command") {:active true} (commander:on-activate "not-a-command")
(where {:error e :active false} (e:match "can't find command")) true (where {:error e :active false} (e:match "can't find command")) true
(catch (catch
x (values nil (view x))))] x (values nil (view x))))]
@ -30,9 +30,9 @@
(let [commander (Command.commander) (let [commander (Command.commander)
(ok err) (ok err)
(match-try (commander:activate) (match-try (commander:activate)
{:active true} (commander:on-input "multiply") {:active true} (commander:on-activate "multiply")
{:active true :prompt p1} (commander:on-input "2") {:active true :prompt p1} (commander:on-activate "2")
{:active true :prompt p2} (commander:on-input "3") {:active true :prompt p2} (commander:on-activate "3")
(where {:active false} (= happened 6)) true (where {:active false} (= happened 6)) true
(catch (catch
x (values nil (view x))))] x (values nil (view x))))]