browser-gadget


Vocabulary
ui.tools.browser

Definition
USING: ui.tools.common ;

IN: ui.tools.browser

TUPLE: browser-gadget < tool
history scroller search-field popup ;


Methods
USING: accessors compiler.units kernel ui.tools.browser
ui.tools.browser.history ;

M: browser-gadget definitions-changed
[ model>> value>> swap showing-definition? ] keep
[ [ history-value ] keep set-history-value ] curry when ;


USING: accessors ui.gadgets ui.tools.browser ;

M: browser-gadget focusable-child* search-field>> ;


USING: compiler.units generic kernel ui.gadgets
ui.tools.browser ;

M: browser-gadget graft*
[ add-definition-observer ]
[ M\ browser-gadget graft* (call-next-method) ] bi ;


USING: accessors combinators combinators.short-circuit generic
kernel ui.gadgets.glass ui.gestures ui.tools.browser ;

M: browser-gadget handle-gesture
{
{
[ over key-gesture? not ]
[
M\ browser-gadget handle-gesture
(call-next-method)
]
}
{
[ dup popup>> ]
[
{
[ pass-to-popup ]
[
M\ browser-gadget handle-gesture
(call-next-method)
]
} 2&&
]
}
[ M\ browser-gadget handle-gesture (call-next-method) ]
} cond ;


USING: accessors arrays kernel ui.gadgets ui.gadgets.viewports
ui.tools.browser ui.tools.browser.history ;

M: browser-gadget history-value
[ control-value ] [ scroller>> scroll-position ] bi 2array
;


USING: accessors kernel sequences ui.gadgets
ui.gadgets.scrollers ui.tools.browser ui.tools.browser.history
;

M: browser-gadget set-history-value
[ first2 ] dip
[ set-control-value ] [ scroller>> set-scroll-position ]
bi-curry bi* ;


USING: compiler.units generic kernel ui.gadgets
ui.tools.browser ;

M: browser-gadget ungraft*
[ M\ browser-gadget ungraft* (call-next-method) ]
[ remove-definition-observer ] bi ;