UI work
parent
544b2fa434
commit
a22b04d2b6
|
|
@ -6,14 +6,12 @@
|
||||||
|
|
||||||
+ ui:
|
+ ui:
|
||||||
|
|
||||||
- fix up initial layout of slider
|
|
||||||
- resizing a gadget should probably relayout children
|
- resizing a gadget should probably relayout children
|
||||||
- resizing: drag relative to initial click pos
|
- resizing: drag relative to initial click pos
|
||||||
- mouse enter onto overlapping with interior, but not child, gadget
|
- mouse enter onto overlapping with interior, but not child, gadget
|
||||||
- menu dragging
|
- menu dragging
|
||||||
- auto-updating inspector
|
- auto-updating inspector
|
||||||
- fix up the min thumb size hack
|
- fix up the min thumb size hack
|
||||||
- console: scroll to bottom
|
|
||||||
- faster layout
|
- faster layout
|
||||||
- faster repaint
|
- faster repaint
|
||||||
- check broken
|
- check broken
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@ default-cli-args
|
||||||
parse-command-line
|
parse-command-line
|
||||||
|
|
||||||
! Dummy defs for mini bootstrap
|
! Dummy defs for mini bootstrap
|
||||||
IN: compiler : compile-all ; : compile drop ;
|
IN: compiler : compile-all ; : compile drop ; : supported-cpu? f ;
|
||||||
IN: assembler : init-assembler ;
|
IN: assembler : init-assembler ;
|
||||||
IN: alien : add-library 3drop ;
|
IN: alien : add-library 3drop ;
|
||||||
|
|
||||||
|
|
@ -54,7 +54,7 @@ cpu "x86" = "mini" get not and [
|
||||||
"/library/compiler/x86/fixnum.factor"
|
"/library/compiler/x86/fixnum.factor"
|
||||||
] pull-in
|
] pull-in
|
||||||
|
|
||||||
"compile" get [
|
"compile" get supported-cpu? and [
|
||||||
init-assembler
|
init-assembler
|
||||||
\ car compile
|
\ car compile
|
||||||
\ = compile
|
\ = compile
|
||||||
|
|
|
||||||
|
|
@ -3,11 +3,11 @@
|
||||||
IN: gadgets
|
IN: gadgets
|
||||||
USING: generic kernel lists math namespaces sdl ;
|
USING: generic kernel lists math namespaces sdl ;
|
||||||
|
|
||||||
: check-size 7 ;
|
: check-size 8 ;
|
||||||
|
|
||||||
: <check> ( -- cross )
|
: <check> ( -- cross )
|
||||||
0 0 check-size dup <line> <gadget>
|
0 0 check-size dup <line> <gadget>
|
||||||
>r check-size 0 check-size neg check-size <line> <gadget> r>
|
>r check-size 1 - 0 check-size neg check-size <line> <gadget> r>
|
||||||
2list <stack> ;
|
2list <stack> ;
|
||||||
|
|
||||||
TUPLE: checkbox bevel selected? ;
|
TUPLE: checkbox bevel selected? ;
|
||||||
|
|
|
||||||
|
|
@ -87,7 +87,7 @@ C: editor ( text -- )
|
||||||
|
|
||||||
M: editor user-input* ( ch field -- ? )
|
M: editor user-input* ( ch field -- ? )
|
||||||
[ [ insert-char ] with-editor ] keep
|
[ [ insert-char ] with-editor ] keep
|
||||||
[ scroll>bottom ] swap handle-gesture drop t ;
|
scroll>bottom t ;
|
||||||
|
|
||||||
M: editor layout* ( field -- )
|
M: editor layout* ( field -- )
|
||||||
dup [ editor-text shape-size ] keep resize-gadget
|
dup [ editor-text shape-size ] keep resize-gadget
|
||||||
|
|
|
||||||
|
|
@ -72,7 +72,7 @@ M: pane stream-readln ( stream -- line )
|
||||||
[ swap set-pane-continuation (yield) ] callcc1 nip ;
|
[ swap set-pane-continuation (yield) ] callcc1 nip ;
|
||||||
|
|
||||||
M: pane stream-write-attr ( string style stream -- )
|
M: pane stream-write-attr ( string style stream -- )
|
||||||
nip swap "\n" split pane-write ;
|
[ nip swap "\n" split pane-write ] keep scroll>bottom ;
|
||||||
|
|
||||||
M: pane stream-close ( stream -- ) drop ;
|
M: pane stream-close ( stream -- ) drop ;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -15,14 +15,12 @@ TUPLE: viewport x y ;
|
||||||
dup shape-h swap viewport-h - max 0 min ;
|
dup shape-h swap viewport-h - max 0 min ;
|
||||||
|
|
||||||
: scroll-viewport ( y viewport -- )
|
: scroll-viewport ( y viewport -- )
|
||||||
#! y is a number between 0 and 1.
|
#! y is a number between -1 and 0..
|
||||||
[ viewport-h * >fixnum ] keep
|
[ viewport-h * >fixnum ] keep
|
||||||
[ adjust-scroll ] keep
|
[ adjust-scroll ] keep
|
||||||
[ set-viewport-y ] keep
|
[ set-viewport-y ] keep
|
||||||
relayout ;
|
relayout ;
|
||||||
|
|
||||||
: scroll>bottom ( viewport -- ) 1 swap scroll-viewport ;
|
|
||||||
|
|
||||||
C: viewport ( content -- viewport )
|
C: viewport ( content -- viewport )
|
||||||
[ <empty-gadget> swap set-delegate ] keep
|
[ <empty-gadget> swap set-delegate ] keep
|
||||||
[ add-gadget ] keep
|
[ add-gadget ] keep
|
||||||
|
|
@ -32,11 +30,8 @@ C: viewport ( content -- viewport )
|
||||||
M: viewport pref-size gadget-child pref-size ;
|
M: viewport pref-size gadget-child pref-size ;
|
||||||
|
|
||||||
M: viewport layout* ( viewport -- )
|
M: viewport layout* ( viewport -- )
|
||||||
dup gadget-children [
|
dup gadget-child dup prefer
|
||||||
[
|
>r dup viewport-x swap viewport-y r> move-gadget ;
|
||||||
>r dup viewport-x swap viewport-y r> move-gadget
|
|
||||||
] keep prefer
|
|
||||||
] each-with ;
|
|
||||||
|
|
||||||
! A slider scrolls a viewport.
|
! A slider scrolls a viewport.
|
||||||
|
|
||||||
|
|
@ -111,13 +106,16 @@ TUPLE: scroller viewport slider ;
|
||||||
: add-viewport 2dup set-scroller-viewport add-center ;
|
: add-viewport 2dup set-scroller-viewport add-center ;
|
||||||
: add-slider 2dup set-scroller-slider add-right ;
|
: add-slider 2dup set-scroller-slider add-right ;
|
||||||
|
|
||||||
: viewport>bottom 1 swap scroll-viewport ;
|
: viewport>bottom -1 swap scroll-viewport ;
|
||||||
: scroll>bottom ( scroller -- )
|
: (scroll>bottom) ( scroller -- )
|
||||||
dup scroller-slider relayout
|
dup scroller-viewport viewport>bottom
|
||||||
scroller-viewport viewport>bottom ;
|
scroller-slider relayout ;
|
||||||
|
|
||||||
: scroller-actions ( scroller -- )
|
: scroller-actions ( scroller -- )
|
||||||
[ scroll>bottom ] [ scroll>bottom ] set-action ;
|
[ (scroll>bottom) ] [ scroll>bottom ] set-action ;
|
||||||
|
|
||||||
|
: scroll>bottom ( gadget -- )
|
||||||
|
[ scroll>bottom ] swap handle-gesture drop ;
|
||||||
|
|
||||||
C: scroller ( gadget -- scroller )
|
C: scroller ( gadget -- scroller )
|
||||||
#! Wrap a scrolling pane around the gadget.
|
#! Wrap a scrolling pane around the gadget.
|
||||||
|
|
|
||||||
|
|
@ -37,11 +37,8 @@ USING: generic kernel math namespaces ;
|
||||||
dup t reverse-video set-paint-prop
|
dup t reverse-video set-paint-prop
|
||||||
dup caption-actions ;
|
dup caption-actions ;
|
||||||
|
|
||||||
DEFER: inspect
|
|
||||||
|
|
||||||
: tile-actions ( tile -- )
|
: tile-actions ( tile -- )
|
||||||
dup [ unparent ] [ close-tile ] set-action
|
dup [ unparent ] [ close-tile ] set-action
|
||||||
dup [ inspect ] [ inspect-tile ] set-action
|
|
||||||
dup [ raise ] [ raise ] set-action
|
dup [ raise ] [ raise ] set-action
|
||||||
[ drag-tile ] [ drag-tile ] set-action ;
|
[ drag-tile ] [ drag-tile ] set-action ;
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue