diff --git a/extra/ui/gadgets/books/books.factor b/extra/ui/gadgets/books/books.factor index ce15bd9e6c..9f92266efe 100755 --- a/extra/ui/gadgets/books/books.factor +++ b/extra/ui/gadgets/books/books.factor @@ -7,27 +7,24 @@ TUPLE: book < gadget ; : hide-all ( book -- ) gadget-children [ hide-gadget ] each ; -: current-page ( book -- gadget ) - [ control-value ] keep nth-gadget ; +: current-page ( book -- gadget ) [ control-value ] keep nth-gadget ; -M: book model-changed +M: book model-changed ( model book -- ) nip dup hide-all dup current-page show-gadget relayout ; : new-book ( pages model class -- book ) - new-gadget - swap >>model - [ swap add-gadgets drop ] keep ; inline + new-gadget + swap >>model + swap add-gadgets ; inline -: ( pages model -- book ) - book new-book ; +: ( pages model -- book ) book new-book ; -M: book pref-dim* gadget-children pref-dims max-dim ; +M: book pref-dim* ( book -- dim ) children>> pref-dims max-dim ; -M: book layout* - dup rect-dim swap gadget-children - [ set-layout-dim ] with each ; +M: book layout* ( book -- ) + [ dim>> ] [ children>> ] bi [ set-layout-dim ] with each ; -M: book focusable-child* current-page ; +M: book focusable-child* ( book -- child/t ) current-page ; diff --git a/extra/ui/gadgets/sliders/sliders.factor b/extra/ui/gadgets/sliders/sliders.factor index 7904a9ab66..4e081d972f 100755 --- a/extra/ui/gadgets/sliders/sliders.factor +++ b/extra/ui/gadgets/sliders/sliders.factor @@ -9,27 +9,21 @@ IN: ui.gadgets.sliders TUPLE: elevator < gadget direction ; -: find-elevator ( gadget -- elevator/f ) - [ elevator? ] find-parent ; +: find-elevator ( gadget -- elevator/f ) [ elevator? ] find-parent ; TUPLE: slider < frame elevator thumb saved line ; -: find-slider ( gadget -- slider/f ) - [ slider? ] find-parent ; +: find-slider ( gadget -- slider/f ) [ slider? ] find-parent ; : elevator-length ( slider -- n ) - dup slider-elevator rect-dim - swap gadget-orientation v. ; + [ elevator>> dim>> ] [ orientation>> ] bi v. ; : min-thumb-dim 15 ; : slider-value ( gadget -- n ) gadget-model range-value >fixnum ; - -: slider-page ( gadget -- n ) gadget-model range-page-value ; - -: slider-max ( gadget -- n ) gadget-model range-max-value ; - -: slider-max* ( gadget -- n ) gadget-model range-max-value* ; +: slider-page ( gadget -- n ) gadget-model range-page-value ; +: slider-max ( gadget -- n ) gadget-model range-max-value ; +: slider-max* ( gadget -- n ) gadget-model range-max-value* ; : thumb-dim ( slider -- h ) dup slider-page over slider-max 1 max / 1 min @@ -45,7 +39,6 @@ TUPLE: slider < frame elevator thumb saved line ; swap slider-max* 1 max / ; : slider>screen ( m scale -- n ) slider-scale * ; - : screen>slider ( m scale -- n ) slider-scale / ; M: slider model-changed nip slider-elevator relayout-1 ; @@ -76,11 +69,9 @@ thumb H{ t >>root? thumb-theme ; -: slide-by ( amount slider -- ) - gadget-model move-by ; +: slide-by ( amount slider -- ) gadget-model move-by ; -: slide-by-page ( amount slider -- ) - gadget-model move-by-page ; +: slide-by-page ( amount slider -- ) gadget-model move-by-page ; : compute-direction ( elevator -- -1/1 ) dup find-slider swap hand-click-rel @@ -100,13 +91,10 @@ elevator H{ { T{ button-down } [ elevator-click ] } } set-gestures -: elevator-theme ( elevator -- ) - lowered-gradient swap set-gadget-interior ; - : ( vector -- elevator ) - elevator new-gadget - [ set-gadget-orientation ] keep - dup elevator-theme ; + elevator new-gadget + swap >>orientation + lowered-gradient >>interior ; : (layout-thumb) ( slider n -- n thumb ) over gadget-orientation n*v swap slider-thumb ; @@ -144,17 +132,10 @@ M: elevator layout* dup elevator>> over thumb>> add-gadget @center grid-add* ; -: ( -- button ) - { 0 1 } arrow-left -1 ; - -: ( -- button ) - { 0 1 } arrow-right 1 ; - -: ( -- button ) - { 1 0 } arrow-up -1 ; - -: ( -- button ) - { 1 0 } arrow-down 1 ; +: ( -- button ) { 0 1 } arrow-left -1 ; +: ( -- button ) { 0 1 } arrow-right 1 ; +: ( -- button ) { 1 0 } arrow-up -1 ; +: ( -- button ) { 1 0 } arrow-down 1 ; : ( range orientation -- slider ) slider new-frame diff --git a/extra/ui/tools/workspace/workspace.factor b/extra/ui/tools/workspace/workspace.factor index 45dfd32609..86cfdb02c7 100755 --- a/extra/ui/tools/workspace/workspace.factor +++ b/extra/ui/tools/workspace/workspace.factor @@ -60,10 +60,10 @@ M: gadget tool-scroller drop f ; request-focus ; : show-popup ( gadget workspace -- ) - dup hide-popup - 2dup set-workspace-popup - dupd f track-add - request-focus ; + dup hide-popup + over >>popup + over f track-add* drop + request-focus ; : show-titled-popup ( workspace gadget title -- ) [ find-workspace hide-popup ]