From: John Benediktsson Date: Thu, 27 Oct 2016 16:52:17 +0000 (-0700) Subject: gopher-ui: move to gopher.ui. X-Git-Tag: unmaintained~553 X-Git-Url: https://gitweb.factorcode.org/gitweb.cgi?p=factor.git;a=commitdiff_plain;h=86b5efb9eb6006b57f7672a78355b57c120394ae gopher-ui: move to gopher.ui. --- diff --git a/extra/gopher-ui/authors.txt b/extra/gopher-ui/authors.txt deleted file mode 100644 index e091bb8164..0000000000 --- a/extra/gopher-ui/authors.txt +++ /dev/null @@ -1 +0,0 @@ -John Benediktsson diff --git a/extra/gopher-ui/gopher-ui.factor b/extra/gopher-ui/gopher-ui.factor deleted file mode 100644 index ce953523d4..0000000000 --- a/extra/gopher-ui/gopher-ui.factor +++ /dev/null @@ -1,97 +0,0 @@ -! Copyright (C) 2014 John Benediktsson -! See http://factorcode.org/license.txt for BSD license - -USING: accessors arrays debugger fry gopher gopher.private -kernel models present sequences ui ui.commands ui.gadgets -ui.gadgets.borders ui.gadgets.buttons ui.gadgets.editors -ui.gadgets.panes ui.gadgets.scrollers ui.gadgets.status-bar -ui.gadgets.toolbar ui.gadgets.tracks ui.gadgets.viewports -ui.gestures ui.operations ui.tools.browser -ui.tools.browser.history ui.tools.common urls ; - -IN: gopher-ui - -TUPLE: gopher-gadget < tool history scroller url-field ; - -gopher-gadget { 600 600 } set-tool-dim - -M: gopher-gadget history-value - [ control-value ] [ scroller>> scroll-position ] - bi 2array ; - -M: gopher-gadget set-history-value - [ first2 ] dip - [ set-control-value ] [ scroller>> set-scroll-position ] - bi-curry bi* ; - -M: gopher-gadget model-changed - [ value>> present ] - [ url-field>> editor>> set-editor-string ] bi* ; - -: show-gopher ( url gopher-gadget -- ) - [ [ >url ] [ f ] if* ] dip - [ - 2dup control-value = - [ 2drop ] [ nip history>> add-history ] if - ] - [ set-control-value ] - 2bi ; - -: ( gopher-gadget -- field ) - '[ >url _ show-gopher ] - "Gopher URL" >>default-text - white-interior ; - -: ( gopher-gadget -- gadget ) - model>> [ '[ _ [ gopher. ] when* ] try ] ; - -: ( browser -- toolbar ) - horizontal - 0 >>fill - 1/2 >>align - { 5 5 } >>gap - over f track-add - swap url-field>> 1 track-add ; - -: add-gopher-toolbar ( track -- track ) - dup format-toolbar f track-add ; - -: add-gopher-pane ( track -- track ) - dup dup margins - >>scroller scroller>> white-interior 1 track-add ; - -: ( -- gadget ) - vertical gopher-gadget new-track with-lines - f >>model - dup >>history - dup >>url-field - add-gopher-toolbar - add-gopher-pane ; - -: open-gopher-window ( url -- ) - - [ "Gopher" open-status-window ] - [ show-gopher ] bi ; - -: com-clear ( gopher -- ) - f swap set-control-value ; - -: com-gopher ( url -- ) - [ gopher-gadget? ] find-window - [ [ raise-window ] [ gadget-child show-gopher ] bi ] - [ open-gopher-window ] if* ; - -gopher-gadget "toolbar" f { - { f com-back } - { f com-forward } - { f com-clear } -} define-command-map - -gopher-gadget "scrolling" f { - { T{ key-down f f "UP" } com-scroll-up } - { T{ key-down f f "DOWN" } com-scroll-down } - { T{ key-down f f "PAGE_UP" } com-page-up } - { T{ key-down f f "PAGE_DOWN" } com-page-down } -} define-command-map - -[ gopher-link? ] \ com-gopher H{ { +primary+ t } } define-operation diff --git a/extra/gopher/ui/authors.txt b/extra/gopher/ui/authors.txt new file mode 100644 index 0000000000..e091bb8164 --- /dev/null +++ b/extra/gopher/ui/authors.txt @@ -0,0 +1 @@ +John Benediktsson diff --git a/extra/gopher/ui/ui.factor b/extra/gopher/ui/ui.factor new file mode 100644 index 0000000000..d75b15b67b --- /dev/null +++ b/extra/gopher/ui/ui.factor @@ -0,0 +1,97 @@ +! Copyright (C) 2014 John Benediktsson +! See http://factorcode.org/license.txt for BSD license + +USING: accessors arrays debugger fry gopher gopher.private +kernel models present sequences ui ui.commands ui.gadgets +ui.gadgets.borders ui.gadgets.buttons ui.gadgets.editors +ui.gadgets.panes ui.gadgets.scrollers ui.gadgets.status-bar +ui.gadgets.toolbar ui.gadgets.tracks ui.gadgets.viewports +ui.gestures ui.operations ui.tools.browser +ui.tools.browser.history ui.tools.common urls ; + +IN: gopher.ui + +TUPLE: gopher-gadget < tool history scroller url-field ; + +gopher-gadget { 600 600 } set-tool-dim + +M: gopher-gadget history-value + [ control-value ] [ scroller>> scroll-position ] + bi 2array ; + +M: gopher-gadget set-history-value + [ first2 ] dip + [ set-control-value ] [ scroller>> set-scroll-position ] + bi-curry bi* ; + +M: gopher-gadget model-changed + [ value>> present ] + [ url-field>> editor>> set-editor-string ] bi* ; + +: show-gopher ( url gopher-gadget -- ) + [ [ >url ] [ f ] if* ] dip + [ + 2dup control-value = + [ 2drop ] [ nip history>> add-history ] if + ] + [ set-control-value ] + 2bi ; + +: ( gopher-gadget -- field ) + '[ >url _ show-gopher ] + "Gopher URL" >>default-text + white-interior ; + +: ( gopher-gadget -- gadget ) + model>> [ '[ _ [ gopher. ] when* ] try ] ; + +: ( browser -- toolbar ) + horizontal + 0 >>fill + 1/2 >>align + { 5 5 } >>gap + over f track-add + swap url-field>> 1 track-add ; + +: add-gopher-toolbar ( track -- track ) + dup format-toolbar f track-add ; + +: add-gopher-pane ( track -- track ) + dup dup margins + >>scroller scroller>> white-interior 1 track-add ; + +: ( -- gadget ) + vertical gopher-gadget new-track with-lines + f >>model + dup >>history + dup >>url-field + add-gopher-toolbar + add-gopher-pane ; + +: open-gopher-window ( url -- ) + + [ "Gopher" open-status-window ] + [ show-gopher ] bi ; + +: com-clear ( gopher -- ) + f swap set-control-value ; + +: com-gopher ( url -- ) + [ gopher-gadget? ] find-window + [ [ raise-window ] [ gadget-child show-gopher ] bi ] + [ open-gopher-window ] if* ; + +gopher-gadget "toolbar" f { + { f com-back } + { f com-forward } + { f com-clear } +} define-command-map + +gopher-gadget "scrolling" f { + { T{ key-down f f "UP" } com-scroll-up } + { T{ key-down f f "DOWN" } com-scroll-down } + { T{ key-down f f "PAGE_UP" } com-page-up } + { T{ key-down f f "PAGE_DOWN" } com-page-down } +} define-command-map + +[ gopher-link? ] \ com-gopher H{ { +primary+ t } } define-operation