wiki:BASE_HALOS_R0

Version 11 (modified by peko, 16 years ago) (diff)

--

Error: Macro BackLinksMenu(None) failed
compressed data is corrupt

Error: Macro TicketQuery(summary=TASK_NAME_HERE, 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|) failed
current transaction is aborted, commands ignored until end of transaction block

Analysis

Overview

This task requires a base implementation of the Halos. The idea is to have a base hierarchy in a separate module that the actual implementation classes use.

Task requirements

  • Create a module org.sophie2.base.halos
  • Extract the base hierarchy for Halos and put it in that module. (all halos are now in the org.sophie2.main.view module).
  • Create a UML diagram for the base classes.
  • Make the org.sophie2.view.main dependable on the org.sophie2.base.scene module.
  • Review currently implemented classes of halo buttons, menus, huds.
  • Provide a general explanation of how new halos should be implemented.
    • How should one create a HUD.
    • How should one create a Halo Button.
    • How should one create a Halo Menu.

Task result

  • wiki page.
  • diagrams
  • source code
  • new module in sopehie2-platform.

Implementation idea

  • create the module.
  • fix the halos.
  • create other things described in Task Requirements section.
  • a similar things is already done by BASE_LAYOUT_R0
    • see org.sophie2.base.layout module and see how are things done there.
    • base halos should be done in a similar way.

How to demo

  • open the corresponding wiki page given in the design or implementation section.
    • see if everything is clear.
    • diagrams
    • explanations
  • open eclipse
    • see if org.sophie2.base.halos exists
    • run the demo
    • run the tests
    • examine source code.

Design

  • New things:
    • A module org.sophie2.base.scene will be created.
    • module org.sophie2.main.view will depend on the former.
    • the new module will provide the base hierarchy of halos.
  • Refactored things:
    • the
  • Diagrams:
    • Hierarchy diagram for halo buttons and huds. They both have a visual representation - the HaloSceneElement that has a JComponent.

source:/trunk/sophie2-platform/doc/uml-design-diagrams/HaloButtonAndHud-uml.png

  • Here is the diagram for the HaloMenu:

source:/trunk/sophie2-platform/doc/uml-design-diagrams/HaloMenu-uml.png

  • it is responsible for:
    • displaying the buttons.
    • computing its size and location.
    • computing the container for the buttons in it.

Implementation

(Implementation results should be described and linked here (from the wiki or the repository))

Testing

Comments

(Write comments for this or later revisions here.)