WIP show prompt for command parameters
This commit is contained in:
parent
2610930690
commit
6efbc34576
20
command.fnl
20
command.fnl
@ -105,13 +105,14 @@
|
|||||||
{
|
{
|
||||||
:active s.active
|
:active s.active
|
||||||
:error s.error
|
:error s.error
|
||||||
:prompt (or s.this-param "")
|
:prompt (if s.active (or s.this-param "Command?" "") "")
|
||||||
:default (and param (param))
|
:default (and param (param))
|
||||||
}))
|
}))
|
||||||
|
|
||||||
|
(local prompt (Gtk.Label { :label ""}))
|
||||||
|
|
||||||
(fn update-widget-state [w result]
|
(fn update-widget-state [w result]
|
||||||
(set w.placeholder_text
|
(set prompt.label (or result.prompt ""))
|
||||||
(or result.prompt ""))
|
|
||||||
(set w.sensitive result.active)
|
(set w.sensitive result.active)
|
||||||
(set w.text
|
(set w.text
|
||||||
(or result.default result.error "")))
|
(or result.default result.error "")))
|
||||||
@ -125,10 +126,21 @@
|
|||||||
(update-widget-state w (on-input event.text))))
|
(update-widget-state w (on-input event.text))))
|
||||||
w))
|
w))
|
||||||
|
|
||||||
|
(local box
|
||||||
|
(let [box
|
||||||
|
(Gtk.Box {
|
||||||
|
:orientation Gtk.Orientation.HORIZONTAL
|
||||||
|
})]
|
||||||
|
|
||||||
|
(box:pack_start prompt false false 15)
|
||||||
|
(box:pack_start widget true true 5)
|
||||||
|
box))
|
||||||
|
|
||||||
(fn activate []
|
(fn activate []
|
||||||
(tset state :active true)
|
(tset state :active true)
|
||||||
(set widget.sensitive true)
|
(set widget.sensitive true)
|
||||||
(set widget.text "")
|
(set widget.text "")
|
||||||
|
(set prompt.label (or state.this-param "Command" ""))
|
||||||
(widget:grab_focus)
|
(widget:grab_focus)
|
||||||
state)
|
state)
|
||||||
|
|
||||||
@ -153,7 +165,7 @@
|
|||||||
: define-command
|
: define-command
|
||||||
: on-input
|
: on-input
|
||||||
: invoke-interactively
|
: invoke-interactively
|
||||||
: widget
|
:widget box
|
||||||
:_ {
|
:_ {
|
||||||
: reset-state
|
: reset-state
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user