-! Copyright (C) 2008 Slava Pestov.\r
-! See http://factorcode.org/license.txt for BSD license.\r
-USING: accessors kernel models sequences ;\r
-IN: models.product\r
-\r
-TUPLE: product < model ;\r
-\r
-: new-product ( models class -- product )\r
- f swap new-model\r
- swap clone >>dependencies ; inline\r
-\r
-: <product> ( models -- product )\r
- product new-product ;\r
-\r
-: product-value ( model quot -- seq )\r
- [ dependencies>> ] dip map ; inline\r
-\r
-: set-product-value ( seq model quot -- )\r
- [ dependencies>> ] dip 2each ; inline\r
-\r
-M: product model-changed\r
- nip\r
- dup [ value>> ] product-value >>value\r
- notify-connections ;\r
-\r
-M: product model-activated dup model-changed ;\r
-\r
-M: product update-model\r
- [ value>> ] keep [ set-model ] set-product-value ;\r
-\r
-M: product range-value\r
- [ range-value ] product-value ;\r
-\r
-M: product range-page-value\r
- [ range-page-value ] product-value ;\r
-\r
-M: product range-min-value\r
- [ range-min-value ] product-value ;\r
-\r
-M: product range-max-value\r
- [ range-max-value ] product-value ;\r
-\r
-M: product range-max-value*\r
- [ range-max-value* ] product-value ;\r
-\r
-M: product set-range-value\r
- [ clamp-value ] keep\r
- [ set-range-value ] set-product-value ;\r
-\r
-M: product set-range-page-value\r
- [ set-range-page-value ] set-product-value ;\r
-\r
-M: product set-range-min-value\r
- [ set-range-min-value ] set-product-value ;\r
-\r
-M: product set-range-max-value\r
- [ set-range-max-value ] set-product-value ;\r
+! Copyright (C) 2008 Slava Pestov.
+! See http://factorcode.org/license.txt for BSD license.
+USING: accessors kernel models sequences ;
+IN: models.product
+
+TUPLE: product < model ;
+
+: new-product ( models class -- product )
+ f swap new-model
+ swap clone >>dependencies ; inline
+
+: <product> ( models -- product )
+ product new-product ;
+
+: product-value ( model quot -- seq )
+ [ dependencies>> ] dip map ; inline
+
+: set-product-value ( seq model quot -- )
+ [ dependencies>> ] dip 2each ; inline
+
+M: product model-changed
+ nip
+ dup [ value>> ] product-value >>value
+ notify-connections ;
+
+M: product model-activated dup model-changed ;
+
+M: product update-model
+ [ value>> ] keep [ set-model ] set-product-value ;
+
+M: product range-value
+ [ range-value ] product-value ;
+
+M: product range-page-value
+ [ range-page-value ] product-value ;
+
+M: product range-min-value
+ [ range-min-value ] product-value ;
+
+M: product range-max-value
+ [ range-max-value ] product-value ;
+
+M: product range-max-value*
+ [ range-max-value* ] product-value ;
+
+M: product set-range-value
+ [ clamp-value ] keep
+ [ set-range-value ] set-product-value ;
+
+M: product set-range-page-value
+ [ set-range-page-value ] set-product-value ;
+
+M: product set-range-min-value
+ [ set-range-min-value ] set-product-value ;
+
+M: product set-range-max-value
+ [ set-range-max-value ] set-product-value ;