- 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
+ 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?
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
! 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
PROVIDE: library/ui
{ +files+ {
+ "timers.factor"
"models.factor"
"backend.factor"
- "timers.factor"
"gadgets.factor"
"layouts.factor"
"hierarchy.factor"
! 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 ;
: 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 ;
IN: temporary
-USING: gadgets-scrolling gadgets test generic kernel ;
+USING: gadgets-scrolling gadgets test generic kernel timers ;
timers [ init-timers ] unless
! 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 ;
: <search-model> ( -- model )
gadget get dup live-search-field control-model
+ 200 <delay>
swap live-search-producer [ "\n" join ] swap append
<filter> ;
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
! 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>
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