From b8b3362fa05ba8e888027c25ea019c33ea4b5c70 Mon Sep 17 00:00:00 2001 From: nicolas-p Date: Tue, 21 Jul 2015 19:34:06 +0200 Subject: [PATCH] Labeled: added colour lines, framed labeled and fixed keyboard focus Colours lines are all yellow at the moment. This will change later. --- basis/ui/gadgets/labeled/labeled.factor | 58 +++++++++++-------------- 1 file changed, 25 insertions(+), 33 deletions(-) diff --git a/basis/ui/gadgets/labeled/labeled.factor b/basis/ui/gadgets/labeled/labeled.factor index adb2909f4b..15c3789c0a 100644 --- a/basis/ui/gadgets/labeled/labeled.factor +++ b/basis/ui/gadgets/labeled/labeled.factor @@ -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 ; ( gadget -- label ) - >label - [ panel-background-color font-with-background ] change-font - { 0 2 } - "title-middle" corner-image - t >>fill? >>interior ; - -: /-FOO-\ ( title labeled -- labeled ) - "title-left" corner-icon @top-left grid-add - swap @top grid-add - "title-right" corner-icon @top-right grid-add ; - M: labeled-gadget focusable-child* content>> ; -PRIVATE> - -: ( gadget title -- newgadget ) - labeled-gadget "labeled-block" [ - pick >>content - /-FOO-\ - |-----| - \-----/ - ] make-corners ; - - - - { 0 1.5 } + COLOR: yellow >>interior + f track-add ; + +: add-content-area ( labeled -- labeled ) + dup content>> + vertical + add-color-line + add-content + 1 track-add ; + PRIVATE> -: ( gadget title -- newgadget ) - vertical with-lines - add-title-bar - add-content ; +: ( gadget title -- labeled ) + vertical labeled-gadget new-track with-lines + add-title-bar + swap >>content + add-content-area ; + +: ( gadget title -- labeled ) + + COLOR: grey85 >>boundary ;