Last modified 11 years ago Last modified on 09/10/09 13:33:31

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

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



The goal is to finalize the look and feel (as much as possible) as well as to fix some issues related to incorrect behavior.

Task requirements

  • The Sophie 2 skin should become the default one.
  • Continue working on MyDoggy components
    • Research how to integrate padding, margins, palette background etc.
  • Adjust the documents tab to support different icons that indicate the type of document opened. Also tune the behavior to set in active state the tab associated with the focused window.
  • Add a visual representation of the current skin in the skins menu.
  • Integrate app tuning into second_resource_rafactoring branch.
  • OPTIONAL Provide new and common background for all popup menus. The current one is cut from the top, it looks fine inside main menu but the rest appearance suffer from this.
  • OPTIONAL if there is time check what could be done inside huds, to make them look better.
    • Transparent background
    • Drop shadow
    • layout adjustments
  • OPTIONAL provide states for halo buttons.
  • OPTIONAL remove the buttons background from internal frame title pane menu button
  • OPTIONAL provide the real background for internal frame title pane
  • OPTIONAL hide internal frame border when maximized.
  • OPTIONAL add menu separators.

Task result

  • The result should be code

Implementation idea

  • Dialogs are defined differently in synth. Define them.
  • Research a more deep customization of mydoggy. Consider creating custom components or component customizers. (Currently we have only UIs).
  • Huds:
    • Set name for huds panel and customize it through synth providing semi-transparent background and shadow border.
  • Halobuttons' states can be easily provided the way they are provided for search and page navigation buttons.
  • The menu button - no idea.
  • This should be customized through synth and maybe some source code customizations.

How to demo

  • Open the application
  • Change the skin
  • Walk trough the changed elements


  • Sophie 2 skin will be made the default one by changing the default skin from the skin manager.
  • In order for tab buttons to have icons and to respond to currently selected document window, we shall create a TabBarButton class. See the UML diagram below:

    • source:branches/private/peko/sophie2-tuning-r4/doc/uml-design-diagrams/tab-bar-button-uml.png
    • The DocView will have a property icon that represents the icon for the document it displays. The AppTabBar class will be refactored so that it has an transforming pro list that creates TabBarButtons for every document window. Icons for BookDocView and ScriptDocView will be provided. They will be used in Sophie2 skin only. Icons: source:branches/private/peko/sophie2-tuning-r4/modules/ - for books and source:branches/private/peko/sophie2-tuning-r4/modules/ - for scripts.
    • TabBarButton also checks whether its document window is the current one and sets itself selected if it is so. When merging with the resources branch, this is not done. It appears that the logic is already there. The icon of the tab bar button and the document will be the same. This is more intuitive than having different icons for tab buttons and document views.
  • For the visual representation a tick icon will be added. It will be set to the menu member if the item represents the current skin. Icon: source:branches/private/peko/sophie2-tuning-r4/modules/
  • Internal frame title pane background will be changed by providing a new background image.
  • Internal frame border (the shadow border) will be hidden when the internal frame is maximized. This will be achieve by adding a ComponentListner and implementing the componentResized method. If the internal frame is maximized its border shall be set to null. If not the border will be set to the border that it previously had. In addition a named style should be added for the BookPanel, so that on removing the border everything is consistent.
  • Menu separators will be added directly into the xml. Color:#bec1c4 Thinckness:1px
  • Changesets:


  • Merged with the latest version of the second_resource_refactoring.
  • Chagesets:
    • 6059
    • 6068
    • 6095
    • 6098
    • 6112
    • 6113
    • 6116
    • 6117
    • 6120
    • 6121
    • 6122
    • 6165 - added thick for other menu items(show frame connections, current book in the window menu), fixed a bug about hud dialog updating upon look and feel changing, fixed the bottom flap title, fixed huds appearance(icons did not appear as they should because of wrong size provided), add icons for the image, pattern, gradient and color backgrounds.
    • 6173
    • 6174
    • 6178 - these last three are because of the merging with second resource refactoring branch again.

Merged into [6206].


(Place the testing results here.)


  • In order to work smoothly with java 5, all graphic elements must have source insets. (the one that can have this, if center property for image painter is true adding source insets cause error) - this is still a pending thing. We should put it in the requirements for R5.
  • There seems to be a problem with mydoggy when the sophie2 skin is used at startup. The horizontal tabs of mydoggy do not draw properly.