From 72efda83e1ec9f5969c8e76769ef5f3676251766 Mon Sep 17 00:00:00 2001 From: Slava Pestov Date: Mon, 14 Jul 2008 18:27:15 -0500 Subject: [PATCH 01/13] Fix doc link --- extra/ui/tools/listener/listener.factor | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/extra/ui/tools/listener/listener.factor b/extra/ui/tools/listener/listener.factor index f6d9f54efd..187a0a56f2 100755 --- a/extra/ui/tools/listener/listener.factor +++ b/extra/ui/tools/listener/listener.factor @@ -29,7 +29,7 @@ TUPLE: listener-gadget < track input output stack ; : welcome. ( -- ) "If this is your first time with Factor, please read the " print - "cookbook" ($link) "." print nl ; + "handbook" ($link) "." print nl ; M: listener-gadget focusable-child* input>> ; From 23ed8de042c402456d9feeae33e794db4fc5702b Mon Sep 17 00:00:00 2001 From: Eduardo Cavazos Date: Mon, 14 Jul 2008 20:04:53 -0500 Subject: [PATCH 02/13] ui.gadgets.packs: remove make-filled-pile --- extra/ui/gadgets/packs/packs-docs.factor | 6 ------ extra/ui/gadgets/packs/packs.factor | 3 --- 2 files changed, 9 deletions(-) diff --git a/extra/ui/gadgets/packs/packs-docs.factor b/extra/ui/gadgets/packs/packs-docs.factor index b3dcf736e0..5f7b57d22c 100755 --- a/extra/ui/gadgets/packs/packs-docs.factor +++ b/extra/ui/gadgets/packs/packs-docs.factor @@ -10,7 +10,6 @@ ARTICLE: "ui-pack-layout" "Pack layouts" { $subsection } { $subsection } "Creating packs using a combinator:" -{ $subsection make-filled-pile } { $subsection make-shelf } "For more control, custom layouts can reuse portions of pack layout logic:" @@ -23,7 +22,6 @@ HELP: pack { $link } { $link } { $link } - { $link make-filled-pile } { $link make-shelf } } "Packs have the following slots:" @@ -62,10 +60,6 @@ HELP: pack-pref-dim "This word is useful if you are writing your own layout gadget which inherits from " { $link pack } ". This allows you to reuse layout logic while computing gadget sizes using a custom procedure." } ; -HELP: make-filled-pile -{ $values { "quot" quotation } { "pack" "a new " { $link pack } } } -{ $description "Creates a new " { $link pack } " which lays out a sequence of gadgets vertically, such that all gadgets have the same width. The quotation can add children by calling the gadget, word." } ; - HELP: make-shelf { $values { "quot" quotation } { "pack" "a new " { $link pack } } } { $description "Creates a new " { $link pack } " which lays out a sequence of gadgets horizontally. The quotation can add children by calling the gadget, word." } ; diff --git a/extra/ui/gadgets/packs/packs.factor b/extra/ui/gadgets/packs/packs.factor index bc07deb55d..86bb5f1883 100755 --- a/extra/ui/gadgets/packs/packs.factor +++ b/extra/ui/gadgets/packs/packs.factor @@ -61,8 +61,5 @@ M: pack children-on ( rect gadget -- seq ) dup gadget-orientation swap gadget-children [ fast-children-on ] keep ; -: make-filled-pile ( quot -- pack ) - swap make-gadget ; inline - : make-shelf ( quot -- pack ) swap make-gadget ; inline From 201a3e711275bc609d53ba74ef11015601f4de9e Mon Sep 17 00:00:00 2001 From: Eduardo Cavazos Date: Mon, 14 Jul 2008 20:06:59 -0500 Subject: [PATCH 03/13] ui.gadgets.packs: remove make-shelf --- extra/ui/gadgets/packs/packs-docs.factor | 7 ------- extra/ui/gadgets/packs/packs.factor | 3 --- 2 files changed, 10 deletions(-) diff --git a/extra/ui/gadgets/packs/packs-docs.factor b/extra/ui/gadgets/packs/packs-docs.factor index 5f7b57d22c..7d28e84e88 100755 --- a/extra/ui/gadgets/packs/packs-docs.factor +++ b/extra/ui/gadgets/packs/packs-docs.factor @@ -9,8 +9,6 @@ ARTICLE: "ui-pack-layout" "Pack layouts" { $subsection } { $subsection } { $subsection } -"Creating packs using a combinator:" -{ $subsection make-shelf } "For more control, custom layouts can reuse portions of pack layout logic:" { $subsection pack-pref-dim } @@ -22,7 +20,6 @@ HELP: pack { $link } { $link } { $link } - { $link make-shelf } } "Packs have the following slots:" { $list @@ -60,8 +57,4 @@ HELP: pack-pref-dim "This word is useful if you are writing your own layout gadget which inherits from " { $link pack } ". This allows you to reuse layout logic while computing gadget sizes using a custom procedure." } ; -HELP: make-shelf -{ $values { "quot" quotation } { "pack" "a new " { $link pack } } } -{ $description "Creates a new " { $link pack } " which lays out a sequence of gadgets horizontally. The quotation can add children by calling the gadget, word." } ; - ABOUT: "ui-pack-layout" diff --git a/extra/ui/gadgets/packs/packs.factor b/extra/ui/gadgets/packs/packs.factor index 86bb5f1883..c33217a494 100755 --- a/extra/ui/gadgets/packs/packs.factor +++ b/extra/ui/gadgets/packs/packs.factor @@ -60,6 +60,3 @@ M: pack layout* M: pack children-on ( rect gadget -- seq ) dup gadget-orientation swap gadget-children [ fast-children-on ] keep ; - -: make-shelf ( quot -- pack ) - swap make-gadget ; inline From 8782ef8c5f35e09587733aa39b89b44fe22d5f4e Mon Sep 17 00:00:00 2001 From: Eduardo Cavazos Date: Mon, 14 Jul 2008 20:13:42 -0500 Subject: [PATCH 04/13] ui.gadgets.labels: rewrite to not use 'make-track' --- extra/ui/gadgets/labels/labels.factor | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/extra/ui/gadgets/labels/labels.factor b/extra/ui/gadgets/labels/labels.factor index 354e87a92d..e965d6b2b8 100755 --- a/extra/ui/gadgets/labels/labels.factor +++ b/extra/ui/gadgets/labels/labels.factor @@ -64,7 +64,11 @@ M: object >label ; M: f >label drop ; : label-on-left ( gadget label -- button ) - [ >label f track, 1 track, ] { 1 0 } make-track ; - + { 1 0 } + swap >label f track-add* + swap 1 track-add* ; + : label-on-right ( label gadget -- button ) - [ f track, >label 1 track, ] { 1 0 } make-track ; + { 1 0 } + swap f track-add* + swap >label 1 track-add* ; From 7aa66d2f5c34c7cf92b6e44df1147eecf427440e Mon Sep 17 00:00:00 2001 From: Eduardo Cavazos Date: Mon, 14 Jul 2008 20:19:59 -0500 Subject: [PATCH 05/13] ui.gadgets.tracks: remove 'make-track' --- extra/ui/gadgets/tracks/tracks-docs.factor | 9 +-------- extra/ui/gadgets/tracks/tracks-tests.factor | 17 +++++++++-------- extra/ui/gadgets/tracks/tracks.factor | 3 --- 3 files changed, 10 insertions(+), 19 deletions(-) diff --git a/extra/ui/gadgets/tracks/tracks-docs.factor b/extra/ui/gadgets/tracks/tracks-docs.factor index 8df68718c5..9cbf1e2f1b 100755 --- a/extra/ui/gadgets/tracks/tracks-docs.factor +++ b/extra/ui/gadgets/tracks/tracks-docs.factor @@ -10,7 +10,6 @@ ARTICLE: "ui-track-layout" "Track layouts" "Adding children:" { $subsection track-add } "Creating new tracks using a combinator:" -{ $subsection make-track } { $subsection track, } ; HELP: track @@ -20,18 +19,12 @@ HELP: { $values { "orientation" "an orientation specifier" } { "track" "a new " { $link track } } } { $description "Creates a new track which lays out children along the given axis. Children are laid out vertically if the orientation is " { $snippet "{ 0 1 }" } " and horizontally if the orientation is " { $snippet "{ 1 0 }" } "." } ; -{ make-track } related-words - HELP: track-add { $values { "gadget" gadget } { "track" track } { "constraint" "a number between 0 and 1, or " { $link f } } } { $description "Adds a new child to a track. If the constraint is " { $link f } ", the child always occupies its preferred size. Otherwise, the constrant is a fraction of the total size which is allocated for the child." } ; HELP: track, { $values { "gadget" gadget } { "constraint" "a number between 0 and 1, or " { $link f } } } -{ $description "Adds a new child to a track. If the constraint is " { $link f } ", the child always occupies its preferred size. Otherwise, the constrant is a fraction of the total size which is allocated for the child. This word can only be called inside the quotation passed to " { $link make-track } "." } ; - -HELP: make-track -{ $values { "quot" quotation } { "orientation" "an orientation specifier" } { "track" track } } -{ $description "Creates a new track. The quotation can add children by calling the " { $link track, } " word." } ; +{ $description "Adds a new child to a track. If the constraint is " { $link f } ", the child always occupies its preferred size. Otherwise, the constrant is a fraction of the total size which is allocated for the child." } ; ABOUT: "ui-track-layout" diff --git a/extra/ui/gadgets/tracks/tracks-tests.factor b/extra/ui/gadgets/tracks/tracks-tests.factor index d3264b2470..210a7c5771 100644 --- a/extra/ui/gadgets/tracks/tracks-tests.factor +++ b/extra/ui/gadgets/tracks/tracks-tests.factor @@ -1,15 +1,16 @@ -USING: kernel ui.gadgets ui.gadgets.tracks tools.test math.geometry.rect ; +USING: kernel ui.gadgets ui.gadgets.tracks tools.test + math.geometry.rect accessors ; IN: ui.gadgets.tracks.tests [ { 100 100 } ] [ - [ - { 100 100 } over set-rect-dim 1 track, - ] { 0 1 } make-track pref-dim + { 0 1 } + { 100 100 } >>dim 1 track-add* + pref-dim ] unit-test [ { 100 110 } ] [ - [ - { 10 10 } over set-rect-dim f track, - { 100 100 } over set-rect-dim 1 track, - ] { 0 1 } make-track pref-dim + { 0 1 } + { 10 10 } >>dim f track-add* + { 100 100 } >>dim 1 track-add* + pref-dim ] unit-test diff --git a/extra/ui/gadgets/tracks/tracks.factor b/extra/ui/gadgets/tracks/tracks.factor index 7a8ee65a8b..7af33e0255 100644 --- a/extra/ui/gadgets/tracks/tracks.factor +++ b/extra/ui/gadgets/tracks/tracks.factor @@ -56,9 +56,6 @@ M: track pref-dim* : track, ( gadget constraint -- ) gadget get swap track-add ; -: make-track ( quot orientation -- track ) - swap make-gadget ; inline - : track-remove ( gadget track -- ) over [ [ gadget-children index ] 2keep From c05ebef125404bfa3377dd67464ed6099e7f1a64 Mon Sep 17 00:00:00 2001 From: Eduardo Cavazos Date: Mon, 14 Jul 2008 20:45:06 -0500 Subject: [PATCH 06/13] ui.gadgets.tabs: rewrite add-toggle --- extra/ui/gadgets/tabs/tabs.factor | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/extra/ui/gadgets/tabs/tabs.factor b/extra/ui/gadgets/tabs/tabs.factor index d9e322eed3..5688bb5a2e 100755 --- a/extra/ui/gadgets/tabs/tabs.factor +++ b/extra/ui/gadgets/tabs/tabs.factor @@ -4,7 +4,7 @@ USING: accessors kernel fry math math.vectors sequences arrays vectors assocs hashtables models models.range models.compose combinators ui ui.gadgets ui.gadgets.buttons ui.gadgets.frames ui.gadgets.packs - ui.gadgets.grids ui.gadgets.viewports ui.gadgets.books ; + ui.gadgets.grids ui.gadgets.viewports ui.gadgets.books locals ; IN: ui.gadgets.tabs @@ -12,11 +12,12 @@ TUPLE: tabbed < frame names toggler content ; DEFER: (del-page) -: add-toggle ( model n name toggler -- ) - [ [ gadget-parent '[ , , , (del-page) ] "X" swap - @right frame, ] 3keep - [ swapd @center frame, ] dip ] make-frame - add-gadget drop ; +:: add-toggle ( model n name toggler -- ) + + n name toggler parent>> '[ , , , (del-page) ] "X" swap + @right grid-add* + n model name @center grid-add* + toggler swap add-gadget drop ; : redo-toggler ( tabbed -- ) [ names>> ] [ model>> ] [ toggler>> ] tri From 539e697a08549f99575ee99312e59989b78a5c73 Mon Sep 17 00:00:00 2001 From: Chris Double Date: Tue, 15 Jul 2008 13:51:30 +1200 Subject: [PATCH 07/13] Correct help-lint issues in pegs --- extra/peg/parsers/parsers-docs.factor | 38 +++++++++++++-------------- extra/peg/peg-docs.factor | 11 ++++---- 2 files changed, 24 insertions(+), 25 deletions(-) diff --git a/extra/peg/parsers/parsers-docs.factor b/extra/peg/parsers/parsers-docs.factor index d71fdaea3b..7ffd458fce 100755 --- a/extra/peg/parsers/parsers-docs.factor +++ b/extra/peg/parsers/parsers-docs.factor @@ -11,7 +11,7 @@ HELP: 1token } { $description "Calls 1string on a character and returns a parser that matches that character." } { $examples - { $example "USING: peg peg.parsers prettyprint ;" "\"a\" CHAR: a 1token parse parse-result-ast ." "\"a\"" } + { $example "USING: peg peg.parsers prettyprint ;" "\"a\" CHAR: a 1token parse ." "\"a\"" } } { $see-also 'string' } ; HELP: (list-of) @@ -33,8 +33,8 @@ HELP: list-of "Returns a parser that returns a list of items separated by the separator parser. Hides the separators and matches a list of one or more items." } { $notes "Use " { $link list-of-many } " to ensure a list contains two or more items." } { $examples - { $example "USING: peg peg.parsers prettyprint ;" "\"a\" \"a\" token \",\" token list-of parse parse-result-ast ." "V{ \"a\" }" } - { $example "USING: peg peg.parsers prettyprint ;" "\"a,a,a,a\" \"a\" token \",\" token list-of parse parse-result-ast ." "V{ \"a\" \"a\" \"a\" \"a\" }" } + { $example "USING: peg peg.parsers prettyprint ;" "\"a\" \"a\" token \",\" token list-of parse ." "V{ \"a\" }" } + { $example "USING: peg peg.parsers prettyprint ;" "\"a,a,a,a\" \"a\" token \",\" token list-of parse ." "V{ \"a\" \"a\" \"a\" \"a\" }" } } { $see-also list-of-many } ; HELP: list-of-many @@ -46,8 +46,8 @@ HELP: list-of-many "Returns a parser that returns a list of items separated by the separator parser. Hides the separators and matches a list of two or more items." } { $notes "Use " { $link list-of } " to return a list of only one item." } { $examples - { $example "USING: peg peg.parsers prettyprint ;" "\"a\" \"a\" token \",\" token list-of-many parse ." "f" } - { $example "USING: peg peg.parsers prettyprint ;" "\"a,a,a,a\" \"a\" token \",\" token list-of-many parse parse-result-ast ." "V{ \"a\" \"a\" \"a\" \"a\" }" } + { $code "USING: peg peg.parsers prettyprint ;" "\"a\" \"a\" token \",\" token list-of-many parse => exception" } + { $example "USING: peg peg.parsers prettyprint ;" "\"a,a,a,a\" \"a\" token \",\" token list-of-many parse ." "V{ \"a\" \"a\" \"a\" \"a\" }" } } { $see-also list-of } ; HELP: epsilon @@ -72,8 +72,8 @@ HELP: exactly-n } { $description "Returns a parser that matches an exact repetition of the input parser." } { $examples - { $example "USING: peg peg.parsers prettyprint ;" "\"aaa\" \"a\" token 4 exactly-n parse ." "f" } - { $example "USING: peg peg.parsers prettyprint ;" "\"aaaa\" \"a\" token 4 exactly-n parse parse-result-ast ." "V{ \"a\" \"a\" \"a\" \"a\" }" } + { $code "USING: peg peg.parsers prettyprint ;" "\"aaa\" \"a\" token 4 exactly-n parse => exception" } + { $example "USING: peg peg.parsers prettyprint ;" "\"aaaa\" \"a\" token 4 exactly-n parse ." "V{ \"a\" \"a\" \"a\" \"a\" }" } } { $see-also at-least-n at-most-n from-m-to-n } ; HELP: at-least-n @@ -84,9 +84,9 @@ HELP: at-least-n } { $description "Returns a parser that matches n or more repetitions of the input parser." } { $examples - { $example "USING: peg peg.parsers prettyprint ;" "\"aaa\" \"a\" token 4 at-least-n parse ." "f" } - { $example "USING: peg peg.parsers prettyprint ;" "\"aaaa\" \"a\" token 4 at-least-n parse parse-result-ast ." "V{ \"a\" \"a\" \"a\" \"a\" }" } - { $example "USING: peg peg.parsers prettyprint ;" "\"aaaaa\" \"a\" token 4 at-least-n parse parse-result-ast ." "V{ \"a\" \"a\" \"a\" \"a\" \"a\" }" } + { $code "USING: peg peg.parsers prettyprint ;" "\"aaa\" \"a\" token 4 at-least-n parse => exception"} + { $example "USING: peg peg.parsers prettyprint ;" "\"aaaa\" \"a\" token 4 at-least-n parse ." "V{ \"a\" \"a\" \"a\" \"a\" }" } + { $example "USING: peg peg.parsers prettyprint ;" "\"aaaaa\" \"a\" token 4 at-least-n parse ." "V{ \"a\" \"a\" \"a\" \"a\" \"a\" }" } } { $see-also exactly-n at-most-n from-m-to-n } ; HELP: at-most-n @@ -97,8 +97,8 @@ HELP: at-most-n } { $description "Returns a parser that matches n or fewer repetitions of the input parser." } { $examples - { $example "USING: peg peg.parsers prettyprint ;" "\"aaaa\" \"a\" token 4 at-most-n parse parse-result-ast ." "V{ \"a\" \"a\" \"a\" \"a\" }" } - { $example "USING: peg peg.parsers prettyprint ;" "\"aaaaa\" \"a\" token 4 at-most-n parse parse-result-ast ." "V{ \"a\" \"a\" \"a\" \"a\" }" } + { $example "USING: peg peg.parsers prettyprint ;" "\"aaaa\" \"a\" token 4 at-most-n parse ." "V{ \"a\" \"a\" \"a\" \"a\" }" } + { $example "USING: peg peg.parsers prettyprint ;" "\"aaaaa\" \"a\" token 4 at-most-n parse ." "V{ \"a\" \"a\" \"a\" \"a\" }" } } { $see-also exactly-n at-least-n from-m-to-n } ; HELP: from-m-to-n @@ -110,9 +110,9 @@ HELP: from-m-to-n } { $description "Returns a parser that matches between and including m to n repetitions of the input parser." } { $examples - { $example "USING: peg peg.parsers prettyprint ;" "\"aaa\" \"a\" token 3 4 from-m-to-n parse parse-result-ast ." "V{ \"a\" \"a\" \"a\" }" } - { $example "USING: peg peg.parsers prettyprint ;" "\"aaaa\" \"a\" token 3 4 from-m-to-n parse parse-result-ast ." "V{ \"a\" \"a\" \"a\" \"a\" }" } - { $example "USING: peg peg.parsers prettyprint ;" "\"aaaaa\" \"a\" token 3 4 from-m-to-n parse parse-result-ast ." "V{ \"a\" \"a\" \"a\" \"a\" }" } + { $example "USING: peg peg.parsers prettyprint ;" "\"aaa\" \"a\" token 3 4 from-m-to-n parse ." "V{ \"a\" \"a\" \"a\" }" } + { $example "USING: peg peg.parsers prettyprint ;" "\"aaaa\" \"a\" token 3 4 from-m-to-n parse ." "V{ \"a\" \"a\" \"a\" \"a\" }" } + { $example "USING: peg peg.parsers prettyprint ;" "\"aaaaa\" \"a\" token 3 4 from-m-to-n parse ." "V{ \"a\" \"a\" \"a\" \"a\" }" } } { $see-also exactly-n at-most-n at-least-n } ; HELP: pack @@ -124,7 +124,7 @@ HELP: pack } { $description "Returns a parser that parses the begin, body, and end parsers in order. The begin and end parsers are hidden." } { $examples - { $example "USING: peg peg.parsers prettyprint ;" "\"hi123bye\" \"hi\" token 'integer' \"bye\" token pack parse parse-result-ast ." "123" } + { $example "USING: peg peg.parsers prettyprint ;" "\"hi123bye\" \"hi\" token 'integer' \"bye\" token pack parse ." "123" } } { $see-also surrounded-by } ; HELP: surrounded-by @@ -136,7 +136,7 @@ HELP: surrounded-by } { $description "Calls token on begin and end to make them into string parsers. Returns a parser that parses the begin, body, and end parsers in order. The begin and end parsers are hidden." } { $examples - { $example "USING: peg peg.parsers prettyprint ;" "\"hi123bye\" 'integer' \"hi\" \"bye\" surrounded-by parse parse-result-ast ." "123" } + { $example "USING: peg peg.parsers prettyprint ;" "\"hi123bye\" 'integer' \"hi\" \"bye\" surrounded-by parse ." "123" } } { $see-also pack } ; HELP: 'digit' @@ -173,7 +173,7 @@ HELP: range-pattern "of characters separated with a dash (-) represents the " "range of characters from the first to the second, inclusive." { $examples - { $example "USING: peg peg.parsers prettyprint strings ;" "\"a\" \"_a-zA-Z\" range-pattern parse parse-result-ast 1string ." "\"a\"" } - { $example "USING: peg peg.parsers prettyprint ;\n\"0\" \"^0-9\" range-pattern parse ." "f" } + { $example "USING: peg peg.parsers prettyprint strings ;" "\"a\" \"_a-zA-Z\" range-pattern parse 1string ." "\"a\"" } + { $code "USING: peg peg.parsers prettyprint ;\n\"0\" \"^0-9\" range-pattern parse => exception"} } } ; diff --git a/extra/peg/peg-docs.factor b/extra/peg/peg-docs.factor index 10e05a2512..00390c1b1e 100644 --- a/extra/peg/peg-docs.factor +++ b/extra/peg/peg-docs.factor @@ -7,11 +7,11 @@ HELP: parse { $values { "input" "a string" } { "parser" "a parser" } - { "result" "a parse-result or f" } + { "ast" "an object" } } { $description - "Given the input string, parse it using the given parser. The result is a object if " - "the parse was successful, otherwise it is f." } + "Given the input string, parse it using the given parser. The result is the abstract " + "syntax tree returned by the parser." } { $see-also compile } ; HELP: compile @@ -20,7 +20,7 @@ HELP: compile { "word" "a word" } } { $description - "Compile the parser to a word. The word will have stack effect ( -- result )." + "Compile the parser to a word. The word will have stack effect ( -- ast )." } { $see-also parse } ; @@ -104,8 +104,7 @@ HELP: semantic "Returns a parser that succeeds if the 'p1' parser succeeds and the quotation called with " "the AST produced by 'p1' on the stack returns true." } { $examples - { $example "USING: kernel math peg prettyprint ;" "\"A\" [ drop t ] satisfy [ 66 > ] semantic parse ." "f" } - { $example "USING: kernel math peg prettyprint ;" "\"C\" [ drop t ] satisfy [ 66 > ] semantic parse parse-result-ast ." "67" } + { $example "USING: kernel math peg prettyprint ;" "\"C\" [ drop t ] satisfy [ 66 > ] semantic parse ." "67" } } ; HELP: ensure From 3e9e5e681ebc2a474f721789e1f8c42a9e506fa6 Mon Sep 17 00:00:00 2001 From: Eduardo Cavazos Date: Mon, 14 Jul 2008 22:14:31 -0500 Subject: [PATCH 08/13] ui.gadgets.frames: refactor to not use 'make-frame' --- extra/ui/gadgets/labelled/labelled.factor | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/extra/ui/gadgets/labelled/labelled.factor b/extra/ui/gadgets/labelled/labelled.factor index 8f504aea14..686e940ae6 100755 --- a/extra/ui/gadgets/labelled/labelled.factor +++ b/extra/ui/gadgets/labelled/labelled.factor @@ -38,10 +38,9 @@ M: labelled-gadget focusable-child* labelled-gadget-content ; : ( text -- label )