[[BackLinksMenu]]

[[TicketQuery(summary=LOGICR3_REDESIGN_R0, format=table, col=summary|owner|status|type|component|priority|effort|importance, rows=description|analysis_owners|analysis_reviewers|analysis_score|design_owners|design_reviewers|design_score|implementation_owners|implementation_reviewers|implementation_score|test_owners|test_reviewers|test_score|)]]

= Analysis =

== Overview ==
 * Remove the old Logic. All classes should use LogicR3 instead of Logic. 

== Task requirements ==
    * Refactor ImageFrameLogic, FrameLogic, PageLogic, BookLogic, AppLogic classes to use LogicR3 instead Logic.
    * JButtons that perform different actions across Sophie2 should also fire their events through the LogicR3. 

== Task result ==
 * The result of this task should be source code.

== Implementation idea ==
 * Remove the abstract method clicked() from MenuItem class.
 * Change menu hierarchy to use the LogicR3 and EventR3.

== Related ==
 * [wiki:GROUP_GUI_REDESIGN_R0]

== How to demo ==
 * Demonstrate the changes made in the source code.

= Design =
 * Make the clicked() method in MenuItem class final. When a menu item is clicked, an event will be fired that a menu item is clicked.
 * Create MenuItemIds enum with one element - CLICKED - the id of the event that will be fired.
 * Create logic for every menu item that will filters events will id - MenuItemIds.CLICKED and source - the item itself. When handled such events, another event will be fired depending on which menu item is clicked.
 * BookLogic should implement OperationDef. 
 * Change buttons from NavigationPanel to fire events that will be handled in BookLogic.
 * Change AppLogic to implement OperationDef. AppLogic should handle events connected with creation of book and closure of book.
 * Change PageLogic to implement OperationDef. Should handle events connected with modification of work area.
 * Move the logic from FrameLogic class to FrameLogicR3 class.

= Implementation =
^(Describe and link the implementation results here (from the wiki or the repository).)^

= Testing =
^(Place the testing results here.)^

= Comments =
^(Write comments for this or later revisions here.)