Labeled: added colour lines, framed labeled and fixed keyboard focus
Colours lines are all yellow at the moment. This will change later.db4
parent
67afaa5bce
commit
b8b3362fa0
|
@ -1,43 +1,18 @@
|
|||
! Copyright (C) 2006, 2009 Slava Pestov.
|
||||
! Copyright (C) 2006, 2009 Slava Pestov, 2015 Nicolas Pénet.
|
||||
! See http://factorcode.org/license.txt for BSD license.
|
||||
USING: accessors colors.constants fonts kernel ui.gadgets
|
||||
ui.gadgets.borders ui.gadgets.corners ui.gadgets.frames
|
||||
ui.gadgets.grids ui.gadgets.labels ui.gadgets.lines
|
||||
ui.gadgets.tracks ui.tools.common ui.pens.gradient ui.pens.image ui.render ;
|
||||
ui.gadgets.tracks ui.gadgets.packs ui.tools.common
|
||||
ui.pens.gradient ui.pens.image ui.pens.solid ui.render ;
|
||||
IN: ui.gadgets.labeled
|
||||
|
||||
TUPLE: labeled-gadget < frame content ;
|
||||
TUPLE: labeled-gadget < track content color ;
|
||||
|
||||
<PRIVATE
|
||||
|
||||
: <labeled-title> ( gadget -- label )
|
||||
>label
|
||||
[ panel-background-color font-with-background ] change-font
|
||||
{ 0 2 } <border>
|
||||
"title-middle" corner-image
|
||||
<image-pen> t >>fill? >>interior ;
|
||||
|
||||
: /-FOO-\ ( title labeled -- labeled )
|
||||
"title-left" corner-icon @top-left grid-add
|
||||
swap <labeled-title> @top grid-add
|
||||
"title-right" corner-icon @top-right grid-add ;
|
||||
|
||||
M: labeled-gadget focusable-child* content>> ;
|
||||
|
||||
PRIVATE>
|
||||
|
||||
: <labeled-gadget-old> ( gadget title -- newgadget )
|
||||
labeled-gadget "labeled-block" [
|
||||
pick >>content
|
||||
/-FOO-\
|
||||
|-----|
|
||||
\-----/
|
||||
] make-corners ;
|
||||
|
||||
|
||||
|
||||
<PRIVATE
|
||||
|
||||
CONSTANT: title-bar-gradient { COLOR: white COLOR: grey90 }
|
||||
|
||||
: add-title-bar ( title track -- track )
|
||||
|
@ -50,9 +25,26 @@ CONSTANT: title-bar-gradient { COLOR: white COLOR: grey90 }
|
|||
: add-content ( content track -- track )
|
||||
swap white-interior 1 track-add ;
|
||||
|
||||
: add-color-line ( track -- track )
|
||||
<shelf> { 0 1.5 } <border>
|
||||
COLOR: yellow <solid> >>interior
|
||||
f track-add ;
|
||||
|
||||
: add-content-area ( labeled -- labeled )
|
||||
dup content>>
|
||||
vertical <track>
|
||||
add-color-line
|
||||
add-content
|
||||
1 track-add ;
|
||||
|
||||
PRIVATE>
|
||||
|
||||
: <labeled-gadget> ( gadget title -- newgadget )
|
||||
vertical <track> with-lines
|
||||
add-title-bar
|
||||
add-content ;
|
||||
: <labeled-gadget> ( gadget title -- labeled )
|
||||
vertical labeled-gadget new-track with-lines
|
||||
add-title-bar
|
||||
swap >>content
|
||||
add-content-area ;
|
||||
|
||||
: <framed-labeled-gadget> ( gadget title -- labeled )
|
||||
<labeled-gadget>
|
||||
COLOR: grey85 <solid> >>boundary ;
|
||||
|
|
Loading…
Reference in New Issue