\ 1vector [ 1 undo-nvector ] define-inverse
-\ peek [ 1vector ] define-inverse
+\ last [ 1vector ] define-inverse
! if is too general to undo, but its derivatives aren't
focused?
multiple-selection? ;
-: in>out ( vector -- val/f ) [ f ] [ peek ] if-empty ;
+: in>out ( vector -- val/f ) [ f ] [ last ] if-empty ;
: out>in ( val/f -- vector ) [ 1vector ] [ V{ } clone ] if* ;
IN: accessors
SLOT: selected-value
: selected-rows ( table -- {value} )
[ (selected-rows) ] [ renderer>> ] bi [ row-value ] curry map ;
-: multiple>single ( values -- value/f ? ) [ f f ] [ peek t ] if-empty ;
+: multiple>single ( values -- value/f ? ) [ f f ] [ last t ] if-empty ;
: (selected-row) ( table -- value/f ? ) (selected-rows) multiple>single ;
: selected-row ( table -- value/f ? ) selected-rows multiple>single ;
M: table model-changed
nip dup update-selected-indices [ V{ } clone ] unless* {
[ >>selected-indices f >>mouse-index drop ]
- [ [ f ] [ peek ] if-empty show-row-summary ]
+ [ [ f ] [ last ] if-empty show-row-summary ]
[ drop update-selected-values ]
[ drop relayout ]
} 2cleave ;