Changes between Version 1 and Version 2 of UNPLANNED_MAIN_WINDOW_REFACTORING_R0


Ignore:
Timestamp:
08/24/09 14:12:57 (16 years ago)
Author:
boyan
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • UNPLANNED_MAIN_WINDOW_REFACTORING_R0

    v1 v2  
    1111== Task requirements == 
    1212 * Clean up the hierarchy of the main window (including sub-classes, methods, etc.). 
    13  * Clean up all events fired/handled by the main window and related classes. 
     13 * Clean up all events fired/handled by the main window and related classes (optional, might be done as part of a task about logics). 
    1414 
    1515== Task result == 
     
    2727 
    2828= Design = 
    29 ^Describe your design here. 
     29The design does not include UML diagrams since they take time to be generated and this is a redesign task with high priority that needs to be finished as soon as possible. 
     30 
     31The hierarchy of the main window will be the following: 
     32 * Interface [source:/branches/second_resource_refactoring/sophie2-platform/modules/org.sophie2.base.layout/src/main/java/org/sophie2/base/layout/model/MainWindow.java MainWindow] (org.sophie2.base.layout) - contains properties for the three flaps, the tab-bar and menu-bar, the [source:/branches/second_resource_refactoring/sophie2-platform/modules/org.sophie2.base.layout/src/main/java/org/sophie2/base/layout/model/MainWindowOptions.java MainWindowOptions], a list of all documents, the current and the desktop document. 
     33  * Class [source:/branches/second_resource_refactoring/sophie2-platform/modules/org.sophie2.base.layout/src/main/java/org/sophie2/base/layout/testing/DummyMainWindow.java DummyMainWindow] - a simple RW implementation used for testing purposes. 
     34  * Class [source:/branches/second_resource_refactoring/sophie2-platform/modules/org.sophie2.base.layout/src/main/java/org/sophie2/base/layout/impl/DefaultMainWindow.java DefaultMainWindow] - a base class defining most of the properties and useful for testing. 
     35   * Class [source:/branches/second_resource_refactoring/sophie2-platform/modules/org.sophie2.main.app.commons/src/main/java/org/sophie2/main/app/commons/app/AppMainWindow.java AppMainWindow] - the main class, providing the  AppLocator. 
     36 
     37Now there are no redundant things and the list of all documents plus the current document is kept in a meaningful location. You should change the current document using the static methods present in DefaultMainWindow. 
     38 
     39The DocumentsDesktop and all related classes will be deleted since they are redundant. The MDMainWindow (part of the layout) will contain a property holding a DesktopPane. It is responsibility of the MDDocument window to layout the bottom panel if needed. Therefore all swing things in BookDocView related to that will be moved in the layout. This cleans up the hierarchy of the DocViews which turned out to be another part of this task. Also as part of this the AuthorBookDocView, ReaderBookDocView and DesktopBookDocView classes will be deleted as redundant. 
     40 
     41There are more things that will be done as part of this task: 
     42 * Delete the main.layout.vldocking module - it cannot be used due to licence restrictions. Currently it only raises the number of errors in the project (and it is not worth fixing them). 
     43 * Delete the main.app.reader module - it contained things related to the views that are now all in main.app.commons. 
     44 
     45The work related to the logics will be done as part of another task. 
    3046 
    3147= Implementation =