ui.tools.error-list: re-use the same actual gadget, so that the current selection and set of displayed error types is preserved if the user closes and re-opens the error list

db4
Slava Pestov 2010-05-04 02:53:46 -04:00
parent dd2a4c2c77
commit f46a56024c
1 changed files with 8 additions and 8 deletions

View File

@ -1,4 +1,4 @@
! Copyright (C) 2009 Slava Pestov.
! Copyright (C) 2009, 2010 Slava Pestov.
! See http://factorcode.org/license.txt for BSD license.
USING: accessors arrays sequences sorting assocs colors.constants fry
combinators combinators.smart combinators.short-circuit editors make
@ -154,7 +154,7 @@ error-display "toolbar" f {
[ swap '[ error-type _ at ] filter ] <smart-arrow> ;
:: <error-list-gadget> ( model -- gadget )
vertical error-list-gadget new-track
vertical \ error-list-gadget new-track
<error-toggle> [ >>error-toggle ] [ >>visible-errors ] bi*
dup visible-errors>> model <error-model> >>model
f <model> >>source-file
@ -178,16 +178,16 @@ M: error-list-gadget focusable-child*
\ error-list-help H{ { +nullary+ t } } define-command
error-list-gadget "toolbar" f {
\ error-list-gadget "toolbar" f {
{ T{ key-down f f "F1" } error-list-help }
} define-command-map
: error-list-window ( -- )
error-list-model get [ drop all-errors ] <arrow>
<error-list-gadget> "Errors" open-status-window ;
MEMO: error-list-gadget ( -- gadget )
error-list-model get-global [ drop all-errors ] <arrow>
<error-list-gadget> ;
: show-error-list ( -- )
[ error-list-gadget? ] find-window
[ raise-window ] [ error-list-window ] if* ;
[ error-list-gadget eq? ] find-window
[ raise-window ] [ error-list-gadget "Errors" open-status-window ] if* ;
\ show-error-list H{ { +nullary+ t } } define-command