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 ;
8 TUPLE: labeled-gadget < track content ;
12 M: labeled-gadget focusable-child* content>> ;
14 : <title-bar> ( title -- title-bar )
15 >label [ t >>bold? ] change-font
17 title-bar-gradient <gradient> >>interior ;
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 ;
26 : <colored-labeled-gadget> ( content title color -- labeled )
27 [ <labeled-gadget> ] dip <solid> >>interior { 0 3 } >>gap ;
29 : <framed-labeled-gadget> ( content title color -- labeled )
30 <colored-labeled-gadget> labeled-border-color <solid> >>boundary ;