factor/basis/ui/gadgets/labeled/labeled.factor

35 lines
986 B
Factor
Raw Normal View History

! Copyright (C) 2006, 2009 Slava Pestov.
! See http://factorcode.org/license.txt for BSD license.
USING: accessors kernel sequences colors fonts ui.gadgets
ui.gadgets.frames ui.gadgets.grids ui.gadgets.icons ui.gadgets.labels
2009-03-14 00:49:16 -04:00
ui.gadgets.borders ui.pens.image ui.gadgets.corners ui.render ;
IN: ui.gadgets.labeled
TUPLE: labeled-gadget < frame content ;
<PRIVATE
: <labeled-title> ( gadget -- label )
>label
2009-03-14 00:49:16 -04:00
[ panel-background-color font-with-background ] change-font
{ 0 2 } <border>
2009-03-14 00:49:16 -04:00
"title-middle" corner-image
<image-pen> t >>fill? >>interior ;
: /-FOO-\ ( title labeled -- labeled )
2009-03-14 00:49:16 -04:00
"title-left" corner-icon @top-left grid-add
swap <labeled-title> @top grid-add
2009-03-14 00:49:16 -04:00
"title-right" corner-icon @top-right grid-add ;
M: labeled-gadget focusable-child* content>> ;
PRIVATE>
: <labeled-gadget> ( gadget title -- newgadget )
2009-03-14 00:49:16 -04:00
labeled-gadget "labeled-block" [
over >>content
/-FOO-\
|-----|
2009-03-14 00:49:16 -04:00
\-----/
] make-corners ;