ui: change selected gadgets to a hash-set.

db4
John Benediktsson 2013-03-10 11:29:26 -07:00
parent aa26fec7c6
commit 8c88e0448a
2 changed files with 6 additions and 5 deletions

View File

@ -1,8 +1,9 @@
! Copyright (C) 2005, 2009 Slava Pestov. ! Copyright (C) 2005, 2009 Slava Pestov.
! See http://factorcode.org/license.txt for BSD license. ! See http://factorcode.org/license.txt for BSD license.
USING: math.rectangles math.vectors namespaces kernel accessors USING: math.rectangles math.vectors namespaces kernel accessors
assocs combinators sequences opengl opengl.gl colors assocs combinators sequences sets opengl opengl.gl colors
colors.constants ui.gadgets ui.pens ; colors.constants ui.gadgets ui.pens ;
FROM: namespaces => set ;
IN: ui.render IN: ui.render
SYMBOL: clip SYMBOL: clip
@ -94,7 +95,7 @@ M: gadget gadget-foreground dup interior>> pen-foreground ;
: draw-background ( gadget -- ) : draw-background ( gadget -- )
origin get [ origin get [
[ [
dup selected-gadgets get key? dup selected-gadgets get in?
[ draw-selection-background ] [ draw-selection-background ]
[ draw-standard-background ] if [ draw-standard-background ] if
] [ draw-gadget* ] bi ] [ draw-gadget* ] bi

View File

@ -89,12 +89,12 @@ M: node gadget-text*
: gadget-at-path ( parent path -- gadget ) : gadget-at-path ( parent path -- gadget )
[ swap nth-gadget ] each ; [ swap nth-gadget ] each ;
GENERIC# leaves* 1 ( tree assoc -- ) GENERIC# leaves* 1 ( tree set -- )
M: node leaves* [ children>> ] dip leaves* ; M: node leaves* [ children>> ] dip leaves* ;
M: array leaves* '[ _ leaves* ] each ; M: array leaves* '[ _ leaves* ] each ;
M: gadget leaves* conjoin ; M: gadget leaves* adjoin ;
: leaves ( tree -- assoc ) H{ } clone [ leaves* ] keep ; : leaves ( tree -- set ) HS{ } clone [ leaves* ] keep ;