]> gitweb.factorcode.org Git - factor.git/blob - core/ui/gadgets/books.factor
more sql changes
[factor.git] / core / ui / gadgets / books.factor
1 ! Copyright (C) 2006 Slava Pestov.
2 ! See http://factorcode.org/license.txt for BSD license.
3 IN: gadgets-books
4 USING: gadgets gadgets-panes gadgets-scrolling
5 kernel sequences models ;
6
7 TUPLE: book ;
8
9 : hide-all ( book -- ) gadget-children [ hide-gadget ] each ;
10
11 : current-page ( book -- gadget )
12     [ control-value ] keep nth-gadget ;
13
14 M: book model-changed ( book -- )
15     dup hide-all
16     dup current-page show-gadget
17     dup relayout
18     request-focus ;
19
20 C: book ( pages -- book )
21     dup 0 <model> <gadget> delegate>control
22     [ add-gadgets ] keep
23     dup model-changed ;
24
25 M: book pref-dim* gadget-children pref-dims max-dim ;
26
27 M: book layout*
28     dup rect-dim swap gadget-children
29     [ set-layout-dim ] each-with ;
30
31 M: book focusable-child* current-page ;