wiki:AUTHOR_APP_TUNING_R5
Last modified 16 years ago Last modified on 09/17/09 16:33:34

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

Error: Macro TicketQuery(summary=AUTHOR_APP_TUNING_R5, 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 goal of this revision is to provide a stable default skin. This mean that most of the things should look more or less as in the final version. What is left up to now are the file chooser dialogs and option pane dialogs. See requirements for more information.

Task requirements

  • Provide a look and feel for:
    • File chooser dialogs
    • Option pane dialogs.
    • Simple dialogs
  • Customize mydoggy:
    • Make the tabs of mydoggy look like the initial proposal (Things there have already been research to some extend. The actual implementation might be difficult though.)
    • OPTIONAL Customize the border of the flap. This is something that has not yet been researched and may not be done at this revision yet.
  • Import the new icons (which should be provided soon) for the buttons and customize the halo buttons so that they have icons for states (i.e. MOUSE_OVER icon...)
  • Integrate the new icons for the bound controls and mydoggy tool window icons.
  • OPTIONAL Hud dialogs:

Task result

  • Source code.
  • Research about some of the things.

Implementation idea

  • For all dialogs just make them update upon showing. Some of them may need additional assets (icons, tool-tips etc.)
  • For the mydoggy customize the ToolWindowTabBar and integrate it in the skinning. This also requires overriding some classes and providing a mechanism for skinning.

How to demo

  • Open sophie2 and demonstrate the new dialogs appearance and mydoggy appearance.

Design

  • The dialogs should be updated with the new look and feel. Some of them require that a style is created and others just do not update properly.
    • File chooser dialogs - should invoke updateUI() inside the show() method. Some of the button are not properly drawn and there is no way to provide empty background for these in the look and feel since they have no name properties set. In order for the file dialog to look nicer we should fix the buttons inside the FileDialog itself, by finding these buttons and setting their size to the size of the icon they use.
    • A style for the option pane dialogs will be added in the synth style. This will customize them in the new look and feel.
    • Simple dialogs - for these guys there is nothing more to be done.
  • Mydoggy tabs should be able to change their width for vertical tabs and height for horizontal ones.
    • A research of source code is already done and as a result the MDManageable interface will have a ID defining tab thickness. This will be used for both horizontal and vertical tabs. MDMainWindow and MDCompoundLayoutElement will define different thicknesses for their tabs, since they do not look alike.
  • The new icons will be added using the ButtonIcons and ButtonIconId. They will have a single icon for the developers skin and several icons for the default one. The default skin is hard coded, that is why a slightly extended string format will be provided for its entries, where the buttons icons value is to be used. Example:
    "main.view.halos.frame.frame-insets-halo-button/halo-icons : icons : " +
    "DEFAULT=insets.png, " +
    "MOUSE_OVER=insets_over.png," +
    "SELECTED=insets_selected.png", 
    
    • In order to have this, all halo buttons should be refactored to provide a ButtonIcons skin value.
  • The btn_flap_unpin.png and btn_palette_unpin.png icons will be added in the skin declaration for the default skin.
  • Changesets:

Implementation

  • ButtonIcons class renamed to IconsSet - it is immutable and is meant to be persistable. All calculations about size removed.
  • ButtonIconId class renamed to IconId
  • HaloButton class is now responsible for calculating its size depending on the used icon.
  • Chagesets (older change sets are already in trunk - do not take them into consideration when integrating):
    • 6513 - IconsSet and IconId, HaloButton class changed, new icons for mouse over.
    • 6515 - new icons removed, old ones added.
    • 6516

Testing

Comments