Changes between Version 31 and Version 32 of PAGE_ELEMENT_GROUPING_R0


Ignore:
Timestamp:
05/25/09 18:56:55 (16 years ago)
Author:
kyli
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • PAGE_ELEMENT_GROUPING_R0

    v31 v32  
    6868= Design = 
    6969 * Make implementation ResourcePageElement of the PageElement interface, which extends Resource.  
    70  * Define an interface '''ElementContainer''' which contains PageElements. It will have the following methods: 
    71   * ElementContainer getParent(), providing the parent ElementContainer of it.  
     70 * Define an interface '''ElementContainer''' which contains ResourcePageElements. It will have the following methods: 
     71  * ElementContainer getParentContainer(), providing the parent ElementContainer of it.  
    7272  * RwListProp<ResourceRef> elements(), all the ResourcePageElements this container owns. They can be other groups, frames, etc. 
    7373 * 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. 
    7474 * The '''Frame''' will implement ResourcePageElement - it will have parent ElementContainer. 
    75  * Define class '''Group''' which will handle grouping, ungrouping and group navigation. It will implement the ElementContainer and ResourcePageElement. The Group class should have: 
     75 * Define class '''Group''' which will handle grouping, ungrouping and group navigation. It will implement the ElementContainer and ResourcePageElement. Its parent container will be the same as getParent(). The Group class should also have: 
    7676  * public Group createGroup(List<PageElement> elements) - which will create a Group from given elements. They should be first children of the given one. 
    7777  * public static void deleteGroup(Group group) - which will ungroup a previously created group. 
    7878 * Create class GroupView, which has a corresponding sceneElement. The sceneElement will consist of composition of the contained frame elements. 
    7979 * 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. 
     80 * In the PageElementLogic, when selecting a frame, we should actually select the first group below the current one, which contains this element(if such exists). 
    8081 * The actual grouping control will be done through the '''HaloButtons''' created for this. 
    8182  * Selected elements will be able to be grouped.  
     
    8586  * Navigating one level up. 
    8687  * Going down one level. 
     88 * For the first revision, the only group action available will be "Move". 
    8789 
    88 Test are written already, they will need to be refactored during the implementation phase. [http://sophie2.org/trac/browser/trunk/sophie2-platform/modules/org.sophie2.base.model.book/src/test/java/org/sophie2/base/model/book/GroupTest.java GroupTest.java] 
     90Test are already written, they will need to be refactored during the implementation phase. [http://sophie2.org/trac/browser/trunk/sophie2-platform/modules/org.sophie2.base.model.book/src/test/java/org/sophie2/base/model/book/GroupTest.java GroupTest.java] 
    8991 
    9092= Implementation =