-- card: 2598 from stack: in -- bmap block id: 0 -- flags: 4000 -- background id: 2833 -- name: Contents ----- HyperTalk script ----- -- do not remove -- cd Contents script on showMover show btn "Put Article" show btn "After" show btn "PushMover" show btn "To Other Stack" show btn "Do It" show btn "Un/Lock" show bg fld "theMover" show bg fld "theTarget" end showMover on hideMover hide btn "Put Article" hide btn "After" hide btn "PushMover" hide btn "To Other Stack" hide btn "Do It" hide btn "Un/Lock" hide bg fld "theMover" hide bg fld "theTarget" end hideMover -- part 50 (button) -- low flags: 80 -- high flags: 8002 -- rect: left=12 top=0 right=17 bottom=87 -- title width / last selected line: 0 -- icon id / first selected line: 0 / 0 -- text alignment: 1 -- font id: 0 -- text size: 12 -- style flags: 0 -- line height: 16 -- part name: Put Article ----- HyperTalk script ----- on mouseUp put value( the selectedLine ) into bg field "theMover" end mouseUp -- part 51 (button) -- low flags: 80 -- high flags: 8002 -- rect: left=12 top=20 right=38 bottom=53 -- title width / last selected line: 0 -- icon id / first selected line: 0 / 0 -- text alignment: 1 -- font id: 0 -- text size: 12 -- style flags: 0 -- line height: 16 -- part name: After ----- HyperTalk script ----- on mouseUp put value( the selectedLine) into bg field "theTarget" end mouseUp -- part 52 (button) -- low flags: 80 -- high flags: 0000 -- rect: left=380 top=0 right=31 bottom=404 -- title width / last selected line: 0 -- icon id / first selected line: 2730 / 2730 -- text alignment: 1 -- font id: 0 -- text size: 12 -- style flags: 0 -- line height: 16 -- part name: pushMover ----- HyperTalk script ----- on mouseUp put bg field "theMover" into bg field "theTarget" end mouseUp -- part 53 (button) -- low flags: 80 -- high flags: A004 -- rect: left=406 top=0 right=16 bottom=512 -- title width / last selected line: 0 -- icon id / first selected line: 0 / 0 -- text alignment: 1 -- font id: 0 -- text size: 12 -- style flags: 0 -- line height: 16 -- part name: To Other Stack ----- HyperTalk script ----- on mouseUp global lastStack, stackList put bkgnd field "theMover" into sourceTitle if sourceTitle is empty then beep put "No Source Title given!" exit mouseUp end if put bkgnd field "theTarget" into targetTitle if targetTitle is empty then -- beep put "No Target Title given!" -- exit mouseUp end if go to first card in background "Review" find sourceTitle in bkgnd field "theTitle" if the result is "not found" then go to card "Contents" beep put "Source Title not found!" into msg exit mouseUp end if put bkgnd field "theTitle" into sourceTitle2 put empty into sourceIds repeat while sourceTitle2 is in bkgnd field "theTitle" get the id of this card put it & return after sourceIds go to next card if number of this card is 1 then exit repeat end repeat repeat go to card "Contents" answer "Found" && number of lines in sourceIds && "cards to move." with "Cancel" or "Review" or "OK" if it is "Cancel" then exit mouseUp if it is "OK" then exit repeat repeat with thisID = 1 to number of lines in sourceIds go to (line thisID of sourceIds) end repeat end repeat -- start new code repeat Ask "Domain Number of target stack?" with lastStack if it is empty then exit mouseUp put it into targStackNum if length( targStackNum ) < 2 then put "0" before targStackNum put item it of stackList into targetStack put it into lastStack put id of this card into testID push card go to stack targetStack if id of this card is testID then beep put "Stack not found" pop card else exit repeat end if end repeat go to first card in background "Review" if targetTitle is empty then go to last card put field "theTitle" into targetTitle else find targetTitle in bkgnd field "theTitle" if the result is "not found" then go to card "Contents" beep put "Target Title not found!" into msg pop card exit mouseUp end if end if put bkgnd field "theTitle" into targetTitle2 repeat while bkgnd field "theTitle" is targetTitle2 get the id of this card put it into targetID go to next card if number of this card is 1 then exit repeat end repeat go to (targetId) answer "Put them after this card?" with "Cancel" or "OK" if it is "Cancel" then pop card exit mouseUp end if pop card -- now to actually move the cards repeat with thisId = 1 to number of lines in sourceIds put (line thisId of sourceIds) into srcCard go to srcCard lock screen put the short name of this bkgnd into thisBkgnd put getFields() into fieldCount put "fc: " & fieldCount push card -- go get blank template card for this bg do ("go to first card of bkgnd" && thisBkgnd && "of stack" && targetStack) doMenu Copy Card go to targetId doMenu Paste Card get the long id of this card put it into targetId putFields fieldCount put targetStack into bg field "theTopic" put targStackNum & char 3 to length( field accession) of field accession into field accession if field "theIdent" is "access" then if field surveyAccession is not empty then put targStackNum & char 3 to length( field surveyAccession) of field surveyAccession into field surveyAccession end if end if -- move graphic, if appropriate if thisBkgnd is in "access,picture" then pop card -- horrible kluge... -- make a speck on the card picture, so we never copy a blank pict choose pencil tool click at 280,180 -- where there's prob'ly some graphic already -- we unmake the speck with another pencil click -- our card looks the same as originally, but is guaranteed to -- have a nonempty card picture click at 280,180 choose select tool domenu "Select All" doMenu "Copy Picture" push card go to targetId doMenu "Paste Picture" choose browse tool -- make it transparent in all cases EXCEPT when fullScreen picture put no into decision if thisBkgnd is "access" then put yes into decision else if thisBkgnd is "picture" then -- put "fs: " & field "fullScreen" if field "fullScreen" is empty then put yes into decision end if if decision is "yes" then choose select tool domenu "Select All" doMenu "transparent" choose browse tool end if end if unlock screen pop card end repeat -- update both TOC go to card "Contents" put offset (sourceTitle, bkgnd field "theContents") into sourceOff if sourceOff is 0 then beep put "Regenerate Contents of Source!" else delete char sourceOff to (sourceOff + length(sourceTitle) - 1) of bkgnd field "theContents" if char sourceOff of bkgnd field "theContents" is return then delete char sourceOff of bkgnd field "theContents" end if if last char of sourceTitle is not return then put return after sourceTitle end if push card go to card "Contents" of stack targetStack put offset(targetTitle, bkgnd field "theContents") into targetOff if targetOff is 0 then beep put "Regenerate Contents of Target!" pop card exit mouseUp end if add length(targetTitle) to targetOff if char targetOff of bkgnd field "theContents" is return then add 1 to targetOff put sourceTitle before char targetOff of bkgnd field "theContents" pop card end mouseUp function getFields global nameList global fContents put empty into nameList put empty into fContents put the number of bg fields into bgfc repeat with f = 1 to bgfc put the name of bg field f & tab after nameList put bg field f & tab after fContents end repeat put the number of card fields into crdfc repeat with f = 1 to crdfc put the name of card field f & tab after nameList put card field f & tab after fContents end repeat return bgfc + crdfc end getFields on putFields fCounts global nameList global fContents put first item of fCounts into bgfc put last item of fCounts into crdfc repeat with f = 1 to bgfc put pullName() into fName put fName do "put pullContents() into " & fName end repeat end putFields function pullContents -- returns tab-delimited chunk from global fContents -- deletes it from global fContents, too global fContents put offset( tab, fContents ) into tabSpot if tabSpot > 0 then get char 1 to tabSpot-1 of fContents delete char 1 to tabSpot of fContents return it end if return empty end pullContents function pullName -- returns tab-delimited chunk from global nameList -- deletes it from global nameList, too global nameList put offset( tab, nameList ) into tabSpot if tabSpot > 0 then get char 1 to tabSpot-1 of nameList delete char 1 to tabSpot of nameList return it end if return empty end pullName -- part 54 (button) -- low flags: 80 -- high flags: A004 -- rect: left=406 top=16 right=32 bottom=512 -- title width / last selected line: 0 -- icon id / first selected line: 0 / 0 -- text alignment: 1 -- font id: 0 -- text size: 12 -- style flags: 0 -- line height: 16 -- part name: Do It ----- HyperTalk script ----- on mouseUp put bkgnd field "theMover" into sourceTitle if sourceTitle is empty then beep put "No Source Title given!" exit mouseUp end if put bkgnd field "theTarget" into targetTitle if targetTitle is empty then beep put "No Target Title given!" exit mouseUp end if go to first card in background "Review" find sourceTitle in bkgnd field "theTitle" if the result is "not found" then go to card "Contents" beep put "Source Title not found!" into msg exit mouseUp end if put bkgnd field "theTitle" into sourceTitle2 put empty into sourceIds repeat while sourceTitle2 is in bkgnd field "theTitle" get the id of this card put it & return after sourceIds go to next card if number of this card is 1 then exit repeat end repeat repeat go to card "Contents" answer "Found" && number of lines in sourceIds && "cards to move." with "Cancel" or "Review" or "OK" if it is "Cancel" then exit mouseUp if it is "OK" then exit repeat repeat with thisID = 1 to number of lines in sourceIds go to (line thisID of sourceIds) end repeat end repeat go to first card in background "Review" find targetTitle in bkgnd field "theTitle" if the result is "not found" then go to card "Contents" beep put "Target Title not found!" into msg exit mouseUp end if put bkgnd field "theTitle" into targetTitle2 repeat while bkgnd field "theTitle" is targetTitle2 get the id of this card put it into targetID go to next card if number of this card is 1 then exit repeat end repeat go to (targetId) answer "Put them after this card?" with "Cancel" or "OK" if it is "Cancel" then exit mouseUp push card repeat with thisId = 1 to number of lines in sourceIds go to (line thisId of sourceIds) doMenu Cut Card pop card doMenu Paste Card push card end repeat pop card go to card "Contents" put offset (sourceTitle, bkgnd field "theContents") into sourceOff if sourceOff is 0 then beep put "Regenerate Contents!" exit mouseUp end if delete char sourceOff to (sourceOff + length(sourceTitle) - 1) of bkgnd field "theContents" if char sourceOff of bkgnd field "theContents" is return then delete char sourceOff of bkgnd field "theContents" end if if last char of sourceTitle is not return then put return after sourceTitle put offset(targetTitle, bkgnd field "theContents") into targetOff if targetOff is 0 then beep put "Regenerate Contents!" exit mouseUp end if add length(targetTitle) to targetOff if char targetOff of bkgnd field "theContents" is return then add 1 to targetOff put sourceTitle before char targetOff of bkgnd field "theContents" end mouseUp -- part 55 (button) -- low flags: 80 -- high flags: A004 -- rect: left=406 top=32 right=48 bottom=512 -- title width / last selected line: 0 -- icon id / first selected line: 0 / 0 -- text alignment: 1 -- font id: 0 -- text size: 12 -- style flags: 0 -- line height: 16 -- part name: Un/Lock ----- HyperTalk script ----- on mouseUp get the lockText of fld "theContents" if it is false then set the lockText of fld "theContents" to true else set the lockText of fld "theContents" to false end if end mouseUp -- part contents for background part 6 ----- text ----- Contents -- part contents for background part 11 ----- text ----- Menu -- part contents for background part 17 ----- text ----- INTRODUCTION CONTENTS -- part contents for background part 33 ----- text ----- card id 66833 card id 64901 card id 8560 card id 17724 card id 2461 card id 16098 card id 5154 card id 20722 card id 57549 card id 44130 card id 44712 card id 18482 card id 48259 card id 63588 card id 63823 card id 26630 card id 29354 card id 33037 card id 40838 card id 51937 card id 17998 card id 65919 card id 39834 card id 40507 -- part contents for background part 34 ----- text ----- 12115519 12095003 12095105 12095116 12095127 12095138 12095150 12095149 12095401 12095412 12095423 12095445 12095536 12097005 12097107 12114676 12114687 12114698 12114723 12114712 12114734 12097209 12097210 12097221 -- part contents for background part 35 ----- text ----- 1 2 3 4 4 4 4 4 3 4 4 4 4 2 3 4 4 4 4 4 4 3 4 4 -- part contents for background part 18 ----- text ----- INTRODUCTION ABOUT THE DISC Genesis and Purpose The Whole Earth Catalog PURPOSE FUNCTION ORDERING INFORMATION ORIGIN OF THE SPECIES & EVOLUTION THROUGH THE AGES Staff and Business STAFF THANK YOUS BUSINESS FURTHER HELP First Time Help GETTING AROUND IN THE DISC CONTENTS AND INDEX QUICK SEARCH PICTURES AND SOUND THE PULL DOWN MENU MORE ABOUT QUICK SEARCH Practice Navigating FIRST PRACTICE ARTICLE SECOND PRACTICE ARTICLE -- part contents for background part 38 ----- text ----- • WHOLE EARTH • INTRODUCTION -- part contents for background part 39 ----- text ----- stack "WHOLE EARTH" stack "INTRODUCTION"