split presentations into two files
parent
b7992f93a5
commit
74e132c6a6
|
@ -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"
|
||||||
|
|
|
@ -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
|
|
@ -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
|
|
||||||
|
|
Loading…
Reference in New Issue