[[BackLinksMenu]] = Analysis = == Overview == * The book bottom panel is located at the bottom of the book window. * The panel acts as a container for different elements controlling what is displayed in the book window. * The panel should allow attaching and detaching of controls. * The panel should change its appearance according to the contained controls. An example book bottom panel:[[BR]] [[Image(source:trunk/sophie2-platform/doc/spec-diagrams/BookPanel.png, 50%)]] At this revision: [[BR]]Revise the panel. Modularize it and extract the extensions. The Analysis should be made carefully. == Task requirements == * Revisе the existing code. * Make the panel use extensions of the !BookBottomPanelElement extension point of the book window * Keep the existing controls statically linked. They will be extracted as extensions in a different module later. * It should be part of the book window module. == Task result == The result of this task should be source code. == Implementation idea == Write a method that gets the extensions and adds them to the panel. == Related == [wiki:UNPLANNED_BOOK_WINDOW_R0] [[BR]] [wiki:PAGE_SELECTOR_R0] == How to demo == * Start sophie and create a book. * Show the panel. = Design = * The book bottom panel currently contains four parts: * the 'navigation panel', * the 'quick search panel', * the 'reader mode check box' * the 'show frames check box' * They are all defined as extensions. This is done by creating them from the corresponding 'provider'. see => [wiki:UNPLANNED_BOOK_WINDOW_R0 Book window wiki page] for mode information. * There will be one more part of the book bottom panel and it is the !ZoomPercentagePanel. * This panel will be created by the !ZoomPercentageProvider loaded as an extension. * !ZoomPercentagePanels will be created for every book by their provider. = Implementation = * done according to design. => [source:/trunk/sophie2-platform/modules/org.sophie2.messy/src/main/java/org/sophie2/messy/view/book/BookPanel.java@699 BookPanel] * diagram: [[BR]] [[Image(source:/trunk/sophie2-platform/doc/uml-design-diagrams/BookPanel.png, 45%)]] = Testing = = Comments = = Log = [[Include(wiki:BOOK_BOTTOM_PANEL_R0_LOG)]]