]> gitweb.factorcode.org Git - factor.git/commitdiff
<border> now takes a pair instead of an integer
authorSlava Pestov <slava@slava-pestovs-macbook-pro.local>
Mon, 2 Feb 2009 06:00:45 +0000 (00:00 -0600)
committerSlava Pestov <slava@slava-pestovs-macbook-pro.local>
Mon, 2 Feb 2009 06:00:45 +0000 (00:00 -0600)
basis/ui/gadgets/borders/borders-docs.factor
basis/ui/gadgets/borders/borders-tests.factor
basis/ui/gadgets/borders/borders.factor
basis/ui/gadgets/menus/menus.factor
basis/ui/gadgets/search-tables/search-tables.factor
basis/ui/tools/deploy/deploy.factor
extra/hello-unicode/hello-unicode.factor
extra/joystick-demo/joystick-demo.factor
extra/key-caps/key-caps.factor
extra/ui/render/test/test.factor

index 0f9be42d7ba7872ac75d60566aa96844014d2276..1c0172041db874b60d907bd01052a43ffb298887 100644 (file)
@@ -5,7 +5,7 @@ HELP: border
 { $class-description "A border gadget contains a single child and centers it, with a fixed-width border. Borders are created by calling " { $link <border> } "." } ;
 
 HELP: <border>
-{ $values { "child" gadget } { "gap" integer } { "border" "a new " { $link border } } }
+{ $values { "child" gadget } { "gap" "a pair of integers" } { "border" "a new " { $link border } } }
 { $description "Creates a new border around the child with the specified horizontal and vertical gap." } ;
 
 ARTICLE: "ui.gadgets.borders" "Border gadgets"
index 0151996c02dbeaebb0e110d91a290abcf15ed889..91cc5afb68c58445abe98d5b8cbafefe3f51a682 100644 (file)
@@ -2,15 +2,15 @@ IN: ui.gadgets.borders.tests
 USING: tools.test accessors namespaces kernel
 ui.gadgets ui.gadgets.borders math.geometry.rect ;
 
-[ { 110 210 } ] [ <gadget> { 100 200 } >>dim 5 <border> pref-dim ] unit-test
+[ { 110 210 } ] [ <gadget> { 100 200 } >>dim { 5 5 } <border> pref-dim ] unit-test
 
 [ ] [ <gadget> { 100 200 } >>dim "g" set ] unit-test
 
-[ ] [ "g" get 0 <border> { 100 200 } >>dim "b" set ] unit-test
+[ ] [ "g" get { 0 0 } <border> { 100 200 } >>dim "b" set ] unit-test
 
 [ T{ rect f { 0 0 } { 100 200 } } ] [ "b" get border-child-rect ] unit-test
 
-[ ] [ "g" get 5 <border> { 210 210 } >>dim "b" set ] unit-test
+[ ] [ "g" get { 5 5 } <border> { 210 210 } >>dim "b" set ] unit-test
 
 [ T{ rect f { 55 5 } { 100 200 } } ] [ "b" get border-child-rect ] unit-test
 
index 1f66cca1787eac05ea102ebf34b46ea1218fd421..ec625c909a927f87f97166540c7c4b6c68f03b19 100644 (file)
@@ -1,4 +1,4 @@
-! Copyright (C) 2005, 2008 Slava Pestov.
+! Copyright (C) 2005, 2009 Slava Pestov.
 ! See http://factorcode.org/license.txt for BSD license.
 USING: accessors arrays ui.gadgets kernel math
 namespaces vectors sequences math.vectors math.geometry.rect ;
@@ -14,14 +14,16 @@ TUPLE: border < gadget
 
 : <border> ( child gap -- border )
     swap border new-border
-        swap dup 2array >>size ;
+        swap >>size ;
 
 : <filled-border> ( child gap -- border )
     <border> { 1 1 } >>fill ;
 
 M: border pref-dim*
-    [ size>> 2 v*n ] keep
-    gadget-child pref-dim v+ ;
+    [ size>> 2 v*n ] [ gadget-child pref-dim ] bi v+ ;
+
+M: border baseline
+    [ size>> second ] [ gadget-child baseline ] bi + ;
 
 : border-major-dim ( border -- dim )
     [ dim>> ] [ size>> 2 v*n ] bi v- ;
@@ -43,9 +45,8 @@ M: border pref-dim*
     dup border-dim [ border-loc ] keep <rect> ;
 
 M: border layout*
-    dup border-child-rect swap gadget-child
-    over loc>> >>loc
-    swap dim>> >>dim
+    [ gadget-child ] [ border-child-rect ] bi
+    [ loc>> >>loc ] [ dim>> >>dim ] bi
     drop ;
 
 M: border focusable-child*
index e29d495c05637c3b63381763a0fab1269551b79f..ab48650a4bd5fa97731ea03db50410027f665117 100644 (file)
@@ -26,7 +26,7 @@ IN: ui.gadgets.menus
 : <commands-menu> ( target hook commands -- menu )
     [ <filled-pile> ] 3dip
     [ <menu-item> add-gadget ] with with each
-    5 <border> menu-theme ;
+    { 5 5 } <border> menu-theme ;
 
 : show-commands-menu ( target commands -- )
     [ dup [ ] ] dip <commands-menu> show-menu ;
index a1c7a09b14720a30dc5fa43f8f9a0476619ce222..78fd3e4f37c82d8cac7a5c3d3ad7606ca32f7415 100644 (file)
@@ -4,7 +4,7 @@ USING: accessors kernel delegate fry sequences
 models models.search models.delay calendar locals
 ui.gadgets.editors ui.gadgets.labels ui.gadgets.scrollers
 ui.gadgets.tables ui.gadgets.tracks ui.gadgets.borders
-ui.gadgets.buttons ;
+ui.gadgets.buttons ui.gadgets ;
 IN: ui.gadgets.search-tables
 
 TUPLE: search-field < track field ;
@@ -16,7 +16,7 @@ TUPLE: search-field < track field ;
     "X" swap '[ drop _ clear-search-field ] <roll-button> ;
 
 : <search-field> ( model -- gadget )
-    { 1 0 } search-field new-track
+    horizontal search-field new-track
         { 5 5 } >>gap
         "Search:" <label> f track-add
         swap <model-field> 10 >>min-width >>field
@@ -45,10 +45,10 @@ CONSULT: table-protocol search-table table>> ;
 
 :: <search-table> ( values quot -- gadget )
     f <model> :> search
-    { 0 1 } search-table new-track
+    vertical search-table new-track
         values >>model
         search <search-field> >>field
-        dup field>> 2 <filled-border> f track-add
+        dup field>> { 2 2 } <filled-border> f track-add
         values search 500 milliseconds <delay> quot <search> <table> >>table
         dup table>> <scroller> 1 track-add ;
 
index b7fa846ef2dc0ec51a9a618c5de1b1115ceffe50..9a84dc5b75816548e594dfd3caafbca51f980012 100644 (file)
@@ -104,16 +104,16 @@ deploy-gadget "toolbar" f {
 
 : <deploy-gadget> ( vocab -- gadget )
     deploy-gadget new-gadget
-      over                           >>vocab
-      { 0 1 }                        >>orientation
-      swap <deploy-settings>         >>settings    
-      dup settings>>                 add-gadget
-      dup <toolbar> { 10 10 } >>gap  add-gadget
+      over >>vocab
+      vertical >>orientation
+      swap <deploy-settings> >>settings
+      dup settings>> add-gadget
+      dup <toolbar> { 10 10 } >>gap add-gadget
     deploy-settings-theme
     dup com-revert ;
     
 : deploy-tool ( vocab -- )
     vocab-name
-    [ <deploy-gadget> 10 <border> ]
+    [ <deploy-gadget> { 10 10 } <border> ]
     [ "Deploying \"" "\"" surround ] bi
     open-window ;
index cf120d4d36e6d71c1fb4f0a4e538aa8f727b5e01..ef492958e7071f5de32558b08cb811945eabdfa4 100644 (file)
@@ -13,7 +13,7 @@ IN: hello-unicode
             "안녕하세요" print
             "שָׁלוֹם " print
         ] with-style
-    ] make-pane 10 <border> ;
+    ] make-pane { 10 10 } <border> ;
 
 : hello-unicode ( -- ) <hello-gadget> "გამარჯობა" open-window ;
 
index 9e457c7bddeaabca17e2d41dd3195a45a589374c..96bac7c72eb353ae63704537164be13570f42f81 100755 (executable)
@@ -76,7 +76,7 @@ M: axis-gadget pref-dim* drop SIZE ;
 TUPLE: joystick-demo-gadget < pack axis raxis controller buttons alarm ;
 
 : add-gadget-with-border ( parent child -- parent )
-    2 <border> gray <solid> >>boundary add-gadget ;
+    { 2 2 } <border> gray <solid> >>boundary add-gadget ;
 
 : add-controller-label ( gadget controller -- gadget )
     [ >>controller ] [ product-string <label> add-gadget ] bi ;
index 05edb205d2e04c495b2998e2a3a1863e5487abfd..1c9011cc84b15e5306d1c6a867a0da6a951ef9ba 100755 (executable)
@@ -174,7 +174,7 @@ M: key-caps-gadget handle-gesture
 : key-caps ( -- )
     [
         open-game-input
-        <key-caps-gadget> 5 <border> "Key Caps" open-window
+        <key-caps-gadget> { 5 5 } <border> "Key Caps" open-window
     ] with-ui ;
 
 MAIN: key-caps
index 2267c22a20677775f6f2c991183ff8e4ec77033a..e43a8dbaa5402eadc73fe748801d2db9e15992ad 100755 (executable)
@@ -59,11 +59,11 @@ M: take-screenshot draw-boundary
         <gadget>
             black <solid> >>interior
             { 98 98 } >>dim
-        1 <border> add-gadget
+        { 1 1 } <border> add-gadget
         <gadget>
             gray <solid> >>boundary
             { 94 94 } >>dim
-        3 <border>
+        { 3 3 } <border>
             red <solid> >>boundary
         add-gadget
             <line-gadget> <line-gadget> <line-gadget> 3array
@@ -77,7 +77,7 @@ M: take-screenshot draw-boundary
             { 14 14 } >>dim
             black <checkmark-paint> >>interior
             black <solid> >>boundary
-        4 <border>
+        { 4 4 } <border>
         add-gadget ;
     
 : ui-render-test ( -- )