[ [ length ] keep ] 2dip\r
'[ , _ _ , add-toggle ] 2each ;\r
\r
+: refresh-book ( tabbed -- )\r
+ model>> [ ] change-model ;\r
+\r
: (del-page) ( n name tabbed -- )\r
{ [ [ remove ] change-names redo-toggler ]\r
- [ [ names>> length ] [ model>> ] bi\r
+ [ dupd [ names>> length ] [ model>> ] bi\r
[ [ = ] keep swap [ 1- ] when\r
- [ > ] keep swap [ 1- ] when dup ] change-model ]\r
+ [ < ] keep swap [ 1- ] when ] change-model ]\r
[ content>> nth-gadget unparent ]\r
- [ model>> [ ] change-model ] ! refresh\r
+ [ refresh-book ]\r
} cleave ;\r
\r
: add-page ( page name tabbed -- )\r
[ [ model>> swap ]\r
[ names>> length 1 - swap ]\r
[ toggler>> ] tri add-toggle ]\r
- [ content>> add-gadget ] bi ;\r
+ [ content>> add-gadget ]\r
+ [ refresh-book ] tri ;\r
\r
: del-page ( name tabbed -- )\r
[ names>> index ] 2keep (del-page) ;\r