! Copyright (C) 2006, 2009 Slava Pestov, 2015 Nicolas Pénet. ! See http://factorcode.org/license.txt for BSD license. USING: accessors kernel system ui.gadgets ui.gadgets.borders ui.gadgets.labels ui.gadgets.packs ui.gadgets.tracks ui.pens.gradient ui.pens.solid ui.theme ; IN: ui.gadgets.labeled TUPLE: labeled-gadget < track content color ; > ; ! gradients don't work as backgrounds on windows, see #152 and #1397 : title-bar-interior ( -- interior ) os windows? [ toolbar-background ] [ title-bar-gradient ] if ; : add-title-bar ( title track -- track ) swap >label [ t >>bold? ] change-font { 0 4 } title-bar-interior >>interior f track-add ; : add-content ( content track -- track ) swap 1 track-add ; : add-color-line ( color track -- track ) { 0 1.5 } rot >>interior f track-add ; : add-content-area ( labeled -- labeled ) [ ] [ content>> ] [ color>> ] tri vertical add-color-line add-content 1 track-add ; PRIVATE> : ( gadget title color -- labeled ) vertical labeled-gadget new-track swap >>color add-title-bar swap >>content add-content-area ; : ( gadget title color -- labeled ) labeled-border-color >>boundary ;