]> gitweb.factorcode.org Git - factor.git/commitdiff
ui.tools.button-list: use linked-assocs to keep buttons in order
authorJohn Benediktsson <mrjbq7@gmail.com>
Thu, 3 Feb 2022 18:46:03 +0000 (10:46 -0800)
committerJohn Benediktsson <mrjbq7@gmail.com>
Thu, 3 Feb 2022 18:46:03 +0000 (10:46 -0800)
basis/ui/tools/button-list/button-list.factor

index fb99e0c4a61cc9ef6d6512b4a11327ebb228f28c..b55e2ea567b280622de7e5fc631bd0c0ffe59f89 100644 (file)
@@ -1,12 +1,14 @@
 ! Copyright (C) 2021 Kevin Cope.
 ! See http://factorcode.org/license.txt for BSD license.
-USING: accessors arrays assocs classes kernel math.rectangles
-models models.arrow namespaces sequences ui ui.gadgets
-ui.gadgets.buttons ui.gadgets.glass ui.gadgets.labeled
-ui.gadgets.presentations ui.gadgets.search-tables
-ui.gadgets.labels ui.gadgets.tables ui.gadgets.worlds
-ui.gadgets.wrappers ui.gestures ui.theme ui.tools.browser.popups
-ui.tools.common ;
+
+USING: accessors arrays assocs classes kernel linked-assocs
+math.rectangles models models.arrow namespaces sequences ui
+ui.gadgets ui.gadgets.buttons ui.gadgets.glass
+ui.gadgets.labeled ui.gadgets.presentations
+ui.gadgets.search-tables ui.gadgets.labels ui.gadgets.tables
+ui.gadgets.worlds ui.gadgets.wrappers ui.gestures ui.theme
+ui.tools.browser.popups ui.tools.common ;
+
 FROM: ui.gadgets.wrappers => wrapper ;
 IN: ui.tools.button-list
 
@@ -22,7 +24,7 @@ active-buttons [ H{ } ] initialize
     children>> [ label? ] find swap [ text>> ] [ drop f ] if ;
 
 : world-buttons ( -- assoc )
-    world get active-buttons get [ drop H{ } clone ] cache ;
+    world get active-buttons get [ drop LH{ } clone ] cache ;
 
 : store-labelled-button ( button -- str/f )
     dup label-from-button [ [ world-buttons set-at ] keep ] [ drop f ] if* ;