]> gitweb.factorcode.org Git - factor.git/commitdiff
Revert "ui.gadgets.panes: remove scrolls? slot and make scrolling default behavior"
authorJohn Benediktsson <mrjbq7@gmail.com>
Sat, 5 Mar 2022 17:34:10 +0000 (09:34 -0800)
committerJohn Benediktsson <mrjbq7@gmail.com>
Sat, 5 Mar 2022 17:34:10 +0000 (09:34 -0800)
This reverts commit 331dddb8ed37035be9b2869d614a55290f52f2e6.

basis/ui/gadgets/panes/panes.factor
basis/ui/tools/listener/listener.factor
basis/ui/tools/traceback/traceback.factor
extra/gesture-logger/gesture-logger.factor

index bc75c962e4b3a90714659b7b9a274442cf7a54d1..82176f4dd3220a3b525b6ac5c29926c801997b7d 100644 (file)
@@ -15,7 +15,7 @@ FROM: ui.gadgets.wrappers => <wrapper> ;
 IN: ui.gadgets.panes
 
 TUPLE: pane < track
-    output current input last-line prototype
+    output current input last-line prototype scrolls?
     selection-color caret mark selecting? ;
 
 TUPLE: pane-stream pane parent ;
@@ -82,6 +82,9 @@ M: pane selected-children
         bi
     ] [ drop f f ] if ;
 
+: scroll-pane ( pane -- )
+    dup scrolls?>> [ scroll>bottom ] [ drop ] if ;
+
 GENERIC: pane-label ( pane -- label )
 
 M: pane pane-label drop "" <label> ;
@@ -127,7 +130,7 @@ GENERIC: pane-line ( str style gadget -- )
         } cleave
     ] [ f ] if* :> bottom?
     pane quot call
-    scroller bottom? and [
+    pane scrolls?>> bottom? and scroller and [
         scroller {
             [ model>> range-value first ]
             [ model>> range-max-value second 2array ]
index 94eef72430f6850ff916bfdaa38eb28135a93e01..f58f53235d4ebddd48e67693c70c02f6533ebc36 100644 (file)
@@ -198,7 +198,7 @@ listener-gadget default-font-size  { 50 58 } n*v set-tool-dim
 
 : init-input/output ( listener -- listener )
     <interactor>
-    [ >>input ] [ pane new-pane >>output ] bi
+    [ >>input ] [ pane new-pane t >>scrolls? >>output ] bi
     dup listener-streams >>output drop ;
 
 : error-summary. ( -- )
index 19a3e0001f2563f024e11f3a382798dbb802c34b..3cc765c9bc5d72395f19647b95a3a13e6f83917e 100644 (file)
@@ -35,7 +35,7 @@ M: stack-entry-renderer row-value drop object>> ;
 
 : <callstack-display> ( model -- gadget )
     [ [ call>> callstack. ] when* ]
-    <pane-control> margins <scroller> white-interior
+    <pane-control> t >>scrolls? margins <scroller> white-interior
     "Call stack" call-stack-color <colored-labeled-gadget> ;
 
 : <datastack-display> ( model -- gadget )
index 5365a5896807c71efe81cf1083faa0a1f9b3672d..3d0ffaf45b57551e5f605583ac0ccb21e63ca4b3 100644 (file)
@@ -24,7 +24,7 @@ M: gesture-logger user-input*
 
 : run-gesture-logger ( -- )
     [
-        <pane> dup <scroller>
+        <pane> t >>scrolls? dup <scroller>
         { 450 500 } >>pref-dim
         "Gesture log" open-window
         <pane-stream> <gesture-logger>