split presentations into two files

cvs
Slava Pestov 2005-12-17 03:28:14 +00:00
parent b7992f93a5
commit 74e132c6a6
3 changed files with 59 additions and 56 deletions

View File

@ -186,6 +186,7 @@ vectors words ;
"/library/ui/panes.factor" "/library/ui/panes.factor"
"/library/ui/books.factor" "/library/ui/books.factor"
"/library/ui/outliner.factor" "/library/ui/outliner.factor"
"/library/ui/commands.factor"
"/library/ui/presentations.factor" "/library/ui/presentations.factor"
"/library/ui/listener.factor" "/library/ui/listener.factor"
"/library/ui/ui.factor" "/library/ui/ui.factor"

View File

@ -0,0 +1,55 @@
IN: gadgets-presentations
USING: compiler gadgets gadgets-buttons gadgets-menus
gadgets-panes generic hashtables inference inspector jedit
kernel lists namespaces parser prettyprint sequences words ;
SYMBOL: commands
V{ } clone commands global set-hash
: forget-command ( name -- )
commands [ [ second = not ] subset-with ] change ;
: define-command ( class name quot -- )
over forget-command 3array commands get push ;
: applicable ( object -- seq )
commands get [ first call ] subset-with ;
: command-quot ( presented quot -- quot )
[ \ drop , curry , [ pane get pane-call ] % ] [ ] make ;
TUPLE: command-button object ;
: command-menu ( command-button -- )
command-button-object dup applicable
[ [ third command-quot ] keep second swons ] map-with
<menu> show-hand-menu ;
C: command-button ( gadget object -- button )
[
set-command-button-object
[ command-menu ] <roll-button>
] keep
[ set-gadget-delegate ] keep
dup menu-button-actions ;
M: command-button gadget-help ( button -- string )
command-button-object dup word? [ synopsis ] [ summary ] if ;
[ drop t ] "Prettyprint" [ . ] define-command
[ drop t ] "Describe" [ describe ] define-command
[ drop t ] "Push on data stack" [ ] define-command
[ word? ] "See word" [ see ] define-command
[ word? ] "Word call hierarchy" [ uses. ] define-command
[ word? ] "Word caller hierarchy" [ usage. ] define-command
[ word? ] "Open in jEdit" [ jedit ] define-command
[ word? ] "Reload original source" [ reload ] define-command
[ compound? ] "Annotate with watchpoint" [ watch ] define-command
[ compound? ] "Annotate with breakpoint" [ break ] define-command
[ compound? ] "Annotate with profiling" [ profile ] define-command
[ word? ] "Compile" [ recompile ] define-command
[ word? ] "Infer stack effect" [ unit infer . ] define-command
[ [ gadget? ] is? ] "Display gadget" [ gadget. ] define-command

View File

@ -1,45 +1,9 @@
! Copyright (C) 2005 Slava Pestov. ! Copyright (C) 2005 Slava Pestov.
! See http://factor.sf.net/license.txt for BSD license. ! See http://factor.sf.net/license.txt for BSD license.
IN: gadgets-presentations IN: gadgets-presentations
USING: arrays compiler gadgets gadgets-borders gadgets-buttons USING: arrays gadgets gadgets-labels gadgets-layouts
gadgets-labels gadgets-layouts gadgets-menus gadgets-outliner gadgets-outliner gadgets-panes hashtables io kernel sequences
gadgets-panes gadgets-theme generic hashtables inference strings styles ;
inspector io jedit kernel lists memory namespaces parser
prettyprint sequences strings styles words ;
SYMBOL: commands
V{ } clone commands global set-hash
: forget-command ( name -- )
commands [ [ second = not ] subset-with ] change ;
: define-command ( class name quot -- )
over forget-command 3array commands get push ;
: applicable ( object -- seq )
commands get [ first call ] subset-with ;
: command-quot ( presented quot -- quot )
[ \ drop , curry , [ pane get pane-call ] % ] [ ] make ;
TUPLE: command-button object ;
: command-menu ( command-button -- )
command-button-object dup applicable
[ [ third command-quot ] keep second swons ] map-with
<menu> show-hand-menu ;
C: command-button ( gadget object -- button )
[
set-command-button-object
[ command-menu ] <roll-button>
] keep
[ set-gadget-delegate ] keep
dup menu-button-actions ;
M: command-button gadget-help ( button -- string )
command-button-object dup word? [ synopsis ] [ summary ] if ;
: init-commands ( style gadget -- gadget ) : init-commands ( style gadget -- gadget )
presented rot hash [ <command-button> ] when* ; presented rot hash [ <command-button> ] when* ;
@ -91,20 +55,3 @@ M: gadget-stream stream-close ( stream -- ) drop ;
M: pane with-nested-stream ( quot style stream -- ) M: pane with-nested-stream ( quot style stream -- )
>r >r make-pane r> paragraph-style >r >r make-pane r> paragraph-style
r> pane-current add-gadget ; r> pane-current add-gadget ;
[ drop t ] "Prettyprint" [ . ] define-command
[ drop t ] "Describe" [ describe ] define-command
[ drop t ] "Push on data stack" [ ] define-command
[ word? ] "See word" [ see ] define-command
[ word? ] "Word call hierarchy" [ uses. ] define-command
[ word? ] "Word caller hierarchy" [ usage. ] define-command
[ word? ] "Open in jEdit" [ jedit ] define-command
[ word? ] "Reload original source" [ reload ] define-command
[ compound? ] "Annotate with watchpoint" [ watch ] define-command
[ compound? ] "Annotate with breakpoint" [ break ] define-command
[ compound? ] "Annotate with profiling" [ profile ] define-command
[ word? ] "Compile" [ recompile ] define-command
[ word? ] "Infer stack effect" [ unit infer . ] define-command
[ [ gadget? ] is? ] "Display gadget" [ gadget. ] define-command