]> gitweb.factorcode.org Git - factor.git/commitdiff
delay model
authorslava <slava@factorcode.org>
Tue, 14 Nov 2006 05:34:14 +0000 (05:34 +0000)
committerslava <slava@factorcode.org>
Tue, 14 Nov 2006 05:34:14 +0000 (05:34 +0000)
TODO.FACTOR.txt
library/ui/cocoa/ui.factor
library/ui/gadgets.factor
library/ui/load.factor
library/ui/models.factor
library/ui/test/sliders.factor
library/ui/timers.factor
library/ui/tools/search.factor
library/ui/ui.factor
library/ui/windows/ui.factor
library/ui/x11/ui.factor

index 981216a9cb653d5cb99cd9a8c4175d193e1d544c..2b0edcd5762b10dff4e33560c44b8bf247a12736 100644 (file)
@@ -1,10 +1,12 @@
 - workspace window takes too long to come up
 - bogus compile error
 - windows crash
-- live search: timer delay would be nice
 
 + 0.87:
 
+- these things are "Too Slow":
+  - all-words
+  - make-image
 - menu should stay up if mouse button released
 - roundoff is still not quite right with tracks
 - grid displays quickly now, but constructing large amounts of gadgets
@@ -26,6 +28,8 @@
 
 + ui:
 
+- new windows don't always have focus, eg focus follows mouse
+- dataflow for [ ] map [ ] subset looks weird (wrong?)
 - listener commands from a menu should not include 'hide-glass' etc
 - some way of intercepting all gestures
 - how do we refer to command shortcuts in the docs?
index 0bfabadce20141fbdd7336f9fb9d8bab796d6fbc..c1b42719a53cf7dad1043283e8b306bca217d48a 100644 (file)
@@ -6,7 +6,7 @@ DEFER: FactorApplicationDelegate
 IN: cocoa
 USING: arrays gadgets gadgets-listener gadgets-help
 gadgets-workspace hashtables kernel memory namespaces objc
-sequences errors freetype help ;
+sequences errors freetype help timers ;
 
 : finder-run-files ( alien -- )
     #! We filter out the image name since that might be there on
index 0b8111f37302c85e2e91735073bf8f76f59412f8..308fced47633ff92a0fd48abe6ebb65a9640446e 100644 (file)
@@ -2,7 +2,7 @@
 ! See http://factorcode.org/license.txt for BSD license.
 IN: gadgets
 USING: arrays generic hashtables kernel models math
-namespaces sequences styles ;
+namespaces sequences styles timers ;
 
 SYMBOL: origin
 
index d5cde907d0d145ebec75a0b76dd2b7c06928299a..d347d78d8f9dc3ffef915442a0eefbfc750220b7 100644 (file)
@@ -2,9 +2,9 @@ REQUIRES: library/ui/opengl library/ui/freetype ;
 
 PROVIDE: library/ui
 { +files+ {
+    "timers.factor"
     "models.factor"
     "backend.factor"
-    "timers.factor"
     "gadgets.factor"
     "layouts.factor"
     "hierarchy.factor"
index 7d0bc6955449b36826e38d917bdcbe35da610ef8..8696b7009495ea94e2fea60a3fd2fc20db2488e3 100644 (file)
@@ -1,7 +1,7 @@
 ! Copyright (C) 2006 Slava Pestov.
 ! See http://factorcode.org/license.txt for BSD license.
 IN: models
-USING: generic kernel math sequences ;
+USING: generic kernel math sequences timers ;
 
 TUPLE: model connections value dependencies ref ;
 
@@ -126,3 +126,19 @@ C: history ( value -- history )
 : add-history
     dup history-forward delete-all
     dup history-back (add-history) ;
+
+TUPLE: delay model timeout ;
+
+C: delay ( model timeout -- filter )
+    dup delegate>model
+    [ set-delay-timeout ] keep
+    [ set-delay-model ] 2keep
+    [ add-dependency ] keep
+    dup model-changed ;
+
+M: delay model-changed
+    0 over delay-timeout add-timer ;
+
+M: delay tick
+    dup remove-timer
+    dup delay-model model-value swap set-model ;
index 2cdfd483f1273dfef117d1f53a6ab1e1b1a36e51..b24cd3c0ead4efbface8e293fcbcdfd434506aca 100644 (file)
@@ -1,5 +1,5 @@
 IN: temporary
-USING: gadgets-scrolling gadgets test generic kernel ;
+USING: gadgets-scrolling gadgets test generic kernel timers ;
 
 timers [ init-timers ] unless
 
index 959190942322cafa06ea077514283d08ec14e16e..5201efcd19d6de2ad34a545149bcf3dd483ef338 100644 (file)
@@ -1,6 +1,6 @@
 ! Copyright (C) 2005, 2006 Slava Pestov.
 ! See http://factorcode.org/license.txt for BSD license.
-IN: gadgets
+IN: timers
 USING: hashtables kernel math namespaces sequences ;
 
 TUPLE: timer object delay next ;
index e88301cc7d4f589bef99b4df8c619e817f680353..d303c170a2264c71afb38a4456964b83ce425129 100644 (file)
@@ -29,6 +29,7 @@ search-field H{
 
 : <search-model> ( -- model )
     gadget get dup live-search-field control-model
+    200 <delay>
     swap live-search-producer [ "\n" join ] swap append
     <filter> ;
 
index 1fee57fbb19a968de0a4325908f94644d52c021f..121fcb069a675ecf463fb9a2d0a79252828f0ae0 100644 (file)
@@ -5,7 +5,7 @@ USING: arrays errors gadgets gadgets-buttons
 gadgets-labels gadgets-panes gadgets-presentations
 gadgets-scrolling gadgets-theme gadgets-viewports generic
 hashtables io kernel math models namespaces prettyprint queues
-sequences test threads help sequences words ;
+sequences test threads help sequences words timers ;
 
 ! Assoc mapping aliens to gadgets
 SYMBOL: windows
index 07e341e07b11f4d70b064b895a9f39145320564b..d815179a597802eb25c3019e36c5c79b9c9685b9 100644 (file)
@@ -1,9 +1,9 @@
 ! Copyright (C) 2005, 2006 Doug Coleman.
 ! See http://factorcode.org/license.txt for BSD license.
 USING: alien arrays errors freetype gadgets gadgets-listener
-       gadgets-workspace hashtables io kernel math namespaces prettyprint
-       sequences strings vectors words win32-api win32-api-messages ;
-USING: tools threads memory ;
+       gadgets-workspace hashtables io kernel math namespaces
+       prettyprint sequences strings vectors words win32-api
+       win32-api-messages tools threads memory timers ;
 IN: win32
 
 ! world-handle is a <win>
index d075e5e8c30f16ee86a0de35432870259f8a9352..23456b89509e8642e82c67f49a7fa3b3cc278cda 100644 (file)
@@ -3,7 +3,7 @@
 IN: x11
 USING: arrays errors freetype gadgets gadgets-listener
 gadgets-workspace hashtables kernel kernel-internals math
-namespaces opengl sequences strings ;
+namespaces opengl sequences strings timers ;
 
 ! In the X11 backend, world-handle is a pair { window context }.
 ! The window is an X11 window ID, and the context is a