Model fixes
parent
0d4e5da8f3
commit
e599d319ed
|
@ -2,10 +2,8 @@
|
||||||
|
|
||||||
- menu Command: quots look dumb
|
- menu Command: quots look dumb
|
||||||
- http://paste.lisp.org/display/30426
|
- http://paste.lisp.org/display/30426
|
||||||
- "ker" C+u: for a moment, full vocab list is shown
|
|
||||||
- some module operations don't work on module-links
|
- some module operations don't work on module-links
|
||||||
- list operations: what if nothing is selected?
|
- list operations: what if nothing is selected?
|
||||||
- modules: core/ libs/ apps/
|
|
||||||
- top level window positioning on ms windows
|
- top level window positioning on ms windows
|
||||||
- crashes:
|
- crashes:
|
||||||
- windows gcc issue
|
- windows gcc issue
|
||||||
|
@ -40,6 +38,7 @@
|
||||||
|
|
||||||
+ ui:
|
+ ui:
|
||||||
|
|
||||||
|
- listener: if partial parse, RETURN should insert newline
|
||||||
- some way of intercepting all gestures
|
- some way of intercepting all gestures
|
||||||
- how do we refer to command shortcuts in the docs?
|
- how do we refer to command shortcuts in the docs?
|
||||||
- editor:
|
- editor:
|
||||||
|
@ -51,6 +50,7 @@
|
||||||
|
|
||||||
+ module system:
|
+ module system:
|
||||||
|
|
||||||
|
- modules: core/ libs/ apps/
|
||||||
- track a list of assets loaded from each module's file
|
- track a list of assets loaded from each module's file
|
||||||
- C types should be words
|
- C types should be words
|
||||||
- TYPEDEF: float { ... } { ... } ; ==> \ float T{ c-type ... } "c-type" swp
|
- TYPEDEF: float { ... } { ... } ; ==> \ float T{ c-type ... } "c-type" swp
|
||||||
|
@ -87,6 +87,7 @@
|
||||||
|
|
||||||
+ misc:
|
+ misc:
|
||||||
|
|
||||||
|
- automatic help/effects for slot accessors
|
||||||
- tuple shape changes
|
- tuple shape changes
|
||||||
- should be possible to reload any source file in library
|
- should be possible to reload any source file in library
|
||||||
- growable data heap
|
- growable data heap
|
||||||
|
|
|
@ -19,6 +19,10 @@ C: model ( value -- model )
|
||||||
|
|
||||||
DEFER: add-connection
|
DEFER: add-connection
|
||||||
|
|
||||||
|
GENERIC: model-activated ( model -- )
|
||||||
|
|
||||||
|
M: model model-activated drop ;
|
||||||
|
|
||||||
: ref-model ( model -- n )
|
: ref-model ( model -- n )
|
||||||
dup model-ref 1+ dup rot set-model-ref ;
|
dup model-ref 1+ dup rot set-model-ref ;
|
||||||
|
|
||||||
|
@ -28,7 +32,8 @@ DEFER: add-connection
|
||||||
: activate-model ( model -- )
|
: activate-model ( model -- )
|
||||||
dup ref-model 1 = [
|
dup ref-model 1 = [
|
||||||
dup model-dependencies
|
dup model-dependencies
|
||||||
[ dup activate-model add-connection ] each-with
|
[ dup activate-model dupd add-connection ] each
|
||||||
|
model-activated
|
||||||
] [
|
] [
|
||||||
drop
|
drop
|
||||||
] if ;
|
] if ;
|
||||||
|
@ -81,24 +86,26 @@ C: filter ( model quot -- filter )
|
||||||
dup delegate>model
|
dup delegate>model
|
||||||
[ set-filter-quot ] keep
|
[ set-filter-quot ] keep
|
||||||
[ set-filter-model ] 2keep
|
[ set-filter-model ] 2keep
|
||||||
[ add-dependency ] keep
|
[ add-dependency ] keep ;
|
||||||
dup model-changed ;
|
|
||||||
|
|
||||||
M: filter model-changed
|
M: filter model-changed
|
||||||
dup filter-model model-value over filter-quot call
|
dup filter-model model-value over filter-quot call
|
||||||
swap set-model ;
|
swap set-model ;
|
||||||
|
|
||||||
|
M: filter model-activated model-changed ;
|
||||||
|
|
||||||
TUPLE: compose ;
|
TUPLE: compose ;
|
||||||
|
|
||||||
C: compose ( models -- compose )
|
C: compose ( models -- compose )
|
||||||
dup delegate>model
|
dup delegate>model
|
||||||
[ set-model-dependencies ] keep
|
swap clone over set-model-dependencies ;
|
||||||
dup model-changed ;
|
|
||||||
|
|
||||||
M: compose model-changed
|
M: compose model-changed
|
||||||
dup model-dependencies [ model-value ] map
|
dup model-dependencies [ model-value ] map
|
||||||
swap delegate set-model ;
|
swap delegate set-model ;
|
||||||
|
|
||||||
|
M: compose model-activated model-changed ;
|
||||||
|
|
||||||
M: compose set-model
|
M: compose set-model
|
||||||
model-dependencies [ set-model ] 2each ;
|
model-dependencies [ set-model ] 2each ;
|
||||||
|
|
||||||
|
@ -129,16 +136,18 @@ C: history ( value -- history )
|
||||||
|
|
||||||
TUPLE: delay model timeout ;
|
TUPLE: delay model timeout ;
|
||||||
|
|
||||||
|
: update-delay-model ( delay -- )
|
||||||
|
dup delay-model model-value swap set-model ;
|
||||||
|
|
||||||
C: delay ( model timeout -- filter )
|
C: delay ( model timeout -- filter )
|
||||||
dup delegate>model
|
dup delegate>model
|
||||||
[ set-delay-timeout ] keep
|
[ set-delay-timeout ] keep
|
||||||
[ set-delay-model ] 2keep
|
[ set-delay-model ] 2keep
|
||||||
[ add-dependency ] keep
|
[ add-dependency ] keep
|
||||||
dup model-changed ;
|
dup update-delay-model ;
|
||||||
|
|
||||||
M: delay model-changed
|
M: delay model-changed 0 over delay-timeout add-timer ;
|
||||||
0 over delay-timeout add-timer ;
|
|
||||||
|
|
||||||
M: delay tick
|
M: delay model-activated update-delay-model ;
|
||||||
dup remove-timer
|
|
||||||
dup delay-model model-value swap set-model ;
|
M: delay tick dup remove-timer update-delay-model ;
|
||||||
|
|
|
@ -18,7 +18,9 @@ M: model-tester model-changed t swap set-model-tester-hit? ;
|
||||||
4 <model> "model-b" set
|
4 <model> "model-b" set
|
||||||
"model-a" get "model-b" get 2array <compose> "model-c" set
|
"model-a" get "model-b" get 2array <compose> "model-c" set
|
||||||
|
|
||||||
|
"model-c" get activate-model
|
||||||
[ { 3 4 } ] [ "model-c" get model-value ] unit-test
|
[ { 3 4 } ] [ "model-c" get model-value ] unit-test
|
||||||
|
"model-c" get deactivate-model
|
||||||
|
|
||||||
T{ model-tester f f } "tester" set
|
T{ model-tester f f } "tester" set
|
||||||
|
|
||||||
|
@ -74,3 +76,12 @@ f <history> "history" set
|
||||||
[ 9 ] [ "y" get model-value ] unit-test
|
[ 9 ] [ "y" get model-value ] unit-test
|
||||||
[ ] [ "y" get deactivate-model ] unit-test
|
[ ] [ "y" get deactivate-model ] unit-test
|
||||||
[ f ] [ "z" get "x" get model-connections memq? ] unit-test
|
[ f ] [ "z" get "x" get model-connections memq? ] unit-test
|
||||||
|
|
||||||
|
3 <model> "x" set
|
||||||
|
"x" get [ sq ] <filter> "y" set
|
||||||
|
|
||||||
|
4 "x" get set-model
|
||||||
|
|
||||||
|
"y" get activate-model
|
||||||
|
[ 16 ] [ "y" get model-value ] unit-test
|
||||||
|
"y" get deactivate-model
|
||||||
|
|
Loading…
Reference in New Issue