factor/library/ui/tools/workspace.factor

33 lines
1007 B
Factor
Raw Normal View History

! Copyright (C) 2006 Slava Pestov.
! See http://factorcode.org/license.txt for BSD license.
IN: gadgets-workspace
2006-08-26 14:30:58 -04:00
USING: arrays gadgets gadgets-listener gadgets-buttons
gadgets-walker gadgets-help gadgets-walker sequences
2006-08-26 15:23:44 -04:00
gadgets-browser gadgets-books gadgets-frames kernel models
namespaces ;
TUPLE: workspace model ;
: workspace-tabs
{
2006-08-26 14:30:58 -04:00
{ "Listener" listener-gadget [ <listener-gadget> ] }
{ "Walker" walker-gadget [ <walker-gadget> ] }
{ "Dictionary" browser [ <browser> ] }
{ "Documentation" help-gadget [ <help-gadget> ] }
} ;
: <workspace-book> ( workspace -- book )
workspace-model
2006-08-26 14:30:58 -04:00
workspace-tabs [ third ] map <book-control> ;
: <workspace-tabs> ( workspace -- tabs )
workspace-model
workspace-tabs dup length [ swap first 2array ] 2map
<radio-box> ;
C: workspace
0 <model> over set-workspace-model {
{ [ gadget get <workspace-tabs> ] f f @top }
{ [ gadget get <workspace-book> ] f f @center }
2006-08-26 14:30:58 -04:00
} make-frame* ;