wiki:PAGE_STRUCTURE_DISPLAYING_R0

Version 11 (modified by mitex, 16 years ago) (diff)

--

Error: Macro BackLinksMenu(None) failed
compressed data is corrupt

Error: Macro TicketQuery(summary=PAGE_STRUCTURE_DISPLAYING_R0, format=table, col=summary|owner|status|type|component|priority|effort|importance, rows=description|analysis_owners|analysis_reviewers|analysis_score|design_owners|design_reviewers|design_score|implementation_owners|implementation_reviewers|implementation_score|test_owners|test_reviewers|test_score|) failed
current transaction is aborted, commands ignored until end of transaction block

Analysis

Overview

The page structure palette shows a tree of all the objects on current page.

Task requirements

  • Create a Page Structure palette in the Pages tab, which is in the left flap.
  • Create a tree, according to the following requirements:
    • The root node of the displayed tree should be the current page.
    • Children nodes:
      • Non grouped frames (display the name, for example "Frame A")
      • Top-level groups
        • Groups are represented as a tree of frames and subgroups.
    • Children are arranged by their Z-order, starting from lowest/highest ???
    • For this revision it is not required the tree to allow editing.
  • When the user selects something on the page it is selected in that tree and vice versa.
  • When the user switches to another page/book, the palette is automatically updated.
  • Nodes should have icons
    • Root - icon representing a page
    • Frame - different icons for text/image/video/etc. frames
    • Group, etc.
  • The tree should allow expanding/collapsing of subtrees.
  • The tree should be expanded to 2nd level / to frames ???
  • TODO: things to consider ??????
    • templates - in Sophie 1 they are represented too
    • chaining
    • links, timelines, ...

Task result

The result of this task is source code.

Implementation idea

  • Create a new PanelPalette.
  • Use Swing's JTree control.

How to demo

  • Open the page structure palette.
  • Insert a new text frame and show it in the tree.
  • Insert a new image frame and show it in the tree.

Design

Implementation

(Implementation results should be described and linked here (from the wiki or the repository))

Testing

Comments

(Write comments for this or later revisions here.)