gopher-ui: remember scroll position in history.
parent
d93eb719c7
commit
ac9c983c93
|
@ -1,24 +1,27 @@
|
||||||
! Copyright (C) 2014 John Benediktsson
|
! Copyright (C) 2014 John Benediktsson
|
||||||
! See http://factorcode.org/license.txt for BSD license
|
! See http://factorcode.org/license.txt for BSD license
|
||||||
|
|
||||||
USING: accessors debugger fry gopher gopher.private kernel
|
USING: accessors arrays debugger fry gopher gopher.private
|
||||||
models present ui ui.commands ui.gadgets ui.gadgets.borders
|
kernel models present sequences ui ui.commands ui.gadgets
|
||||||
ui.gadgets.buttons ui.gadgets.editors ui.gadgets.panes
|
ui.gadgets.borders ui.gadgets.buttons ui.gadgets.editors
|
||||||
ui.gadgets.scrollers ui.gadgets.status-bar ui.gadgets.tracks
|
ui.gadgets.panes ui.gadgets.scrollers ui.gadgets.status-bar
|
||||||
ui.gestures ui.operations ui.tools.browser
|
ui.gadgets.tracks ui.gadgets.viewports ui.gestures ui.operations
|
||||||
ui.tools.browser.history ui.tools.common urls ;
|
ui.tools.browser ui.tools.browser.history ui.tools.common urls ;
|
||||||
|
|
||||||
IN: gopher-ui
|
IN: gopher-ui
|
||||||
|
|
||||||
TUPLE: gopher-gadget < tool history output url-field ;
|
TUPLE: gopher-gadget < tool history scroller url-field ;
|
||||||
|
|
||||||
{ 600 600 } gopher-gadget set-tool-dim
|
{ 600 600 } gopher-gadget set-tool-dim
|
||||||
|
|
||||||
M: gopher-gadget history-value
|
M: gopher-gadget history-value
|
||||||
control-value ;
|
[ control-value ] [ scroller>> scroll-position ]
|
||||||
|
bi 2array ;
|
||||||
|
|
||||||
M: gopher-gadget set-history-value
|
M: gopher-gadget set-history-value
|
||||||
set-control-value ;
|
[ first2 ] dip
|
||||||
|
[ set-control-value ] [ scroller>> set-scroll-position ]
|
||||||
|
bi-curry bi* ;
|
||||||
|
|
||||||
M: gopher-gadget model-changed
|
M: gopher-gadget model-changed
|
||||||
[ value>> present ]
|
[ value>> present ]
|
||||||
|
@ -54,7 +57,7 @@ M: gopher-gadget model-changed
|
||||||
dup <url-field> >>url-field
|
dup <url-field> >>url-field
|
||||||
dup <gopher-toolbar> { 3 3 } <border> { 1 0 } >>fill f track-add
|
dup <gopher-toolbar> { 3 3 } <border> { 1 0 } >>fill f track-add
|
||||||
dup <gopher-pane> { 3 3 } <border> { 1 1 } >>fill
|
dup <gopher-pane> { 3 3 } <border> { 1 1 } >>fill
|
||||||
<scroller> 1 track-add ;
|
<scroller> [ >>scroller ] [ 1 track-add ] bi ;
|
||||||
|
|
||||||
: open-gopher-window ( url -- )
|
: open-gopher-window ( url -- )
|
||||||
<gopher-gadget>
|
<gopher-gadget>
|
||||||
|
|
Loading…
Reference in New Issue