! Copyright (C) 2006, 2009 Slava Pestov, 2015 Nicolas Pénet. ! See http://factorcode.org/license.txt for BSD license. USING: accessors colors.constants kernel system ui.gadgets ui.gadgets.borders ui.gadgets.labels ui.gadgets.packs ui.theme ui.gadgets.tracks ui.pens.gradient ui.pens.solid ui.tools.common ; 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 with-lines swap >>color add-title-bar swap >>content add-content-area ; : ( gadget title color -- labeled ) labeled-border-color >>boundary ; : ( gadget title -- labeled ) vertical labeled-gadget new-track with-lines add-title-bar swap [ >>content ] keep vertical add-content { 5 5 } content-background >>interior 1 track-add labeled-border-color >>boundary { 3 3 } ;