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 - windows port from erg
- editor: - editor:
- scroll to caret - scroll to caret
- clicking input doesn't resize editor gadget
- better listener multi-line expression handling - better listener multi-line expression handling
- history doesn't work in a good way if you ^K the input
- inference bug - inference bug
- httpd search tools - httpd search tools
@ -21,6 +21,13 @@
+ ui: + 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 - support x11's large selections, if needed
- own-selection violates ICCCM - own-selection violates ICCCM
- one-column table doesn't need borders...? - one-column table doesn't need borders...?
@ -36,6 +43,7 @@
- search and replace - search and replace
- only redraw visible lines - only redraw visible lines
- more efficient multi-line inserts - more efficient multi-line inserts
- editor should support stream output protocol
- finish gui stepper - finish gui stepper
- cocoa: windows are not updated while resizing - cocoa: windows are not updated while resizing
- graphical module manager tool - graphical module manager tool

View File

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

View File

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