]> gitweb.factorcode.org Git - factor.git/blob - basis/ui/tools/common/common.factor
ui.theme: updates to color scheme.
[factor.git] / basis / ui / tools / common / common.factor
1 ! Copyright (C) 2009 Slava Pestov.
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: accessors assocs classes classes.mixin kernel namespaces
4 parser ui.gadgets ui.gadgets.borders
5 ui.pens.solid ui.gadgets.scrollers ui.gadgets.tracks ui.theme
6 combinators.short-circuit ;
7 IN: ui.tools.common
8
9 SYMBOL: tool-dims
10
11 tool-dims [ H{ } clone ] initialize
12
13 : set-tool-dim ( dim class -- )
14     tool-dims get-global set-at ;
15
16 : get-tool-dim ( class -- dim )
17     tool-dims get-global at ;
18
19 TUPLE: tool < track ;
20
21 M: tool pref-dim*
22     { [ class-of get-tool-dim ] [ call-next-method ] } 1|| ;
23
24 M: tool layout*
25     [ call-next-method ]
26     [ [ dim>> ] [ class-of ] bi set-tool-dim ]
27     bi ;
28
29 SLOT: scroller
30
31 : com-page-up ( tool -- )
32     scroller>> scroll-up-page ;
33
34 : com-page-down ( tool -- )
35     scroller>> scroll-down-page ;
36
37 : com-scroll-up ( tool -- )
38     scroller>> scroll-up-line ;
39
40 : com-scroll-down ( tool -- )
41     scroller>> scroll-down-line ;
42
43 : margins ( child -- border ) 
44     { 9 9 } <filled-border> ;
45
46 : with-lines ( track -- track )
47     dup orientation>> >>gap 
48     line-color <solid> >>interior ;
49
50 : white-interior ( track -- track )
51     content-background <solid> >>interior ;