Last modified 16 years ago
Last modified on 06/25/09 18:18:24
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 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.
Related
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
- Class PageStructurePalette
- extends PanelPalette
- in org.sophie2.main.app.layout.left.pages
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.)