]> gitweb.factorcode.org Git - factor-unmaintained.git/commitdiff
tabs: moved to ui.gadgets.tabs to match IN: declarations.
authorJohn Benediktsson <mrjbq7@gmail.com>
Mon, 22 Jan 2018 22:18:22 +0000 (14:18 -0800)
committerJohn Benediktsson <mrjbq7@gmail.com>
Mon, 22 Jan 2018 22:18:22 +0000 (14:18 -0800)
tabs/authors.txt [deleted file]
tabs/summary.txt [deleted file]
tabs/tabs.factor [deleted file]
ui/gadgets/tabs/authors.txt [new file with mode: 0644]
ui/gadgets/tabs/summary.txt [new file with mode: 0644]
ui/gadgets/tabs/tabs.factor [new file with mode: 0644]

diff --git a/tabs/authors.txt b/tabs/authors.txt
deleted file mode 100644 (file)
index 9366723..0000000
+++ /dev/null
@@ -1 +0,0 @@
-William Schlieper
diff --git a/tabs/summary.txt b/tabs/summary.txt
deleted file mode 100644 (file)
index a55610b..0000000
+++ /dev/null
@@ -1 +0,0 @@
-Tabbed windows
\ No newline at end of file
diff --git a/tabs/tabs.factor b/tabs/tabs.factor
deleted file mode 100644 (file)
index d05890c..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-! Copyright (C) 2008 William Schlieper
-! See http://factorcode.org/license.txt for BSD license.
-
-USING: accessors kernel fry math math.vectors sequences arrays vectors assocs
-       hashtables models models.range models.product combinators
-       ui ui.gadgets ui.gadgets.buttons ui.gadgets.frames ui.gadgets.packs
-       ui.gadgets.grids ui.gadgets.viewports ui.gadgets.books locals ;
-
-IN: ui.gadgets.tabs
-
-TUPLE: tabbed < frame names toggler content ;
-
-DEFER: (del-page)
-
-:: add-toggle ( n name model toggler -- )
-  <frame>
-    n name toggler parent>> '[ drop _ _ _ (del-page) ] "X" swap <bevel-button>
-      @right grid-add
-    n model name <toggle-button> @center grid-add
-  toggler swap add-gadget drop ;
-
-: redo-toggler ( tabbed -- )
-     [ names>> ] [ model>> ] [ toggler>> ] tri
-     [ clear-gadget ] keep
-     [ [ length ] keep ] 2dip
-     '[ _ _ add-toggle ] 2each ;
-
-: refresh-book ( tabbed -- )
-    model>> [ ] change-model ;
-
-: (del-page) ( n name tabbed -- )
-    { [ [ remove ] change-names redo-toggler ]
-      [ dupd [ names>> length ] [ model>> ] bi
-        [ [ = ] keep swap [ 1- ] when
-          [ < ] keep swap [ 1- ] when ] change-model ]
-      [ content>> nth-gadget unparent ]
-      [ refresh-book ]
-    } cleave ;
-
-: add-page ( page name tabbed -- )
-    [ names>> push ] 2keep
-    [ [ names>> length 1 - swap ]
-      [ model>> ]
-      [ toggler>> ] tri add-toggle ]
-    [ content>> swap add-gadget drop ]
-    [ refresh-book ] tri ;
-
-: del-page ( name tabbed -- )
-    [ names>> index ] 2keep (del-page) ;
-
-: new-tabbed ( assoc class -- tabbed )
-    new-frame
-    0 <model> >>model
-    <pile> 1 >>fill >>toggler
-    dup toggler>> @left grid-add
-    swap
-      [ keys >vector >>names ]
-      [ values over model>> <book> >>content dup content>> @center grid-add ]
-    bi
-    dup redo-toggler ;
-    
-: <tabbed> ( assoc -- tabbed ) tabbed new-tabbed ;
diff --git a/ui/gadgets/tabs/authors.txt b/ui/gadgets/tabs/authors.txt
new file mode 100644 (file)
index 0000000..9366723
--- /dev/null
@@ -0,0 +1 @@
+William Schlieper
diff --git a/ui/gadgets/tabs/summary.txt b/ui/gadgets/tabs/summary.txt
new file mode 100644 (file)
index 0000000..a55610b
--- /dev/null
@@ -0,0 +1 @@
+Tabbed windows
\ No newline at end of file
diff --git a/ui/gadgets/tabs/tabs.factor b/ui/gadgets/tabs/tabs.factor
new file mode 100644 (file)
index 0000000..d05890c
--- /dev/null
@@ -0,0 +1,62 @@
+! Copyright (C) 2008 William Schlieper
+! See http://factorcode.org/license.txt for BSD license.
+
+USING: accessors kernel fry math math.vectors sequences arrays vectors assocs
+       hashtables models models.range models.product combinators
+       ui ui.gadgets ui.gadgets.buttons ui.gadgets.frames ui.gadgets.packs
+       ui.gadgets.grids ui.gadgets.viewports ui.gadgets.books locals ;
+
+IN: ui.gadgets.tabs
+
+TUPLE: tabbed < frame names toggler content ;
+
+DEFER: (del-page)
+
+:: add-toggle ( n name model toggler -- )
+  <frame>
+    n name toggler parent>> '[ drop _ _ _ (del-page) ] "X" swap <bevel-button>
+      @right grid-add
+    n model name <toggle-button> @center grid-add
+  toggler swap add-gadget drop ;
+
+: redo-toggler ( tabbed -- )
+     [ names>> ] [ model>> ] [ toggler>> ] tri
+     [ clear-gadget ] keep
+     [ [ length ] keep ] 2dip
+     '[ _ _ add-toggle ] 2each ;
+
+: refresh-book ( tabbed -- )
+    model>> [ ] change-model ;
+
+: (del-page) ( n name tabbed -- )
+    { [ [ remove ] change-names redo-toggler ]
+      [ dupd [ names>> length ] [ model>> ] bi
+        [ [ = ] keep swap [ 1- ] when
+          [ < ] keep swap [ 1- ] when ] change-model ]
+      [ content>> nth-gadget unparent ]
+      [ refresh-book ]
+    } cleave ;
+
+: add-page ( page name tabbed -- )
+    [ names>> push ] 2keep
+    [ [ names>> length 1 - swap ]
+      [ model>> ]
+      [ toggler>> ] tri add-toggle ]
+    [ content>> swap add-gadget drop ]
+    [ refresh-book ] tri ;
+
+: del-page ( name tabbed -- )
+    [ names>> index ] 2keep (del-page) ;
+
+: new-tabbed ( assoc class -- tabbed )
+    new-frame
+    0 <model> >>model
+    <pile> 1 >>fill >>toggler
+    dup toggler>> @left grid-add
+    swap
+      [ keys >vector >>names ]
+      [ values over model>> <book> >>content dup content>> @center grid-add ]
+    bi
+    dup redo-toggler ;
+    
+: <tabbed> ( assoc -- tabbed ) tabbed new-tabbed ;