Fix for a fix

slava 2006-07-26 01:33:56 +00:00
parent 4d6325a199
commit f62277f8ba
3 changed files with 19 additions and 6 deletions

View File

@ -3,8 +3,8 @@
- windows port from erg
- editor:
- scroll to caret
- clicking input doesn't resize editor gadget
- better listener multi-line expression handling
- history doesn't work in a good way if you ^K the input
- inference bug
- httpd search tools
@ -21,6 +21,13 @@
+ ui:
- shortcuts:
- find a listener
- find a browser
- find a help window
- they'll either focus such a window, or if the current window is of
that type, cycle
- thumb min size
- support x11's large selections, if needed
- own-selection violates ICCCM
- one-column table doesn't need borders...?
@ -36,6 +43,7 @@
- search and replace
- only redraw visible lines
- more efficient multi-line inserts
- editor should support stream output protocol
- finish gui stepper
- cocoa: windows are not updated while resizing
- graphical module manager tool

View File

@ -43,6 +43,9 @@ USING: arrays gadgets kernel math objc sequences ;
-> contentRectForFrameRect:styleMask: ;
"NSObject" "FactorWindowDelegate" {
! Doesn't work on Intel since we don't support struct
! returns yet
! {
! "windowWillUseStandardFrame:defaultFrame:" "NSRect"
! { "id" "SEL" "id" "NSRect" }

View File

@ -4,7 +4,9 @@ USING: errors generic hashtables kernel math
namespaces queues sequences ;
IN: gadgets
: invalidate ( gadget state -- ) swap set-gadget-state ;
DEFER: relayout-1
: invalidate ( gadget -- ) \ relayout-1 swap set-gadget-state ;
: forget-pref-dim ( gadget -- ) f swap set-gadget-pref-dim ;
@ -14,8 +16,8 @@ IN: gadgets
DEFER: relayout
: invalidate* ( gadget state -- )
dupd invalidate
: invalidate* ( gadget -- )
\ relayout over set-gadget-state
dup forget-pref-dim
dup gadget-root?
[ add-invalid ] [ gadget-parent [ relayout ] when* ] if ;
@ -25,7 +27,7 @@ DEFER: relayout
#! next iteration of the event loop. Should be used when the
#! gadget's size has potentially changed. See relayout-1.
dup gadget-state \ relayout eq?
[ drop ] [ \ relayout invalidate* ] if ;
[ drop ] [ invalidate* ] if ;
: relayout-1 ( gadget -- )
#! Relayout and redraw a gadget before th next iteration of
@ -33,7 +35,7 @@ DEFER: relayout
#! repainted, or if its internal layout changed, but its
#! preferred size did not change.
dup gadget-state
[ drop ] [ dup \ relayout-1 invalidate add-invalid ] if ;
[ drop ] [ dup invalidate add-invalid ] if ;
: show-gadget t over set-gadget-visible? relayout-1 ;