]> gitweb.factorcode.org Git - factor.git/commitdiff
ui.gadgets.labeled: make <labeled-gadget> not take a color.
authorJohn Benediktsson <mrjbq7@gmail.com>
Sun, 11 Feb 2018 17:52:00 +0000 (09:52 -0800)
committerJohn Benediktsson <mrjbq7@gmail.com>
Sun, 11 Feb 2018 17:53:48 +0000 (09:53 -0800)
This allows backwards compatibility with 0.97 API.  Adding
<colored-labeled-gadget> for a version with a colored divider
and implementing it with a gap between title bar and content
intead of a shelf border gadget.

basis/ui/gadgets/labeled/labeled-docs.factor
basis/ui/gadgets/labeled/labeled-tests.factor
basis/ui/gadgets/labeled/labeled.factor
basis/ui/tools/error-list/error-list.factor
basis/ui/tools/inspector/inspector.factor
basis/ui/tools/traceback/traceback.factor
extra/gml/ui/ui.factor
extra/merger/merger.factor

index 550876461051557b765e75593c8725be91dfd6e8..a75232f6b650d67f2326a01e13ee89f049afe4e6 100644 (file)
@@ -1,19 +1,28 @@
 USING: ui.gadgets help.markup help.syntax strings models
-ui.gadgets.panes ;
+ui.gadgets.panes ui.theme ;
 IN: ui.gadgets.labeled
 
 HELP: labeled-gadget
 { $class-description "A labeled gadget can be created by calling " { $link <labeled-gadget> } "." } ;
 
 HELP: <labeled-gadget>
-{ $values { "gadget" gadget } { "title" string } { "color" "a color" } { "labeled" "a new " { $link <labeled-gadget> } } }
-{ $description "Creates a new " { $link labeled-gadget } " display " { $snippet "gadget" } " with " { $snippet "title" } " on top." } ;
+{ $values { "content" gadget } { "title" string } { "labeled" labeled-gadget } }
+{ $description "Creates a new " { $link labeled-gadget } " displaying " { $snippet "content" } " with " { $snippet "title" } " on top." } ;
+
+HELP: <colored-labeled-gadget>
+{ $values { "content" gadget } { "title" string } { "color" "a color" } { "labeled" labeled-gadget } }
+{ $description "Creates a new " { $link labeled-gadget } " displaying " { $snippet "content" } " with " { $snippet "title" } " on top, adding a " { $snippet "color" } " colored divider between title bar and content." } ;
+
+HELP: <framed-labeled-gadget>
+{ $values { "content" gadget } { "title" string } { "color" "a color" } { "labeled" labeled-gadget } }
+{ $description "Creates a new " { $link labeled-gadget } " displaying " { $snippet "content" } " with " { $snippet "title" } " on top, adding a " { $snippet "color" } " colored divider between title bar and content and a " { $link labeled-border-color } " frame." } ;
 
 ARTICLE: "ui.gadgets.labeled" "Labeled gadgets"
 "The " { $vocab-link "ui.gadgets.labeled" } " vocabulary implements labeled borders around child gadgets."
 { $subsections
     labeled-gadget
     <labeled-gadget>
+    <colored-labeled-gadget>
     <framed-labeled-gadget>
 } ;
 
index 38747107a059a48081390e72a0c2c8abe25f7c65..08dd6d85d0cb6a9e2cc85b235f633e16a17fac4f 100644 (file)
@@ -3,6 +3,5 @@ ui.gadgets ui.gadgets.labeled ;
 IN: ui.gadgets.labeled.tests
 
 { t } [
-    <gadget> "Hey" COLOR: blue <labeled-gadget>
-    content>> gadget?
+    <gadget> "Hey" <labeled-gadget> content>> gadget?
 ] unit-test
index 22c4e952052b3eaf508589504e49175387130cf5..ce9daeaae6bd55a4064c29d1915ee8ef0a748948 100644 (file)
@@ -5,7 +5,7 @@ ui.gadgets.labels ui.gadgets.packs ui.gadgets.tracks
 ui.pens.gradient ui.pens.solid ui.theme ;
 IN: ui.gadgets.labeled
 
-TUPLE: labeled-gadget < track content color ;
+TUPLE: labeled-gadget < track content ;
 
 <PRIVATE
 
@@ -18,36 +18,19 @@ M: labeled-gadget focusable-child* content>> ;
     [ title-bar-gradient <gradient> ]
     if ;
 
-: add-title-bar ( title track -- track )
-    swap >label
-    [ t >>bold? ] change-font
-    { 0 4 } <border>
-    title-bar-interior >>interior
-    f track-add ;
-
-: add-content ( content track -- track )
-    swap 1 track-add ;
-
-: add-color-line ( color track -- track )
-    <shelf> { 0 1.5 } <border>
-    rot <solid> >>interior
-    f track-add ;
-
-: add-content-area ( labeled -- labeled )
-    [ ] [ content>> ] [ color>> ] tri
-    vertical <track>
-    add-color-line
-    add-content
-    1 track-add ;
+: <title-bar> ( title -- title-bar )
+    >label [ t >>bold? ] change-font
+    { 0 4 } <border> title-bar-interior >>interior ;
 
 PRIVATE>
 
-: <labeled-gadget> ( gadget title color -- labeled )
+: <labeled-gadget> ( content title -- labeled )
     vertical labeled-gadget new-track
-    swap >>color
-    add-title-bar
-    swap >>content
-    add-content-area ;
+        swap <title-bar> f track-add
+        swap [ >>content ] [ 1 track-add ] bi ;
+
+: <colored-labeled-gadget> ( content title color -- labeled )
+    [ <labeled-gadget> ] dip <solid> >>interior { 0 3 } >>gap ;
 
-: <framed-labeled-gadget> ( gadget title color -- labeled )
-    <labeled-gadget> labeled-border-color <solid> >>boundary ;
+: <framed-labeled-gadget> ( content title color -- labeled )
+    <colored-labeled-gadget> labeled-border-color <solid> >>boundary ;
index 51d63f01a2a578b0e2b683ebbcffb4b26631163e..e4a9298c2878b16a1300df3ada49d6c66f47c721 100644 (file)
@@ -168,11 +168,11 @@ error-display "toolbar" f {
     error-list vertical <track> with-lines
         error-list <error-list-toolbar> f track-add
         error-list source-file-table>> margins <scroller> white-interior
-        "Source files" source-files-color <labeled-gadget> 1/4 track-add
+        "Source files" source-files-color <colored-labeled-gadget> 1/4 track-add
         error-list error-table>> margins <scroller> white-interior
-        "Errors" errors-color <labeled-gadget> 1/4 track-add
+        "Errors" errors-color <colored-labeled-gadget> 1/4 track-add
         error-list error-display>>
-        "Details" details-color <labeled-gadget> 1/2 track-add
+        "Details" details-color <colored-labeled-gadget> 1/2 track-add
     1 track-add ;
 
 M: error-list-gadget focusable-child*
index cff8f4b305c9796cfac8f97ed15d4a9fb7cb6bfe..059b68680cee65fddde85addc97fe461d0f38582 100644 (file)
@@ -101,9 +101,9 @@ M: inspector-table compute-column-widths
         swap >>model
         dup model>> <inspector-table> >>table
         dup model>> <summary-gadget> margins white-interior
-        "Object" object-color <labeled-gadget> f track-add
+        "Object" object-color <colored-labeled-gadget> f track-add
         dup table>> <scroller> margins white-interior
-        "Contents" contents-color <labeled-gadget> 1 track-add ;
+        "Contents" contents-color <colored-labeled-gadget> 1 track-add ;
 
 M: inspector-gadget focusable-child*
     table>> ;
index dc30f5a209ccdcc9afb3e47f6a0fd926596a77cd..9b134d15fbc8c9255d7787d4fe3d2083d414216b 100644 (file)
@@ -33,12 +33,12 @@ M: stack-entry-renderer row-value drop object>> ;
 
 : <stack-display> ( model quot title color -- gadget )
     [ '[ dup _ when ] <arrow> <stack-table> margins <scroller> white-interior ] 2dip
-    <labeled-gadget> ;
+    <colored-labeled-gadget> ;
 
 : <callstack-display> ( model -- gadget )
     [ [ call>> callstack. ] when* ]
     <pane-control> t >>scrolls? margins <scroller> white-interior
-    "Call stack" call-stack-color <labeled-gadget> ;
+    "Call stack" call-stack-color <colored-labeled-gadget> ;
 
 : <datastack-display> ( model -- gadget )
     [ data>> ] "Data stack" data-stack-color <stack-display> ;
index 14e4c66171aff4a76d44fc14961595b9dac8c6ae..6f896f5ff4363e4a971c28044c0182518c938678 100644 (file)
@@ -27,7 +27,7 @@ M: stack-entry-renderer row-value
 
 : <stack-display> ( model -- gadget )
     <stack-table> <scroller> "Operand stack"
-    COLOR: dark-gray <labeled-gadget> ;
+    COLOR: dark-gray <colored-labeled-gadget> ;
 
 TUPLE: gml-editor < frame editor gml stack-model b-rep b-rep-model ;
 
@@ -99,7 +99,7 @@ CONSTANT: example-dir "vocab:gml/examples/"
         30 >>max-rows
         40 >>min-cols
         40 >>max-cols
-    <scroller> "Editor" COLOR: dark-gray <labeled-gadget> ;
+    <scroller> "Editor" COLOR: dark-gray <colored-labeled-gadget> ;
 
 : <gml-editor> ( -- gadget )
     2 3 gml-editor new-frame
index ad2d61d6732b2e3fcb6fc0327e069d2dbd234e27..f9592093d94b35e33b39a81e078cbaa78baaff26 100644 (file)
@@ -19,8 +19,7 @@ MAIN-WINDOW: merger-window {
                     [ swap set-control-value ] 2bi
                 ] [ drop ] if*
             ] <border-button> swap >>model swap
-            COLOR: black <labeled-gadget>
-            1 track-add
+            <labeled-gadget> 1 track-add
         ] 2each
     ] keep
     dup first2