Merge branch 'master' of git://factorcode.org/git/factor

db4
Slava Pestov 2008-07-14 17:06:10 -05:00
commit 07cec22503
6 changed files with 47 additions and 48 deletions

View File

@ -94,4 +94,4 @@ MACRO: bake ( seq -- quot ) [bake] ;
: `{ \ } [ >array ] parse-literal \ bake parsed ; parsing
: `V{ \ } [ >vector ] parse-literal \ bake parsed ; parsing
: `[ \ } [ >quotation ] parse-literal \ bake parsed ; parsing
: `[ \ ] [ >quotation ] parse-literal \ bake parsed ; parsing

View File

@ -5,10 +5,8 @@ kernel namespaces tools.test math.parser sequences math.geometry.rect ;
[ t ] [
{ 0 0 } { 100 100 } <rect> clip set
[
100 [ number>string <label> gadget, ] each
] make-pile
<pile>
100 [ number>string <label> add-gadget ] each
dup layout
visible-children [ label? ] all?

View File

@ -16,12 +16,11 @@ TUPLE: inspector-gadget < track object pane ;
] with-pane ;
: <inspector-gadget> ( -- gadget )
{ 0 1 } inspector-gadget new-track
[
toolbar,
<pane> g-> set-inspector-gadget-pane <scroller> 1 track,
] make-gadget ;
{ 0 1 } inspector-gadget new-track
dup <toolbar> f track-add*
<pane> >>pane
dup pane>> <scroller> 1 track-add* ;
: inspect-object ( obj mirror keys inspector -- )
2nip swap >>object refresh ;

View File

@ -120,14 +120,13 @@ M: engine-word word-completion-string
TUPLE: stack-display < track ;
: <stack-display> ( -- gadget )
g workspace-listener
{ 0 1 } stack-display new-track
[
dup <toolbar> f track,
stack>> [ [ stack. ] curry try ]
t "Data stack" <labelled-pane> 1 track,
] make-gadget ;
: <stack-display> ( workspace -- gadget )
listener>>
{ 0 1 } stack-display new-track
over <toolbar> f track-add*
swap
stack>> [ [ stack. ] curry try ] t "Data stack" <labelled-pane>
1 track-add* ;
M: stack-display tool-scroller
find-workspace workspace-listener tool-scroller ;

View File

@ -2,19 +2,17 @@
! See http://factorcode.org/license.txt for BSD license.
USING: ui.tools.workspace kernel quotations tools.profiler
ui.commands ui.gadgets ui.gadgets.panes ui.gadgets.scrollers
ui.gadgets.tracks ui.gestures ui.gadgets.buttons ;
ui.gadgets.tracks ui.gestures ui.gadgets.buttons accessors ;
IN: ui.tools.profiler
TUPLE: profiler-gadget < track pane ;
: <profiler-gadget> ( -- gadget )
{ 0 1 } profiler-gadget new-track
[
toolbar,
<pane> g-> set-profiler-gadget-pane
<scroller> 1 track,
] make-gadget ;
{ 0 1 } profiler-gadget new-track
dup <toolbar> f track-add*
<pane> >>pane
dup pane>> <scroller> 1 track-add* ;
: with-profiler-pane ( gadget quot -- )
>r profiler-gadget-pane r> with-pane ;

View File

@ -12,31 +12,36 @@ tools.test tools.vocabs ui.gadgets.buttons ui.gadgets.status-bar
mirrors ;
IN: ui.tools
: <workspace-tabs> ( -- tabs )
g gadget-model
"tool-switching" workspace command-map commands>>
: <workspace-tabs> ( workspace -- tabs )
model>>
"tool-switching" workspace command-map commands>>
[ command-string ] { } assoc>map <enum> >alist
<toggle-buttons> ;
<toggle-buttons> ;
: <workspace-book> ( -- gadget )
[
<stack-display> ,
<browser-gadget> ,
<inspector-gadget> ,
<profiler-gadget> ,
] { } make g gadget-model <book> ;
: <workspace-book> ( workspace -- gadget )
dup
<stack-display>
<browser-gadget>
<inspector-gadget>
<profiler-gadget>
4array
swap model>>
<book> ;
: <workspace> ( -- workspace )
{ 0 1 } workspace new-track
0 <model> >>model
[
<listener-gadget> g set-workspace-listener
<workspace-book> g set-workspace-book
<workspace-tabs> f track,
g workspace-book 1/5 track,
g workspace-listener 4/5 track,
toolbar,
] make-gadget ;
{ 0 1 } workspace new-track
0 <model> >>model
<listener-gadget> >>listener
dup <workspace-book> >>book
dup <workspace-tabs> f track-add*
dup book>> 1/5 track-add*
dup listener>> 4/5 track-add*
dup <toolbar> f track-add* ;
: resize-workspace ( workspace -- )
dup track-sizes over control-value zero? [