wiki:BASE_SKINS_COMMONS_R1
Last modified 15 years ago Last modified on 10/15/09 14:38:13

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

Error: Macro TicketQuery(summary=BASE_SKINS_COMMONS_R1, 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

  • The aim of this task is to improve the skin management and to provide skin persistence.

Task requirements

  • Create a visual skin manager. There should be a skin maanger dialog that displays:
    • Available skins.
    • Buttons for saving, loading and applying skins.
    • The manager should be displayed skin the skins menu. (Later should be displayed from the config palette)
  • Create a persistence mechanism that allows to save and load skins.
    • Skins should be persisted in a directory so that skin manipulation is easier.
  • Create a mechanism for choosing the skin and its fallback one.
  • Create a module with the skin manager and skin persistence. It should be named org.sophie2.main.skins.
  • Skin manager dialog should look like this:


source:/branches/private/peko/skin-persistence/doc/spec-diagrams/skin_manager_dialog.png

Task result

  • Source code.

Implementation idea

  • Use the persister mechanism that is already defined to persist skins.
  • Create the tabs and palettes.
  • For every skin in the available skins palette provide an icon and the name. There can also be some meta info about the skin.

How to demo

  • Run sophie2 and click on the skins tab.
  • See the currently selected skin and its info from the available skins palette.
  • Save this skin using the skin management palette.
  • Examine the persisted skin.
  • Load the persisted skin and apply it.
  • There should be no change with the previous one.

Design

(Describe your design here.)

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.)