factor/library/ui/tools/launchpad.factor

63 lines
1.9 KiB
Factor
Raw Normal View History

! Copyright (C) 2006 Slava Pestov
! See http://factorcode.org/license.txt for BSD license.
IN: gadgets-launchpad
USING: gadgets gadgets-apropos gadgets-borders gadgets-browser
gadgets-buttons gadgets-labels gadgets-listener gadgets-panes
2006-06-04 16:20:40 -04:00
gadgets-presentations gadgets-scrolling gadgets-theme generic
help inspector io kernel memory namespaces prettyprint sequences
words ;
: <launchpad> ( menu -- )
2006-03-22 18:23:32 -05:00
[ first2 >r <label> [ drop ] r> append <bevel-button> ] map
make-pile 1 over set-pack-fill { 5 5 0 } over set-pack-gap
<default-border> dup highlight-theme ;
2006-03-24 22:58:03 -05:00
: pane-window ( quot title -- )
2006-05-26 02:29:44 -04:00
>r make-pane <scroller> r> open-titled-window ;
2006-03-24 03:28:46 -05:00
: handbook-window ( -- )
T{ link f "handbook" } f show-object ;
2006-03-24 03:28:46 -05:00
2006-05-18 22:01:38 -04:00
: memory-window ( -- )
[ heap-stats. terpri room. ] "Memory" pane-window ;
: articles-window ( -- )
[ articles. ] "Help index" pane-window ;
2006-06-04 16:20:40 -04:00
: types-window ( -- )
2006-06-04 16:30:47 -04:00
[ builtins get [ ] subset [ help ] word-outliner ]
2006-06-04 16:20:40 -04:00
"Types" pane-window ;
: classes-window ( -- )
[ classes [ help ] word-outliner ]
2006-06-04 16:30:47 -04:00
"Classes" pane-window ;
2006-06-04 16:20:40 -04:00
: primitives-window ( -- )
[ all-words [ primitive? ] subset [ help ] word-outliner ]
"Primitives" pane-window ;
2006-05-18 22:01:38 -04:00
: apropos-window ( -- )
2006-05-26 02:29:44 -04:00
<apropos-gadget> open-window ;
2006-05-18 22:01:38 -04:00
: globals-window ( -- )
global f show-object ;
2006-05-18 22:01:38 -04:00
: default-launchpad
{
2006-03-18 02:23:57 -05:00
{ "Listener" [ listener-window ] }
2006-03-24 03:28:46 -05:00
{ "Documentation" [ handbook-window ] }
2006-05-18 22:01:38 -04:00
{ "Help index" [ articles-window ] }
2006-05-20 02:31:32 -04:00
{ "Browser" [ f browser-window ] }
2006-05-18 22:01:38 -04:00
{ "Apropos" [ apropos-window ] }
{ "Globals" [ globals-window ] }
2006-06-04 16:20:40 -04:00
{ "Types" [ types-window ] }
{ "Classes" [ classes-window ] }
{ "Primitives" [ primitives-window ] }
2006-05-18 22:01:38 -04:00
{ "Memory" [ memory-window ] }
{ "Save image" [ save ] }
{ "Exit" [ 0 exit ] }
} <launchpad> ;
2006-03-18 02:23:57 -05:00
: launchpad-window ( -- )
2006-05-26 02:29:44 -04:00
default-launchpad open-window ;