Last modified 11 years ago Last modified on 06/25/09 18:18:24

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



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 of frames are their resources.
    • Children are arranged by their Z-order, starting from highest (front-most).
    • 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. TODO: also in the resource palette, but we should change the way items are selected
  • When the user switches to another page/book, the palette is automatically updated.
  • In next revisions nodes should have icons - for page, text, image, video, group, etc.
  • The tree should allow expanding/collapsing of subtrees.
  • TODO: things to consider ??????
    • templates - in Sophie 1 they are represented too, but in Sophie 2 they are different
    • chaining (how to display it?)
    • 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.


  • Class PageStructurePalette
    • extends PanelPalette
    • in


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



(Write comments for this or later revisions here.)