]> gitweb.factorcode.org Git - factor.git/blob - basis/ui/gadgets/labeled/labeled.factor
Switch to https urls
[factor.git] / basis / ui / gadgets / labeled / labeled.factor
1 ! Copyright (C) 2006, 2009 Slava Pestov, 2015 Nicolas PĂ©net.
2 ! See https://factorcode.org/license.txt for BSD license.
3 USING: accessors kernel system ui.gadgets ui.gadgets.borders
4 ui.gadgets.labels ui.gadgets.packs ui.gadgets.tracks
5 ui.pens.gradient ui.pens.solid ui.theme ;
6 IN: ui.gadgets.labeled
7
8 TUPLE: labeled-gadget < track content ;
9
10 <PRIVATE
11
12 M: labeled-gadget focusable-child* content>> ;
13
14 : <title-bar> ( title -- title-bar )
15     >label [ t >>bold? ] change-font
16     { 0 4 } <border>
17     title-bar-gradient <gradient> >>interior ;
18
19 PRIVATE>
20
21 : <labeled-gadget> ( content title -- labeled )
22     vertical labeled-gadget new-track
23         swap <title-bar> f track-add
24         swap [ >>content ] [ 1 track-add ] bi ;
25
26 : <colored-labeled-gadget> ( content title color -- labeled )
27     [ <labeled-gadget> ] dip <solid> >>interior { 0 3 } >>gap ;
28
29 : <framed-labeled-gadget> ( content title color -- labeled )
30     <colored-labeled-gadget> labeled-border-color <solid> >>boundary ;