]> gitweb.factorcode.org Git - factor.git/blob - basis/ui/tools/common/common.factor
Fix conflict in images vocab
[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.scrollers ui.gadgets.tracks
5 combinators.short-circuit ;
6 IN: ui.tools.common
7
8 SYMBOL: tool-dims
9
10 tool-dims global [ H{ } clone or ] change-at
11
12 TUPLE: tool < track ;
13
14 M: tool pref-dim*
15     { [ class tool-dims get at ] [ call-next-method ] } 1|| ;
16
17 M: tool layout*
18     [ call-next-method ]
19     [ [ dim>> ] [ class ] bi tool-dims get set-at ]
20     bi ;
21
22 : set-tool-dim ( dim class -- ) tool-dims get set-at ;
23
24 SLOT: scroller
25
26 : com-page-up ( tool -- )
27     scroller>> scroll-up-page ;
28
29 : com-page-down ( tool -- )
30     scroller>> scroll-down-page ;
31
32 : com-scroll-up ( tool -- )
33     scroller>> scroll-up-line ;
34
35 : com-scroll-down ( tool -- )
36     scroller>> scroll-down-line ;