Fix X11 stack height bug, S+click in editor to extend selection

slava 2006-08-28 04:24:05 +00:00
parent 45d953c6c1
commit 7018d05703
4 changed files with 10 additions and 6 deletions

View File

@ -28,6 +28,7 @@
+ ui:
- x11.app has a problem with A+ keys
- status bar showing number of words needing a recompile
- UI dataflow visualizer
- services do not launch if factor not running
@ -37,7 +38,6 @@
- only redraw visible lines
- more efficient multi-line inserts
- editor should support stream output protocol
- s+click
- double/triple click
- autoscroll
- undo and redo

View File

@ -129,7 +129,7 @@ V{ } clone hand-buttons set-global
: modifier ( mod modifiers -- seq )
[ second swap bitand 0 > ] subset-with
[ first ] map f like ;
[ first ] map prune f like ;
: drag-loc ( -- loc )
hand-loc get-global hand-click-loc get-global v- ;

View File

@ -4,10 +4,12 @@ IN: gadgets-text
USING: gadgets gadgets-controls kernel models namespaces
sequences ;
: editor-mouse-down ( editor -- )
: editor-extend-selection ( editor -- )
dup request-focus
dup
dup editor-caret click-loc
dup editor-caret click-loc ;
: editor-mouse-down ( editor -- )
dup editor-extend-selection
dup editor-mark click-loc ;
: editor-mouse-drag ( editor -- )
@ -68,6 +70,7 @@ editor {
{ f "Insert newline" T{ key-down f f "RETURN" } [ "\n" swap user-input ] }
{ f "Insert newline" T{ key-down f { S+ } "RETURN" } [ "\n" swap user-input ] }
{ f "Position caret" T{ button-down } [ editor-mouse-down ] }
{ f "Extend selection" T{ button-down f { S+ } } [ editor-extend-selection ] }
{ f "Start selection" T{ drag } [ editor-mouse-drag ] }
{ f "Focus editor" T{ gain-focus } [ focus-editor ] }
{ f "Unfocus editor" T{ lose-focus } [ unfocus-editor ] }

View File

@ -26,6 +26,7 @@ M: world configure-event
{ S+ HEX: 1 }
{ C+ HEX: 4 }
{ A+ HEX: 8 }
{ A+ HEX: 10 }
} ;
: key-codes
@ -90,7 +91,7 @@ M: world key-up-event
world-focus swap key-event>gesture dup [
<key-up> dup [ swap handle-gesture drop ] [ 2drop ] if
] [
2drop
3drop
] if ;
: mouse-event-loc ( event -- loc )