More work on the workspace UI

slava 2006-08-26 18:30:58 +00:00
parent ab786bf132
commit edeb988b5f
6 changed files with 18 additions and 17 deletions

View File

@ -1,6 +1,5 @@
+ 0.84: + 0.84:
- default font should not be monospaced
- new browser: - new browser:
- show currently selected vocab & words - show currently selected vocab & words
- scroll to existing won't work - scroll to existing won't work

View File

@ -1,8 +1,8 @@
! Copyright (C) 2005, 2006 Kevin Reid. ! Copyright (C) 2005, 2006 Kevin Reid.
! See http://factorcode.org/license.txt for BSD license. ! See http://factorcode.org/license.txt for BSD license.
USING: cocoa compiler gadgets gadgets-browser USING: cocoa compiler gadgets gadgets-browser gadgets-help
gadgets-listener gadgets-search kernel memory objc objc-classes gadgets-listener gadgets-search kernel memory objc objc-classes
sequences strings words ; sequences strings words io ;
IN: cocoa IN: cocoa
! ------------------------------------------------------------------------- ! -------------------------------------------------------------------------

View File

@ -93,4 +93,5 @@ M: button-paint draw-boundary
swap [ swap >r = r> set-button-selected? ] curry <control> ; swap [ swap >r = r> set-button-selected? ] curry <control> ;
: <radio-box> ( model assoc -- gadget ) : <radio-box> ( model assoc -- gadget )
[ first2 <radio-control> ] map-with make-shelf ; [ first2 <radio-control> ] map-with
make-shelf dup highlight-theme ;

View File

@ -1,6 +1,6 @@
! Copyright (C) 2006 Slava Pestov. ! Copyright (C) 2006 Slava Pestov.
! See http://factorcode.org/license.txt for BSD license. ! See http://factorcode.org/license.txt for BSD license.
IN: new-browser IN: gadgets-browser
USING: arrays sequences kernel gadgets-panes definitions USING: arrays sequences kernel gadgets-panes definitions
prettyprint gadgets-tiles gadgets-theme gadgets-borders gadgets prettyprint gadgets-tiles gadgets-theme gadgets-borders gadgets
generic gadgets-scrolling math io words models styles generic gadgets-scrolling math io words models styles
@ -88,6 +88,5 @@ M: browser gadget-title drop "Browser" <model> ;
: browser-tool [ browser? ] [ <browser> ] [ browse ] ; : browser-tool [ browser? ] [ <browser> ] [ browse ] ;
M: word show browser-tool call-tool ; \ word 1 "Browse" [ browser-tool call-tool ] define-operation
vocab-link 1 "Browse" [ browser-tool call-tool ] define-operation
M: vocab-link show browser-tool call-tool ;

View File

@ -23,7 +23,8 @@ help-gadget {
gadget get help-gadget-history [ help ] <pane-control> ; gadget get help-gadget-history [ help ] <pane-control> ;
C: help-gadget ( -- gadget ) C: help-gadget ( -- gadget )
f <history> over set-help-gadget-history { T{ link f "handbook" } <history>
over set-help-gadget-history {
{ [ gadget get <toolbar> ] f f @top } { [ gadget get <toolbar> ] f f @top }
{ [ <help-pane> <scroller> ] f f @center } { [ <help-pane> <scroller> ] f f @center }
} make-frame* ; } make-frame* ;

View File

@ -1,22 +1,23 @@
! Copyright (C) 2006 Slava Pestov. ! Copyright (C) 2006 Slava Pestov.
! See http://factorcode.org/license.txt for BSD license. ! See http://factorcode.org/license.txt for BSD license.
IN: gadgets-workspace IN: gadgets-workspace
USING: gadgets-listener gadgets-walker gadgets-help USING: arrays gadgets gadgets-listener gadgets-buttons
gadgets-walker ; gadgets-walker gadgets-help gadgets-walker sequences
gadgets-books gadgets-frames kernel models namespaces ;
TUPLE: workspace model ; TUPLE: workspace model ;
: workspace-tabs : workspace-tabs
{ {
{ "Listener" [ <listener-gadget> ] } { "Listener" listener-gadget [ <listener-gadget> ] }
{ "Walker" [ <walker-gadget> ] } { "Walker" walker-gadget [ <walker-gadget> ] }
{ "Dictionary" [ "Hello" <label> ] } { "Dictionary" browser [ <browser> ] }
{ "Documentation" [ <help-gadget> ] } { "Documentation" help-gadget [ <help-gadget> ] }
} ; } ;
: <workspace-book> ( workspace -- book ) : <workspace-book> ( workspace -- book )
workspace-model workspace-model
workspace-tabs [ second ] map <book-control> ; workspace-tabs [ third ] map <book-control> ;
: <workspace-tabs> ( workspace -- tabs ) : <workspace-tabs> ( workspace -- tabs )
workspace-model workspace-model
@ -27,4 +28,4 @@ C: workspace
0 <model> over set-workspace-model { 0 <model> over set-workspace-model {
{ [ gadget get <workspace-tabs> ] f f @top } { [ gadget get <workspace-tabs> ] f f @top }
{ [ gadget get <workspace-book> ] f f @center } { [ gadget get <workspace-book> ] f f @center }
} make-frame* } make-frame* ;