UI tools now remember their size

db4
Slava Pestov 2009-01-08 18:35:34 -06:00
parent 9ea76e3808
commit 35ebc60a4b
6 changed files with 38 additions and 19 deletions

View File

@ -11,6 +11,8 @@ IN: ui.tools.browser
TUPLE: browser-gadget < track pane scroller search-field ;
TOOL: browser-gadget { 550 400 }
: show-help ( link browser-gadget -- )
model>> dup add-history
[ >link ] dip set-model ;
@ -33,18 +35,13 @@ TUPLE: browser-gadget < track pane scroller search-field ;
"Search:" <label> add-gadget
swap search-field>> add-gadget ;
: <help-pane-scroller> ( browser -- scroller )
pane>> <limited-scroller>
{ 550 400 } >>max-dim
{ 550 400 } >>min-dim ;
: <browser-gadget> ( link -- gadget )
{ 0 1 } browser-gadget new-track
swap <history> >>model
dup <search-field> >>search-field
dup <browser-toolbar> f track-add
dup <help-pane> >>pane
dup <help-pane-scroller> >>scroller
dup pane>> <scroller> >>scroller
dup scroller>> 1 track-add ;
M: browser-gadget graft*

View File

@ -1,8 +1,29 @@
! Copyright (C) 2009 Slava Pestov.
! See http://factorcode.org/license.txt for BSD license.
USING: accessors ui.gadgets.scrollers ;
USING: accessors assocs classes classes.mixin kernel namespaces
parser ui.gadgets ui.gadgets.scrollers ;
IN: ui.tools.common
SYMBOL: tool-dims
tool-dims global [ H{ } clone or ] change-at
MIXIN: tool
M: tool pref-dim*
class tool-dims get at ;
M: tool layout*
[ call-next-method ]
[ [ dim>> ] [ class ] bi tool-dims get set-at ]
bi ;
: TOOL:
scan-word
[ tool add-mixin-instance ]
[ scan-object swap tool-dims get set-at ]
bi ; parsing
SLOT: scroller
: com-page-up ( tool -- )

View File

@ -6,11 +6,14 @@ io io.styles arrays hashtables math.order sorting refs
ui.tools.browser ui.commands ui.gadgets ui.gadgets.panes
ui.gadgets.scrollers ui.gadgets.slots ui.gadgets.tracks
ui.gestures ui.gadgets.buttons ui.gadgets.tables
ui.gadgets.status-bar ui.gadgets.theme ui.gadgets.labelled ui ;
ui.gadgets.status-bar ui.gadgets.theme ui.gadgets.labelled
ui.tools.common ui ;
IN: ui.tools.inspector
TUPLE: inspector-gadget < track table ;
TOOL: inspector-gadget { 500 300 }
TUPLE: slot-description key key-string value value-string ;
: <slot-description> ( key value -- slot-description )
@ -75,9 +78,6 @@ M: hashtable make-slot-descriptions
M: inspector-gadget focusable-child*
table>> ;
M: inspector-gadget pref-dim*
drop { 500 300 } ;
: com-refresh ( inspector -- )
model>> notify-connections ;

View File

@ -151,6 +151,8 @@ M: interactor dispose drop ;
TUPLE: listener-gadget < track input output scroller popup ;
TOOL: listener-gadget { 550 700 }
: find-listener ( gadget -- listener )
[ listener-gadget? ] find-parent ;
@ -412,7 +414,4 @@ M: listener-gadget graft*
[ call-next-method ] [ restart-listener ] bi ;
M: listener-gadget ungraft*
[ com-end ] [ call-next-method ] bi ;
M: listener-gadget pref-dim*
drop { 550 700 } ;
[ com-end ] [ call-next-method ] bi ;

View File

@ -8,7 +8,7 @@ ui.gadgets.panes ui.gadgets.scrollers ui.gadgets.tracks ui.gestures
ui.gadgets.buttons ui.gadgets.tables ui.gadgets.search-tables
ui.gadgets.labelled ui.gadgets.buttons ui.gadgets.packs
ui.gadgets.labels ui.gadgets.tabbed ui.gadgets.status-bar
ui.tools.browser ;
ui.tools.browser ui.tools.common ;
FROM: models.filter => <filter> ;
FROM: models.compose => <compose> ;
IN: ui.tools.profiler
@ -20,6 +20,8 @@ words
methods
generic class ;
TOOL: profiler-gadget { 700 400 }
SINGLETON: word-renderer
! Value is a { word count } pair
@ -139,8 +141,6 @@ M: method-renderer row-value drop first ;
over <methods-tab> "Methods" add-tab
1 track-add ;
M: profiler-gadget pref-dim* call-next-method { 700 400 } vmax ;
: profiler-help ( -- ) "ui-profiler" com-follow ;
\ profiler-help H{ { +nullary+ t } } define-command

View File

@ -3,7 +3,7 @@
USING: accessors kernel concurrency.messaging inspector
ui.tools.listener ui.tools.traceback ui.gadgets.buttons
ui.gadgets.status-bar ui.gadgets.tracks ui.commands ui.gadgets
models models.filter ui.tools.browser ui.gestures
models models.filter ui.tools.browser ui.tools.common ui.gestures
ui.gadgets.labels ui threads namespaces make tools.walker assocs
combinators fry ;
IN: ui.tools.walker
@ -13,6 +13,8 @@ status continuation thread
traceback
closing? ;
TOOL: walker-gadget { 620 620 }
: walker-command ( walker msg -- )
swap
dup thread>> thread-registered?