Ceefax Architecture Overview - PowerPoint PPT Presentation

1 / 9
About This Presentation
Title:

Ceefax Architecture Overview

Description:

... Story, Index, Puffbox Creates CeefaxPage. populate(cfx_page) method pushes the template down the line x[ ] CeefaxPage.render(); x[0] ... – PowerPoint PPT presentation

Number of Views:7
Avg rating:3.0/5.0
Slides: 10
Provided by: BattlP01
Category:

less

Transcript and Presenter's Notes

Title: Ceefax Architecture Overview


1
Ceefax Architecture Overview
  • Phase 1

2
The Grid
  • Grid builder used to construct the grid
  • Grid consists of grid items
  • x,y, height etc (not used by Ceefax yet)

3
The Layout
  • Layout Manager used to manage the layout items
  • Flow arguments, story count and format styles can
    be set

4
CeefaxRenderProvider
  • Passed an OutputJob for an OutputJob typeStory,
    Index, Puffbox
  • Creates CeefaxPage. populate(cfx_page) method
    pushes the template down the line
  • x CeefaxPage.render() x0.toBytes will
    return the payload for transport processor or for
    preview Previewer.toHTML(x0).

5
Layout Rendering
  • CeefaxRenderprovider class gets a Layout,
    CeefaxPage and CeefaxSinglePageTemplate and calls
    the LayoutRenderer.populate(page)
  • LayoutBlockRenderer
  • Loop layoutContent
  • if (row)
  • new CeefaxTable(x,y)
  • loop
  • content.populate(page)
  • if (column)
  • loop
  • content.populate(page)..

6
CeefaxStoryList
7
Format Components Styles
  • FormatComponents implement the populate(page).
    HeadlineFormatComponent knows how to get a
    headline from the RenderContext and populates the
    parent CeefaxTempate with a TextCell with
    attributes depending on the FormatStyle.
  • Format Components have inherited styles plus
    properties associated with the component.
  • Story lists built up from multiple calls to
    CeefaxFormatStory

8
Class Dependencies
9
Populating a CeefaxTemplate
  • populate (CeefaxWindowTemplate aCeefaxWindowTempla
    te)
  • if (row)
  • new CeefaxTable(x,y)
  • new CeefaxTableRow
  • loop layoutContentItemsArray
  • new CeefaxTableData(x,y) // x,y Taken from
    grid
  • layoutContentItem.populate(CeefaxTableData)
  • CeefaxTableRow.addTableData(CeefaxTableData)
  • end loop
  • aCeefaxWindowTemplate.addChild(CeefaxTable)
  • end if
  • else if (column)
  • loop layoutContentItemsArray
  • layoutContentItem.populate(aCeefaxWindowTempla
    te)
  • end if
Write a Comment
User Comments (0)
About PowerShow.com