Changes between Version 29 and Version 30 of PAGE_ELEMENT_GROUPING_R0
- Timestamp:
- 05/25/09 17:29:21 (16 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
PAGE_ELEMENT_GROUPING_R0
v29 v30 69 69 * Make implementation ResourcePageElement of the PageElement interface, which extends Resource. 70 70 * Define an interface '''ElementContainer''' which contains PageElements. It will have the following methods: 71 * GroupContainer getParent(), providing the parent GroupContainer of it. 72 * RwListProp<ResourceRef> resourceElements(), all the resource elements this container owns. They can be other groups, frames, etc. 73 * RwListProp<PageElement> pageElements(), all the page elements, which are not resources. 74 * The '''Page''' will implement GroupContainer - it will have elements. Page will not have a parent container. Rename the property Prop<ResourceRef>frames() to Prop<ResourceRef>resourceElements() 71 * ElementContainer getParent(), providing the parent ElementContainer of it. 72 * RwListProp<ResourceRef> elements(), all the ResourcePageElements this container owns. They can be other groups, frames, etc. 73 * The '''Page''' will implement ElementContainer - it will have elements. Page will not have a parent container. Rename the property Prop<ResourceRef>frames() to Prop<ResourceRef>elements(), refactor the logic that uses the property first. 75 74 * The '''Frame''' will implement ResourcePageElement - it will have parent ElementContainer. 76 75 * Define class '''Group''' which will handle grouping, ungrouping and group navigation. It will implement the ElementContainer and ResourcePageElement. The Group class should have: 77 76 * public Group createGroup(List<PageElement> elements) - which will create a Group from given elements. They should be first children of the given one. 78 77 * public static void deleteGroup(Group group) - which will ungroup a previously created group. 78 * 79 79 * Create class GroupView, which has a corresponding sceneElement. The sceneElement will consist of composition of the contained frame elements. 80 80 * Clicking on either frame of a group should select all the group. For this, create a property currentGroup() in the PageWorkArea and watch for it in the PageElementLogic.