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 ;
|
TUPLE: browser-gadget < track pane scroller search-field ;
|
||||||
|
|
||||||
|
TOOL: browser-gadget { 550 400 }
|
||||||
|
|
||||||
: show-help ( link browser-gadget -- )
|
: show-help ( link browser-gadget -- )
|
||||||
model>> dup add-history
|
model>> dup add-history
|
||||||
[ >link ] dip set-model ;
|
[ >link ] dip set-model ;
|
||||||
|
@ -33,18 +35,13 @@ TUPLE: browser-gadget < track pane scroller search-field ;
|
||||||
"Search:" <label> add-gadget
|
"Search:" <label> add-gadget
|
||||||
swap search-field>> 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 )
|
: <browser-gadget> ( link -- gadget )
|
||||||
{ 0 1 } browser-gadget new-track
|
{ 0 1 } browser-gadget new-track
|
||||||
swap <history> >>model
|
swap <history> >>model
|
||||||
dup <search-field> >>search-field
|
dup <search-field> >>search-field
|
||||||
dup <browser-toolbar> f track-add
|
dup <browser-toolbar> f track-add
|
||||||
dup <help-pane> >>pane
|
dup <help-pane> >>pane
|
||||||
dup <help-pane-scroller> >>scroller
|
dup pane>> <scroller> >>scroller
|
||||||
dup scroller>> 1 track-add ;
|
dup scroller>> 1 track-add ;
|
||||||
|
|
||||||
M: browser-gadget graft*
|
M: browser-gadget graft*
|
||||||
|
|
|
@ -1,8 +1,29 @@
|
||||||
! Copyright (C) 2009 Slava Pestov.
|
! Copyright (C) 2009 Slava Pestov.
|
||||||
! See http://factorcode.org/license.txt for BSD license.
|
! 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
|
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
|
SLOT: scroller
|
||||||
|
|
||||||
: com-page-up ( tool -- )
|
: 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.tools.browser ui.commands ui.gadgets ui.gadgets.panes
|
||||||
ui.gadgets.scrollers ui.gadgets.slots ui.gadgets.tracks
|
ui.gadgets.scrollers ui.gadgets.slots ui.gadgets.tracks
|
||||||
ui.gestures ui.gadgets.buttons ui.gadgets.tables
|
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
|
IN: ui.tools.inspector
|
||||||
|
|
||||||
TUPLE: inspector-gadget < track table ;
|
TUPLE: inspector-gadget < track table ;
|
||||||
|
|
||||||
|
TOOL: inspector-gadget { 500 300 }
|
||||||
|
|
||||||
TUPLE: slot-description key key-string value value-string ;
|
TUPLE: slot-description key key-string value value-string ;
|
||||||
|
|
||||||
: <slot-description> ( key value -- slot-description )
|
: <slot-description> ( key value -- slot-description )
|
||||||
|
@ -75,9 +78,6 @@ M: hashtable make-slot-descriptions
|
||||||
M: inspector-gadget focusable-child*
|
M: inspector-gadget focusable-child*
|
||||||
table>> ;
|
table>> ;
|
||||||
|
|
||||||
M: inspector-gadget pref-dim*
|
|
||||||
drop { 500 300 } ;
|
|
||||||
|
|
||||||
: com-refresh ( inspector -- )
|
: com-refresh ( inspector -- )
|
||||||
model>> notify-connections ;
|
model>> notify-connections ;
|
||||||
|
|
||||||
|
|
|
@ -151,6 +151,8 @@ M: interactor dispose drop ;
|
||||||
|
|
||||||
TUPLE: listener-gadget < track input output scroller popup ;
|
TUPLE: listener-gadget < track input output scroller popup ;
|
||||||
|
|
||||||
|
TOOL: listener-gadget { 550 700 }
|
||||||
|
|
||||||
: find-listener ( gadget -- listener )
|
: find-listener ( gadget -- listener )
|
||||||
[ listener-gadget? ] find-parent ;
|
[ listener-gadget? ] find-parent ;
|
||||||
|
|
||||||
|
@ -412,7 +414,4 @@ M: listener-gadget graft*
|
||||||
[ call-next-method ] [ restart-listener ] bi ;
|
[ call-next-method ] [ restart-listener ] bi ;
|
||||||
|
|
||||||
M: listener-gadget ungraft*
|
M: listener-gadget ungraft*
|
||||||
[ com-end ] [ call-next-method ] bi ;
|
[ com-end ] [ call-next-method ] bi ;
|
||||||
|
|
||||||
M: listener-gadget pref-dim*
|
|
||||||
drop { 550 700 } ;
|
|
|
@ -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.buttons ui.gadgets.tables ui.gadgets.search-tables
|
||||||
ui.gadgets.labelled ui.gadgets.buttons ui.gadgets.packs
|
ui.gadgets.labelled ui.gadgets.buttons ui.gadgets.packs
|
||||||
ui.gadgets.labels ui.gadgets.tabbed ui.gadgets.status-bar
|
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.filter => <filter> ;
|
||||||
FROM: models.compose => <compose> ;
|
FROM: models.compose => <compose> ;
|
||||||
IN: ui.tools.profiler
|
IN: ui.tools.profiler
|
||||||
|
@ -20,6 +20,8 @@ words
|
||||||
methods
|
methods
|
||||||
generic class ;
|
generic class ;
|
||||||
|
|
||||||
|
TOOL: profiler-gadget { 700 400 }
|
||||||
|
|
||||||
SINGLETON: word-renderer
|
SINGLETON: word-renderer
|
||||||
|
|
||||||
! Value is a { word count } pair
|
! Value is a { word count } pair
|
||||||
|
@ -139,8 +141,6 @@ M: method-renderer row-value drop first ;
|
||||||
over <methods-tab> "Methods" add-tab
|
over <methods-tab> "Methods" add-tab
|
||||||
1 track-add ;
|
1 track-add ;
|
||||||
|
|
||||||
M: profiler-gadget pref-dim* call-next-method { 700 400 } vmax ;
|
|
||||||
|
|
||||||
: profiler-help ( -- ) "ui-profiler" com-follow ;
|
: profiler-help ( -- ) "ui-profiler" com-follow ;
|
||||||
|
|
||||||
\ profiler-help H{ { +nullary+ t } } define-command
|
\ profiler-help H{ { +nullary+ t } } define-command
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
USING: accessors kernel concurrency.messaging inspector
|
USING: accessors kernel concurrency.messaging inspector
|
||||||
ui.tools.listener ui.tools.traceback ui.gadgets.buttons
|
ui.tools.listener ui.tools.traceback ui.gadgets.buttons
|
||||||
ui.gadgets.status-bar ui.gadgets.tracks ui.commands ui.gadgets
|
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
|
ui.gadgets.labels ui threads namespaces make tools.walker assocs
|
||||||
combinators fry ;
|
combinators fry ;
|
||||||
IN: ui.tools.walker
|
IN: ui.tools.walker
|
||||||
|
@ -13,6 +13,8 @@ status continuation thread
|
||||||
traceback
|
traceback
|
||||||
closing? ;
|
closing? ;
|
||||||
|
|
||||||
|
TOOL: walker-gadget { 620 620 }
|
||||||
|
|
||||||
: walker-command ( walker msg -- )
|
: walker-command ( walker msg -- )
|
||||||
swap
|
swap
|
||||||
dup thread>> thread-registered?
|
dup thread>> thread-registered?
|
||||||
|
|
Loading…
Reference in New Issue