See [wiki:BOOK_WINDOW Book Window]. [[BR]] = Analysis = == Overview == Book window is the window where the books "live". Book windows are windows into the main application window. Each book window has it's own tab in the Opened Books Tabbar. == Task requirements == Create a wiki page [wiki:BOOK_WINDOW] and fill in following: * Define extension points(places that allow adding functionality) in designing phase. [[BR]] * Create a class diagram containing classes that should be used. * Create an !OpenOffice diagram to show the base view of book window * Define Book window behavior. == Task result == The result of this task should be a wiki page and !BookWindow class. == Implementation idea == - == Related == - == How to demo == You can show [source:/trunk/sophie2-platform/doc/spec-diagrams/BookWindow.png BookWindow] to the team. = Design = * Extension Points * !BookPanel - holds the elements that control the view of the book * !BookPanelElement - an element controlling single aspect of the view * !PageView - displays single a page of a book * Classes * !BookWindow * Interfaces * !PageView * !BookPanel * !BookPanelElement * Base view of [source:/trunk/sophie2-platform/doc/spec-diagrams/BookWindow.png BookWindow] * Behavior Each !BookWindow is responsible for displaying a single book. At the time of creation of a window it is bound to a book. It is then responsible for displaying te current page of the book. This is done through the extension connected to the !PageView extension point (if such is present). = Implementation = [source:trunk/sophie2-platform/modules/org.sophie2.messy/src/main/java/org/sophie2/messy/view/book/BookView.java@112 BookView class] = Testing = = Log = [[Include(wiki:BOOK_WINDOW_R0_LOG)]]