! Copyright (C) 2004 Chris Double. ! ! Redistribution and use in source and binary forms, with or without ! modification, are permitted provided that the following conditions are met: ! ! 1. Redistributions of source code must retain the above copyright notice, ! this list of conditions and the following disclaimer. ! ! 2. Redistributions in binary form must reproduce the above copyright notice, ! this list of conditions and the following disclaimer in the documentation ! and/or other materials provided with the distribution. ! ! THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, ! INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND ! FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE ! DEVELOPERS AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ! SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, ! PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; ! OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, ! WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR ! OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ! ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ! ! General purpose words for display pages using the continuation ! based responder. IN: cont-utils USE: html USE: cont-responder USE: lists USE: stdio USE: kernel USE: namespaces USE: html : simple-page ( title quot -- ) #! Call the quotation, with all output going to the #! body of an html page with the given title. swap write call ; : styled-page ( title stylesheet-quot quot -- ) #! Call the quotation, with all output going to the #! body of an html page with the given title. stylesheet-quot #! is called to generate the required stylesheet. rot write swap call call ; : paragraph ( str -- ) #! Output the string as an html paragraph

write

; : show-message-page ( message -- ) #! Display the message in an HTML page with an OK button. [ "Press OK to Continue" [ swap paragraph "OK" write ] simple-page ] show 2drop ; : vertical-layout ( list -- ) #! Given a list of HTML components, arrange them vertically. [ ] each
call
; : horizontal-layout ( list -- ) #! Given a list of HTML components, arrange them horizontally. [ ] each
call
; : button ( label -- ) #! Output an HTML submit button with the given label. ; : with-simple-html-output ( quot -- ) #! Run the quotation inside an HTML stream wrapped #! around stdio.
 
    "stdio" get  [
      call
    ] with-stream
  
;