ui: change selected gadgets to a hash-set.
parent
aa26fec7c6
commit
8c88e0448a
|
@ -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
|
||||||
|
|
|
@ -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 ;
|
||||||
|
|
Loading…
Reference in New Issue