home *** CD-ROM | disk | FTP | other *** search
- property pPagesList, pLastSave, pCurrentPage, pNumPages, pName, pFiles, pSaveText, pNeedToSave, pQuestionTitleMember, pQuestionTextMember, pSummaryTitleMember, pSmallTextMember, pAnswerTextMember, pLargeTextMember, pButtonLocationsList
- global gMovieProperties
-
- on new me, cName, cFiles
- pSmallTextMember = member("Intro Text")
- pQuestionTitleMember = member("Question Title")
- pQuestionTextMember = member("Question Text")
- pAnswerTextMember = member("Answer Text")
- pSummaryTitleMember = member("Summary Title")
- pLargeTextMember = member("Summary Text")
- pButtonLocationsList = [#back: point(63, 565), #launch: point(188, 565), #previous: point(622, 565), #next: point(731, 565), #save: point(404, 565), #print: point(513, 565), #quit: point(170, 565)]
- SetupTextMembers(me)
- pPagesList = [:]
- pCurrentPage = 1
- pNumPages = 1
- pName = cName
- pFiles = cFiles
- pSaveText = EMPTY
- pNeedToSave = 0
- InitializeList(me)
- return me
- end
-
- on InitializeList me
- put "parent InitializeList()"
- tempTextVar = ReadFromFile(gMovieProperties.pTextfilesFolder & pFiles[1])
- if voidp(tempTextVar) then
- tempTextVar = "<p1><text>Textfile (" & pFiles[1] & ") does not exist!</text></p1>"
- end if
- pPagesList = [:]
- if voidp(tempTextVar) then
- return
- end if
- p = 0
- repeat while 1
- p = p + 1
- cPageText = ReadTaggedString("<P" & p & ">", "</P" & p & ">", tempTextVar)
- if not voidp(cPageText) then
- toSaveOrNot = offset("<save>", cPageText)
- if toSaveOrNot then
- pPagesList.addProp(value("#P" & p & "Save"), 1)
- else
- pPagesList.addProp(value("#P" & p & "Save"), 0)
- end if
- vidName = ReadTaggedString("<Video>", "</Video>", cPageText)
- if not voidp(vidName) then
- pPagesList.addProp(value("#p" & p & "Video"), vidName)
- end if
- imgName = ReadTaggedString("<image>", "</image>", cPageText)
- if not voidp(imgName) then
- pPagesList.addProp(value("#p" & p & "Image"), imgName)
- end if
- pdfName = ReadTaggedString("<pdf>", "</pdf>", cPageText)
- if not voidp(pdfName) then
- pPagesList.addProp(value("#p" & p & "pdf"), pdfName)
- end if
- summaryText = ReadTaggedString("<summary>", "</summary>", cPageText)
- if not voidp(summaryText) then
- pPagesList.addProp(value("#p" & p & "Summary"), value(summaryText))
- end if
- questionText = ReadTaggedString("<Q>", "</Q>", cPageText)
- if not voidp(questionText) then
- pPagesList.addProp(value("#p" & p & "Question"), questionText)
- introText = ReadTaggedString("<intro>", "</intro>", cPageText)
- if not voidp(introText) then
- pPagesList.addProp(value("#p" & p & "intro"), introText)
- end if
- feedbackText = ReadTaggedString("<F>", "</F>", cPageText)
- if not voidp(feedbackText) then
- pPagesList.addProp(value("#p" & p & "Feedback"), feedbackText)
- end if
- pPagesList.addProp(value("#p" & p & "Answer"), EMPTY)
- end if
- otherText = ReadTaggedString("<text>", "</text>", cPageText)
- if not voidp(otherText) then
- pPagesList.addProp(value("#p" & p & "text"), otherText)
- end if
- popupVid = ReadTaggedString("<popupvideo>", "</popupvideo>", cPageText)
- if not voidp(popupVid) then
- pPagesList.addProp(value("#p" & p & "popupvideo"), popupVid)
- end if
- delete tempTextVar.char[1..cPageText.char.count]
- next repeat
- end if
- pNumPages = p - 1
- exit repeat
- end repeat
- UpdatePagesList(me)
- pNeedToSave = 0
- end
-
- on UpdatePagesList me
- if not voidp(pPagesList[value("#P" & pCurrentPage & "Answer")]) then
- pPagesList[value("#P" & pCurrentPage & "Answer")] = pAnswerTextMember.text
- end if
- tempSave = pSaveText
- pSaveText = GetSummaryForPages(me, [1, pNumPages])
- if tempSave <> pSaveText then
- pNeedToSave = 1
- end if
- end
-
- on GetSummaryForPages me, pagesRange
- put "parent GetSummaryForPages([" & pagesRange & "])"
- saveText = EMPTY
- cIntro = EMPTY
- repeat with p = pagesRange[1] to pagesRange[2]
- iText = pPagesList[value("#P" & p & "Intro")]
- qText = pPagesList[value("#P" & p & "Question")]
- fText = pPagesList[value("#P" & p & "Feedback")]
- oText = pPagesList[value("#P" & p & "text")]
- if not voidp(qText) then
- qText = qText
- aText = pPagesList[value("#P" & p & "Answer")]
- if (iText <> cIntro) and not voidp(iText) then
- cIntro = iText
- if p = 1 then
- saveText = cIntro & RETURN & RETURN & qText
- else
- saveText = saveText & RETURN & RETURN & RETURN & cIntro & RETURN & RETURN & qText
- end if
- else
- saveText = saveText & RETURN & RETURN & qText
- end if
- if aText = EMPTY then
- saveText = saveText & RETURN & RETURN & "You provided no answer!"
- else
- saveText = saveText & RETURN & RETURN & aText
- end if
- if not voidp(fText) and (fText <> EMPTY) then
- saveText = saveText & RETURN & RETURN & fText
- end if
- end if
- if not voidp(oText) then
- saveText = saveText & RETURN & RETURN & oText
- end if
- end repeat
- if saveText.char[1..2] = (RETURN & RETURN) then
- delete saveText.char[1..2]
- end if
- return saveText
- end
-
- on GetSaveText me, pagesRange
- if voidp(pagesRange) then
- pagesRange = [1, pNumPages]
- end if
- put "parent GetSaveText([" & pagesRange & "])"
- pSaveText = GetSummaryForPages(me, pagesRange)
- if pSaveText = EMPTY then
- return EMPTY
- end if
- header = GetSaveHeader()
- sText = header & RETURN & RETURN & pName
- sText = sText & RETURN & RETURN & RETURN & pSaveText
- textMember = CreateTextMember("tempSaveParseMem", 4)
- textMember.text = sText
- if gMovieProperties.pTextParsing then
- ParseMember(textMember)
- end if
- return textMember.text
- end
-
- on saveText me, save_type
- put "parent SaveText(" & save_type & ")"
- UpdatePagesList(me)
- if (save_type = 1) and not IsPageSummary(me) then
- sText = GetSaveText(me, [pCurrentPage, pCurrentPage])
- else
- sText = GetSaveText(me)
- end if
- if SaveToFile(pName & ".txt", sText) then
- pNeedToSave = 0
- end if
- end
-
- on IsPageSummary me
- put "parent IsPageSummary()"
- if not voidp(pPagesList.getaProp(value("#p" & pCurrentPage & "Summary"))) then
- return 1
- else
- return 0
- end if
- end
-
- on NeedsSaving me
- put "parent NeedsSaving()"
- UpdatePagesList(me)
- x = pNeedToSave
- pNeedToSave = 0
- return x
- end
-
- on PrintText me, print_type
- put "parent PrintText()"
- UpdatePagesList(me)
- if (print_type = 1) and not IsPageSummary(me) then
- sText = GetSaveText(me, [pCurrentPage, pCurrentPage])
- else
- sText = GetSaveText(me)
- end if
- sText = FindReplaceChar(TAB, " ", sText)
- print(sText)
- end
-
- on SetupTextMembers me
- pSmallTextMember.text = EMPTY
- pSmallTextMember.font = gMovieProperties.pMainFont & " *"
- pSmallTextMember.fontSize = gMovieProperties.pMainFontSize
- pSmallTextMember.alignment = #left
- pSmallTextMember.scrollTop = 1
- pSmallTextMember.boxType = #fixed
- pQuestionTitleMember.text = EMPTY
- pQuestionTitleMember.font = gMovieProperties.pMainFont && "Bold *"
- pQuestionTitleMember.fontSize = gMovieProperties.pMainFontSize + 2
- pQuestionTitleMember.alignment = #left
- pQuestionTitleMember.boxType = #adjust
- pQuestionTextMember.text = EMPTY
- pQuestionTextMember.font = gMovieProperties.pMainFont & " *"
- pQuestionTextMember.fontSize = gMovieProperties.pMainFontSize
- pQuestionTextMember.alignment = #left
- pQuestionTextMember.scrollTop = 1
- pQuestionTextMember.boxType = #fixed
- pAnswerTextMember.text = EMPTY
- pAnswerTextMember.font = gMovieProperties.pMainFont & " *"
- pAnswerTextMember.fontSize = gMovieProperties.pMainFontSize
- pAnswerTextMember.alignment = #left
- pAnswerTextMember.boxType = #fixed
- pSummaryTitleMember.text = EMPTY
- pSummaryTitleMember.font = gMovieProperties.pMainFont && "Bold *"
- pSummaryTitleMember.fontSize = gMovieProperties.pMainFontSize + 2
- pSummaryTitleMember.alignment = #left
- pSummaryTitleMember.boxType = #adjust
- pLargeTextMember.text = EMPTY
- pLargeTextMember.font = gMovieProperties.pMainFont & " *"
- pLargeTextMember.fontSize = gMovieProperties.pMainFontSize
- pLargeTextMember.alignment = #left
- pLargeTextMember.scrollTop = 1
- pLargeTextMember.boxType = #fixed
- end
-