Changes between Version 13 and Version 14 of GROUP_EMBEDDED_BOOKS_R0


Ignore:
Timestamp:
06/03/09 16:25:54 (16 years ago)
Author:
mira
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • GROUP_EMBEDDED_BOOKS_R0

    v13 v14  
    6060= Design = 
    6161 
    62 Since embdedded books are extra content, they will be separated into a new module - org.sophie2.extra.func.embedded. This module will provide extensions and classes that are required for the embedded books functionality: 
    63  * Extensions and classes for: 
     62Review the old code in org.sophie2.extra.func.embedded. Leave the working implementation for  
    6463  * a menu item in the Insert menu; 
    6564  * a frame content provider; 
    6665  * a frame content view provider; 
    6766  * an embedded books palette; 
    68  * An R3Logic OperationDef for inserting the book. 
    69  * BookFrameContent - a class representing the content of an embedded book frame. 
    70  * BookContentView - a class representing the view of an embedded book frame. 
    71 These are new things that will be implemented at this iteration. The following things require changes to existing classes to be achieved: 
     67Review the BookContentView so that it fits in the current hierarchy and extends FrameContentView and implement the BookView. Also review the BookView interface and remove the swing component. This is not a good fix but for now it should do. In later revisions of the Book related tast the whole hierarchy for book viewing should be rafactored.  
    7268 
    73 When a frame with an embedded book is selected (i.e. the embedded book is on focus), the embedded book will become the current book of the application. Thus the page preview palette and the resources palette will display the correct corresponding information. When the frame is deselected, the parent book should become current again. This will also affect the book bottom panel - it will control the embedded book and it will contain only the Navigation and Search panels. (This might be left for the next iteration). 
     69BookContentView should have:  
     70 * workArea() - this should be a reader work area (so that the scene elements are cliped to the book size). 
     71 * previewMode() - should be set to true 
     72 * element() - which is a CompositeSceneElement that is constructed by the workArea() for the current book page - the page that should be visible.  
     73   - all sub elements come from the workArea() 
     74   - set scaling matrix so that the elements are resized along with the frame content size. 
     75 * zoom() - It is good to allow the user to zoom the book content without the whole book but for this revision could be left 1.0f .  
    7476 
    75 There are some issues related to embedded books: 
    76  * Cyclic references - Book A embeds Book B which embeds book A. Any problems and exceptions that come up with this will be solved by changing the Resource library to handle cyclic dependencies. If that cannot be achieved in a reasonable time, embedding a book that will cause cyclic references will be disabled. 
    77  * Preview mode - A book that is embedded should be displayed as in Preview mode and should not be editable in place. You have to open it in its own window if you want to edit it. Currently the Preview mode is working to a quite basic extent and might need refactoring for proper displaying of embedded books. 
     77 Review the R3Logic OperationDef for book contents and add options for switching pages. Add check for cyclic embedding - Book A embeds Book B which embeds book A for example.  
     78When a frame with an embedded book is selected (i.e. the embedded book is on focus), the embedded book should be operational from the book bottom panel.   
    7879 
    79 Embedded books will be displayed under the Books tab in a new palette. When you select an open book, the new palette will show all the books that are embedded in it. From there you will be able to rename and delete embedded books. This requires the Resources library to provide ability for renaming and deleting and may slow down the task if not implemented. 
    80  
    81 Since this task depends on a lot of other things documenting will be done only if there is time left and after a stable design has been achieved. 
     80Embedded books will be displayed under the Books tab in a new palette. When you select an open book, the new palette will show all the books that are embedded in it. From there you will be able to delete embedded book resource. This should exclude set the frame content to null and remove the book from the local cache.  
    8281 
    8382= Implementation = 
    84 New module created. Current supported functionality is: 
    85  * Inserting an book from the menu. Only the first page of a book is displayed in a new frame. It is not editable in place. 
    86  * Listing the embedded books in an embedded books palette. 
    87  * Embedded books are not persistable at this stage. 
    88  * Renaming embedded books is not supported. 
    89  * Deleting an embedded book can be achieved by deleting the frame it is in. 
    90  * Moving through pages of the embedded book is not supported. 
    91  * Showing resources of the embedded books is not supported. 
    92 The missing functionality will be achieved in some of the next iterations. 
    93  
    94 The changeset of the commit: [2100]. 
     83The changeset of creation of the module and all previous implementation - [2100]. 
    9584 
    9685= Testing =