UI tools now remember their size
parent
9ea76e3808
commit
35ebc60a4b
|
@ -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*
|
||||
|
|
|
@ -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 -- )
|
||||
|
|
|
@ -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 ;
|
||||
|
||||
|
|
|
@ -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 ;
|
|
@ -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
|
||||
|
|
|
@ -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?
|
||||
|
|
Loading…
Reference in New Issue