Horizontal scrolling with the mouse wheel is now supported
parent
eb336d86a1
commit
fe93525a09
|
@ -1,37 +1,29 @@
|
||||||
- auto-invoke code gc
|
- auto-invoke code gc
|
||||||
- fix alien-callback/SEH bug on win32
|
- fix alien-callback/SEH bug on win32
|
||||||
- maybe simplify list into displaying list a sequence of strings
|
|
||||||
- x11: scroll up/down wiggles caret
|
- x11: scroll up/down wiggles caret
|
||||||
- slider needs to be modelized
|
|
||||||
- some way of intercepting all gestures
|
|
||||||
- better help result ranking
|
|
||||||
- help search looks funny
|
|
||||||
- menus should not require mouse to be held
|
|
||||||
- tab completion: add a USE: if necessary
|
- tab completion: add a USE: if necessary
|
||||||
- completion is not ideal: eg, search for "buttons"
|
- cocoa: horizontal wheel scrolling
|
||||||
- live search: timer delay would be nice
|
- rollover is not updated on window focus changes
|
||||||
|
- cocoa: windows are not updated while resizing
|
||||||
|
|
||||||
+ ui:
|
+ ui:
|
||||||
|
|
||||||
- [ ] write in the UI breaks stuff
|
- command presentation shouldn't really be a presentation at all
|
||||||
- pane output in UI should use less memory
|
- completion is not ideal: eg, search for "buttons"
|
||||||
|
- live search: timer delay would be nice
|
||||||
|
- some way of intercepting all gestures
|
||||||
|
- slider needs to be modelized
|
||||||
|
- better help result ranking
|
||||||
|
- help search looks funny
|
||||||
|
- menus should not require mouse to be held
|
||||||
- variable width word wrap
|
- variable width word wrap
|
||||||
- needs layout tricks
|
|
||||||
- add-gadget, model-changed, set-model should compile
|
|
||||||
- graphical module manager tool
|
- graphical module manager tool
|
||||||
- list of modules -- loaded, not loaded
|
|
||||||
- each module has a list of files
|
|
||||||
- modules can be (re)loaded
|
|
||||||
- keyboard navigation
|
|
||||||
- ui browser: show currently selected vocab & words
|
- ui browser: show currently selected vocab & words
|
||||||
- auto-update browser and help when sources reload
|
- auto-update browser and help when sources reload
|
||||||
- how do we refer to command shortcuts in the docs?
|
- how do we refer to command shortcuts in the docs?
|
||||||
- figure out if we need both set-model and set-model*
|
|
||||||
- roundoff is still not quite right with tracks
|
- roundoff is still not quite right with tracks
|
||||||
- fix top level window positioning
|
- fix top level window positioning
|
||||||
- x11.app has a problem with A+ keys
|
|
||||||
- services do not launch if factor not running
|
- services do not launch if factor not running
|
||||||
- fix ui listener delay
|
|
||||||
- editor:
|
- editor:
|
||||||
- double/triple click
|
- double/triple click
|
||||||
- autoscroll
|
- autoscroll
|
||||||
|
@ -39,19 +31,9 @@
|
||||||
- more efficient multi-line inserts
|
- more efficient multi-line inserts
|
||||||
- write "foo| " and put caret at | then select word element: selects
|
- write "foo| " and put caret at | then select word element: selects
|
||||||
space
|
space
|
||||||
- fonts/ should go inside the .app -- we need multi-tier resource-path
|
|
||||||
- should be possible to drop an image file on the .app to run it
|
|
||||||
- support x11's large selections, if needed
|
|
||||||
- own-selection violates ICCCM
|
|
||||||
- cocoa: windows are not updated while resizing
|
|
||||||
- grid slows down with 2000 lines
|
- grid slows down with 2000 lines
|
||||||
- see if its possible to only repaint dirty regions
|
- see if its possible to only repaint dirty regions
|
||||||
- x11 title bars are funny
|
- polish OS X menu bar code
|
||||||
- rollover is not updated on window focus changes
|
|
||||||
- x11 input methods
|
|
||||||
- cocoa:
|
|
||||||
- horizontal wheel scrolling
|
|
||||||
- polish OS X menu bar code
|
|
||||||
- structure editor
|
- structure editor
|
||||||
|
|
||||||
+ module system:
|
+ module system:
|
||||||
|
@ -59,7 +41,6 @@
|
||||||
- convention for main entry point of a module
|
- convention for main entry point of a module
|
||||||
- convention for main help article of a module
|
- convention for main help article of a module
|
||||||
- track a list of assets loaded from each module's file
|
- track a list of assets loaded from each module's file
|
||||||
- generic 'define ( asset def -- )'
|
|
||||||
- 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
|
||||||
- TYPEDEF: float FTFloat ; ==> \ float \ FTFloat "c-type" swp
|
- TYPEDEF: float FTFloat ; ==> \ float \ FTFloat "c-type" swp
|
||||||
|
@ -71,12 +52,8 @@
|
||||||
|
|
||||||
- more compact relocation info
|
- more compact relocation info
|
||||||
- cocoa: support real redefinition
|
- cocoa: support real redefinition
|
||||||
- problem if major gc happens during relocation
|
- relocation should not cons at all
|
||||||
- in fact relocation should not cons at all
|
|
||||||
- stdcall callbacks
|
- stdcall callbacks
|
||||||
- see if alien calls can be made faster
|
|
||||||
- compiler tests are not as reliable now because of try-compile usage
|
|
||||||
- we can just do [ t ] [ \ foo compiled? ] unit-test
|
|
||||||
- [ [ dup call ] dup call ] infer hangs
|
- [ [ dup call ] dup call ] infer hangs
|
||||||
- callstack overflow when compiling mutually recursive inline words
|
- callstack overflow when compiling mutually recursive inline words
|
||||||
- test what is done in the case of an invalid declaration on an inline
|
- test what is done in the case of an invalid declaration on an inline
|
||||||
|
@ -105,9 +82,7 @@
|
||||||
- minor GC takes too long now, we should card mark code heap
|
- minor GC takes too long now, we should card mark code heap
|
||||||
- buffer-ptr should be an alien
|
- buffer-ptr should be an alien
|
||||||
- swap nappend ==> nappend
|
- swap nappend ==> nappend
|
||||||
- sometimes darcs get fails with the httpd
|
|
||||||
- gdb triggers 'mutliple i/o ops on port' error
|
- gdb triggers 'mutliple i/o ops on port' error
|
||||||
- factorcode httpd crashed: bad file descriptor
|
|
||||||
- growable data heap
|
- growable data heap
|
||||||
- incremental GC
|
- incremental GC
|
||||||
- UDP
|
- UDP
|
||||||
|
|
|
@ -100,8 +100,10 @@ opengl sequences ;
|
||||||
mouse-location rot window send-button-up ;
|
mouse-location rot window send-button-up ;
|
||||||
|
|
||||||
: send-wheel$ ( view event -- )
|
: send-wheel$ ( view event -- )
|
||||||
[ -> deltaY 0 > ] 2keep mouse-location
|
over >r
|
||||||
rot window send-wheel ;
|
dup -> deltaX sgn neg over -> deltaY sgn neg 2array -rot
|
||||||
|
mouse-location
|
||||||
|
r> window send-wheel ;
|
||||||
|
|
||||||
: send-action$ ( view event gesture -- junk )
|
: send-action$ ( view event gesture -- junk )
|
||||||
>r drop window r> send-action f ;
|
>r drop window r> send-action f ;
|
||||||
|
|
|
@ -16,17 +16,21 @@ TUPLE: scroller viewport x y follows ;
|
||||||
|
|
||||||
: find-scroller [ scroller? ] find-parent ;
|
: find-scroller [ scroller? ] find-parent ;
|
||||||
|
|
||||||
: scroll-up-line scroller-y -1 swap slide-by-line ;
|
|
||||||
|
|
||||||
: scroll-down-line scroller-y 1 swap slide-by-line ;
|
|
||||||
|
|
||||||
: scroll-up-page scroller-y -1 swap slide-by-page ;
|
: scroll-up-page scroller-y -1 swap slide-by-page ;
|
||||||
|
|
||||||
: scroll-down-page scroller-y 1 swap slide-by-page ;
|
: scroll-down-page scroller-y 1 swap slide-by-page ;
|
||||||
|
|
||||||
|
: scroll-up-line scroller-y -1 swap slide-by-line ;
|
||||||
|
|
||||||
|
: scroll-down-line scroller-y 1 swap slide-by-line ;
|
||||||
|
|
||||||
|
: do-mouse-scroll ( scroller -- )
|
||||||
|
scroll-direction get-global first2
|
||||||
|
pick scroller-y slide-by-line
|
||||||
|
swap scroller-x slide-by-line ;
|
||||||
|
|
||||||
scroller H{
|
scroller H{
|
||||||
{ T{ wheel-up } [ scroll-up-line ] }
|
{ T{ mouse-scroll } [ do-mouse-scroll ] }
|
||||||
{ T{ wheel-down } [ scroll-down-line ] }
|
|
||||||
{ T{ slider-changed } [ relayout-1 ] }
|
{ T{ slider-changed } [ relayout-1 ] }
|
||||||
} set-gestures
|
} set-gestures
|
||||||
|
|
||||||
|
|
|
@ -27,8 +27,7 @@ TUPLE: motion ;
|
||||||
TUPLE: drag # ;
|
TUPLE: drag # ;
|
||||||
TUPLE: button-up mods # ;
|
TUPLE: button-up mods # ;
|
||||||
TUPLE: button-down mods # ;
|
TUPLE: button-down mods # ;
|
||||||
TUPLE: wheel-up ;
|
TUPLE: mouse-scroll ;
|
||||||
TUPLE: wheel-down ;
|
|
||||||
TUPLE: mouse-enter ;
|
TUPLE: mouse-enter ;
|
||||||
TUPLE: mouse-leave ;
|
TUPLE: mouse-leave ;
|
||||||
TUPLE: lose-focus ;
|
TUPLE: lose-focus ;
|
||||||
|
@ -74,6 +73,9 @@ SYMBOL: hand-click-loc
|
||||||
SYMBOL: hand-buttons
|
SYMBOL: hand-buttons
|
||||||
V{ } clone hand-buttons set-global
|
V{ } clone hand-buttons set-global
|
||||||
|
|
||||||
|
SYMBOL: scroll-direction
|
||||||
|
{ 0 0 } scroll-direction set-global
|
||||||
|
|
||||||
: button-gesture ( gesture -- )
|
: button-gesture ( gesture -- )
|
||||||
hand-clicked get-global 2dup handle-gesture [
|
hand-clicked get-global 2dup handle-gesture [
|
||||||
>r generalize-gesture r> handle-gesture drop
|
>r generalize-gesture r> handle-gesture drop
|
||||||
|
@ -170,10 +172,11 @@ SYMBOL: menu-mode?
|
||||||
dup button-up-# hand-buttons get-global delete
|
dup button-up-# hand-buttons get-global delete
|
||||||
button-gesture ;
|
button-gesture ;
|
||||||
|
|
||||||
: send-wheel ( up/down loc world -- )
|
: send-wheel ( direction loc world -- )
|
||||||
move-hand
|
move-hand
|
||||||
T{ wheel-up } T{ wheel-down } ?
|
scroll-direction set-global
|
||||||
hand-gadget get-global handle-gesture drop ;
|
T{ mouse-scroll } hand-gadget get-global handle-gesture
|
||||||
|
drop ;
|
||||||
|
|
||||||
: send-action ( world gesture -- )
|
: send-action ( world gesture -- )
|
||||||
swap world-focus handle-gesture drop ;
|
swap world-focus handle-gesture drop ;
|
||||||
|
|
|
@ -108,8 +108,11 @@ M: world button-up-event
|
||||||
>r mouse-event>gesture >r <button-up> r> r>
|
>r mouse-event>gesture >r <button-up> r> r>
|
||||||
send-button-up ;
|
send-button-up ;
|
||||||
|
|
||||||
|
: mouse-event>scroll-direction ( event -- pair )
|
||||||
|
XButtonEvent-button 4 = 1 -1 ? 0 swap 2array ;
|
||||||
|
|
||||||
M: world wheel-event
|
M: world wheel-event
|
||||||
>r dup XButtonEvent-button 4 = swap mouse-event-loc r>
|
>r dup mouse-event>scroll-direction swap mouse-event-loc r>
|
||||||
send-wheel ;
|
send-wheel ;
|
||||||
|
|
||||||
M: world enter-event motion-event ;
|
M: world enter-event motion-event ;
|
||||||
|
|
Loading…
Reference in New Issue