]> gitweb.factorcode.org Git - factor.git/blobdiff - extra/color-picker/color-picker.factor
color-picker: fix using
[factor.git] / extra / color-picker / color-picker.factor
old mode 100755 (executable)
new mode 100644 (file)
index d7919aa..f3bee96
@@ -1,10 +1,9 @@
 ! Copyright (C) 2006, 2009 Slava Pestov.
 ! See http://factorcode.org/license.txt for BSD license.
-USING: kernel math math.functions math.parser models
-models.arrow models.range models.product sequences ui
-ui.gadgets ui.gadgets.tracks ui.gadgets.labels ui.gadgets.packs
-ui.gadgets.sliders ui.pens.solid ui.render math.rectangles accessors
-ui.gadgets.grids colors ;
+USING: accessors colors formatting kernel math math.vectors
+models models.arrow models.product models.range sequences ui
+ui.gadgets ui.gadgets.labels ui.gadgets.packs ui.gadgets.sliders
+ui.gadgets.tracks ui.pens.solid ui.tools.common ;
 IN: color-picker
 
 ! Simple example demonstrating the use of models.
@@ -14,7 +13,7 @@ TUPLE: color-preview < gadget ;
 : <color-preview> ( model -- gadget )
     color-preview new
         swap >>model
-        { 100 100 } >>dim ;
+        { 200 200 } >>dim ;
 
 M: color-preview model-changed
     swap value>> >>interior relayout-1 ;
@@ -26,26 +25,22 @@ M: color-preview model-changed
     horizontal <slider> 1 >>line ;
 
 : <color-sliders> ( -- gadget model )
-    3 [ 0 0 0 255 <range> ] replicate
+    3 [ 0 0 0 255 <range> ] replicate
     [ <filled-pile> { 5 5 } >>gap [ <color-slider> add-gadget ] reduce ]
     [ [ range-model ] map <product> ]
     bi ;
 
+: color>str ( seq -- str )
+    vtruncate v>integer first3 3dup "%d %d %d #%02x%02x%02x" sprintf ;
+
 : <color-picker> ( -- gadget )
-    vertical <track>
-        { 5 5 } >>gap
-        <color-sliders>
-        [ f track-add ]
-        [
-            [ <color-model> <color-preview> 1 track-add ]
-            [
-                [ [ truncate number>string ] map " " join ]
-                <arrow> <label-control>
-                f track-add
-            ] bi
-        ] bi* ;
-
-: color-picker-window ( -- )
-    [ <color-picker> "Color Picker" open-window ] with-ui ;
-
-MAIN: color-picker-window
+    vertical <track> { 5 5 } >>gap
+    <color-sliders>
+    [ f track-add ]
+    [
+        [ <color-model> <color-preview> 1 track-add ]
+        [ [ color>str ] <arrow> <label-control> white-interior f track-add ] bi
+    ] bi* ;
+
+MAIN-WINDOW: color-picker-window { { title "Color Picker" } }
+    <color-picker> >>gadgets ;