From f9cc05e14aa6e383ae96a4a749ef77d9346da0a4 Mon Sep 17 00:00:00 2001 From: Sam Anklesaria Date: Tue, 4 Aug 2009 21:57:27 -0500 Subject: [PATCH] gadgets.controls.refactoring --- extra/ui/gadgets/controls/controls.factor | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/extra/ui/gadgets/controls/controls.factor b/extra/ui/gadgets/controls/controls.factor index a90d8ecc98..26c6184d4c 100644 --- a/extra/ui/gadgets/controls/controls.factor +++ b/extra/ui/gadgets/controls/controls.factor @@ -33,7 +33,7 @@ M: table tbl:row-color color-quot>> [ call( a -- b ) ] [ drop f ] if* ; : indexed ( table -- table ) f >>val-quot ; TUPLE: model-field < field model* ; -: init-field ( field -- field' ) [ [ ] [ "" ] if* ] change-value ; +: init-field ( model -- model' ) [ [ ] [ "" ] if* ] change-value ; : ( model -- gadget ) model-field new-field swap init-field >>model* ; M: model-field graft* [ [ model*>> value>> ] [ editor>> ] bi set-editor-string ] @@ -45,13 +45,12 @@ M: model-field ungraft* M: model-field model-changed 2dup model*>> = [ [ value>> ] [ editor>> ] bi* set-editor-string ] [ nip [ editor>> editor-string ] [ model*>> ] bi set-model ] if ; - + +: (new-field) ( editor field -- gadget ) [ new-editor ] dip new-border dup gadget-child >>editor + field-theme { 1 0 } >>align ; inline : ( -- field ) "" ; : ( model -- field ) "" switch-models ; -: (model-editor) ( model class -- gadget ) - model-field [ new-editor ] dip new-border dup gadget-child >>editor - field-theme swap init-field >>model* { 1 0 } >>align ; -: ( model -- gadget ) multiline-editor (model-editor) ; +: ( model -- gadget ) multiline-editor model-field (new-field) swap init-field >>model* ; : ( -- editor ) "" ; : ( model -- editor ) "" switch-models ;