59 | | * The new classes will be [source:branches/private/peko/sophie2-mydoggy/modules/org.sophie2.main.layout.mydoggy/src/main/java/org/sophie2/main/layout/mydoggy/mdcustomization/SophieTitleBarUI.java SophieTitleBarUI] for the title bars and [source:branches/private/peko/sophie2-mydoggy/modules/org.sophie2.main.layout.mydoggy/src/main/java/org/sophie2/main/layout/mydoggy/mdcustomization/SophieTabButtonUI.java SophieTabButtonUI] for the tabs. These two will provide same functionality as their super classes and will extend it by providing the opportunity to draw images for title bars and tabs. |
60 | | * We need to specify a way to map mydoggy resources for its customizing to string ids for the skin - colors and images for icons, tab buttons and title bars. In order to do so there will be e package named [source:branches/private/peko/sophie2-mydoggy/modules/org.sophie2.main.layout.mydoggy/src/main/java/org/sophie2/main/layout/mydoggy/constants constants] placed - "org.sophie2.main.layout.mydoggy". It will contain an interface named [source:branches/private/peko/sophie2-mydoggy/modules/org.sophie2.main.layout.mydoggy/src/main/java/org/sophie2/main/layout/mydoggy/constants/MDSkinDefID.java MDSkinDefID] having a single method getSkinID(). See the javadoc for more info. A several enums will be used for every part of mydoggy customization: |
61 | | * [source:branches/private/peko/sophie2-mydoggy/modules/org.sophie2.main.layout.mydoggy/src/main/java/org/sophie2/main/layout/mydoggy/constants/MDButtonIconID.java MDButtonIconID] |
62 | | * [source:branches/private/peko/sophie2-mydoggy/modules/org.sophie2.main.layout.mydoggy/src/main/java/org/sophie2/main/layout/mydoggy/constants/MDColorID.java MDColorID] |
63 | | * [source:branches/private/peko/sophie2-mydoggy/modules/org.sophie2.main.layout.mydoggy/src/main/java/org/sophie2/main/layout/mydoggy/constants/MDTabButtonImageID.java MDTabButtonImageID] |
64 | | * [source:branches/private/peko/sophie2-mydoggy/modules/org.sophie2.main.layout.mydoggy/src/main/java/org/sophie2/main/layout/mydoggy/constants/MDTitleBarImageID.java MDTitleBarImageID] |
| 59 | * The new classes will be [source:trunk/sophie2-platform/modules/org.sophie2.main.layout.mydoggy/src/main/java/org/sophie2/main/layout/mydoggy/mdcustomization/SophieTitleBarUI.java SophieTitleBarUI] for the title bars and [source:trunk/sophie2-platform/modules/org.sophie2.main.layout.mydoggy/src/main/java/org/sophie2/main/layout/mydoggy/mdcustomization/SophieTabButtonUI.java SophieTabButtonUI] for the tabs. These two will provide same functionality as their super classes and will extend it by providing the opportunity to draw images for title bars and tabs. |
| 60 | * We need to specify a way to map mydoggy resources for its customizing to string ids for the skin - colors and images for icons, tab buttons and title bars. In order to do so there will be e package named [source:trunk/sophie2-platform/modules/org.sophie2.main.layout.mydoggy/src/main/java/org/sophie2/main/layout/mydoggy/constants constants] placed - "org.sophie2.main.layout.mydoggy". It will contain an interface named [source:trunk/sophie2-platform/modules/org.sophie2.main.layout.mydoggy/src/main/java/org/sophie2/main/layout/mydoggy/constants/MDSkinDefID.java MDSkinDefID] having a single method getSkinID(). See the javadoc for more info. A several enums will be used for every part of mydoggy customization: |
| 61 | * [source:trunk/sophie2-platform/modules/org.sophie2.main.layout.mydoggy/src/main/java/org/sophie2/main/layout/mydoggy/constants/MDButtonIconID.java MDButtonIconID] |
| 62 | * [source:trunk/sophie2-platform/modules/org.sophie2.main.layout.mydoggy/src/main/java/org/sophie2/main/layout/mydoggy/constants/MDColorID.java MDColorID] |
| 63 | * [source:trunk/sophie2-platform/modules/org.sophie2.main.layout.mydoggy/src/main/java/org/sophie2/main/layout/mydoggy/constants/MDTabButtonImageID.java MDTabButtonImageID] |
| 64 | * [source:trunk/sophie2-platform/modules/org.sophie2.main.layout.mydoggy/src/main/java/org/sophie2/main/layout/mydoggy/constants/MDTitleBarImageID.java MDTitleBarImageID] |
68 | | * The [source:branches/private/peko/sophie2-mydoggy/modules/org.sophie2.main.layout.mydoggy/src/main/java/org/sophie2/main/layout/mydoggy/MDSkinUpdater.java MDSkinUpdater] will do all the work. There should be an auto property defining whether this is a colored or imaged skin. Colored skins will be the default one and the alternative. Sophie2 skin however will use images to customize mydoggy. A resource property will set mydoggy the custom sophie UIs. Every UI will take as an argument the [source:branches/private/peko/sophie2-mydoggy/modules/org.sophie2.main.layout.mydoggy/src/main/java/org/sophie2/main/layout/mydoggy/MDSkinUpdater.java MDSkinUpdater] in order to acquire the images if current skin contains mydoggy images (see [source:branches/private/peko/sophie2-mydoggy/modules/org.sophie2.main.layout.mydoggy/src/main/java/org/sophie2/main/layout/mydoggy/mdcustomization/SophieTitleBarUI.java SophieTitleBarUI] and [source:branches/private/peko/sophie2-mydoggy/modules/org.sophie2.main.layout.mydoggy/src/main/java/org/sophie2/main/layout/mydoggy/mdcustomization/SophieTabButtonUI.java SophieTabButtonUI] for more info). Images are auto computed upon skin updating inside the MDSkinUpdater. We will take advantage of the update() method of the UIs defined, which will be invoked automtically by swing. This way images or colors will be set properly. Icons of the button located on the title bar of md components will be put directly in the resource manager. Their updating is forced. |
69 | | * In order to define a the resources modify [source:branches/private/peko/sophie2-mydoggy/modules/org.sophie2.main.skin.alternative/src/main/java/org/sophie2/main/skin/alternative/SkinDefIds.java SkinDefIds] so that icons are loaded. |
| 68 | * The [source:trunk/sophie2-platform/modules/org.sophie2.main.layout.mydoggy/src/main/java/org/sophie2/main/layout/mydoggy/MDSkinUpdater.java MDSkinUpdater] will do all the work. There should be an auto property defining whether this is a colored or imaged skin. Colored skins will be the default one and the alternative. Sophie2 skin however will use images to customize mydoggy. A resource property will set mydoggy the custom sophie UIs. Every UI will take as an argument the [source:trunk/sophie2-platform/modules/org.sophie2.main.layout.mydoggy/src/main/java/org/sophie2/main/layout/mydoggy/MDSkinUpdater.java MDSkinUpdater] in order to acquire the images if current skin contains mydoggy images (see [source:trunk/sophie2-platform/modules/org.sophie2.main.layout.mydoggy/src/main/java/org/sophie2/main/layout/mydoggy/mdcustomization/SophieTitleBarUI.java SophieTitleBarUI] and [source:trunk/sophie2-platform/modules/org.sophie2.main.layout.mydoggy/src/main/java/org/sophie2/main/layout/mydoggy/mdcustomization/SophieTabButtonUI.java SophieTabButtonUI] for more info). Images are auto computed upon skin updating inside the MDSkinUpdater. We will take advantage of the update() method of the UIs defined, which will be invoked automtically by swing. This way images or colors will be set properly. Icons of the button located on the title bar of md components will be put directly in the resource manager. Their updating is forced. |
| 69 | * In order to define a the resources modify [source:trunk/sophie2-platform/modules/org.sophie2.main.skin.alternative/src/main/java/org/sophie2/main/skin/alternative/SkinDefIds.java SkinDefIds] so that icons are loaded. |
72 | | * [[Image(source:branches/private/peko/sophie2-mydoggy/modules/org.sophie2.main.skin.alternative/src/main/resources/distrib/icons/sophie2/btn_flap_close.png)]] - btn_flap_close.png |
73 | | * [[Image(source:branches/private/peko/sophie2-mydoggy/modules/org.sophie2.main.skin.alternative/src/main/resources/distrib/icons/sophie2/btn_flap_maximize.png)]] - btn_flap_maximize.png |
74 | | * [[Image(source:branches/private/peko/sophie2-mydoggy/modules/org.sophie2.main.skin.alternative/src/main/resources/distrib/icons/sophie2/btn_flap_minimize.png)]] - btn_flap_minimize.png |
75 | | * [[Image(source:branches/private/peko/sophie2-mydoggy/modules/org.sophie2.main.skin.alternative/src/main/resources/distrib/icons/sophie2/btn_flap_pin.png)]] - btn_flap_pin.png |
76 | | * [[Image(source:branches/private/peko/sophie2-mydoggy/modules/org.sophie2.main.skin.alternative/src/main/resources/distrib/icons/sophie2/btn_flap_empty.png)]] - btn_flap_empty.png |
| 72 | * [[Image(source:trunk/sophie2-platform/modules/org.sophie2.main.skin.alternative/src/main/resources/distrib/icons/sophie2/btn_flap_close.png)]] - btn_flap_close.png |
| 73 | * [[Image(source:trunk/sophie2-platform/modules/org.sophie2.main.skin.alternative/src/main/resources/distrib/icons/sophie2/btn_flap_maximize.png)]] - btn_flap_maximize.png |
| 74 | * [[Image(source:trunk/sophie2-platform/modules/org.sophie2.main.skin.alternative/src/main/resources/distrib/icons/sophie2/btn_flap_minimize.png)]] - btn_flap_minimize.png |
| 75 | * [[Image(source:trunk/sophie2-platform/modules/org.sophie2.main.skin.alternative/src/main/resources/distrib/icons/sophie2/btn_flap_pin.png)]] - btn_flap_pin.png |
| 76 | * [[Image(source:trunk/sophie2-platform/modules/org.sophie2.main.skin.alternative/src/main/resources/distrib/icons/sophie2/btn_flap_empty.png)]] - btn_flap_empty.png |
78 | | * [[Image(source:branches/private/peko/sophie2-mydoggy/modules/org.sophie2.main.skin.alternative/src/main/resources/distrib/icons/sophie2/btn_palette_close.png)]] - btn_palette_close.png |
79 | | * [[Image(source:branches/private/peko/sophie2-mydoggy/modules/org.sophie2.main.skin.alternative/src/main/resources/distrib/icons/sophie2/btn_palette_maximize.png)]] - btn_palette_maximize.png |
80 | | * [[Image(source:branches/private/peko/sophie2-mydoggy/modules/org.sophie2.main.skin.alternative/src/main/resources/distrib/icons/sophie2/btn_palette_minimize.png)]] - btn_palette_minimize.png |
81 | | * [[Image(source:branches/private/peko/sophie2-mydoggy/modules/org.sophie2.main.skin.alternative/src/main/resources/distrib/icons/sophie2/btn_palette_pin.png)]] - btn_palette_pin.png |
82 | | * [[Image(source:branches/private/peko/sophie2-mydoggy/modules/org.sophie2.main.skin.alternative/src/main/resources/distrib/icons/sophie2/btn_palette_empty.png)]] - btn_palette_empty.png |
| 78 | * [[Image(source:trunk/sophie2-platform/modules/org.sophie2.main.skin.alternative/src/main/resources/distrib/icons/sophie2/btn_palette_close.png)]] - btn_palette_close.png |
| 79 | * [[Image(source:trunk/sophie2-platform/modules/org.sophie2.main.skin.alternative/src/main/resources/distrib/icons/sophie2/btn_palette_maximize.png)]] - btn_palette_maximize.png |
| 80 | * [[Image(source:trunk/sophie2-platform/modules/org.sophie2.main.skin.alternative/src/main/resources/distrib/icons/sophie2/btn_palette_minimize.png)]] - btn_palette_minimize.png |
| 81 | * [[Image(source:trunk/sophie2-platform/modules/org.sophie2.main.skin.alternative/src/main/resources/distrib/icons/sophie2/btn_palette_pin.png)]] - btn_palette_pin.png |
| 82 | * [[Image(source:trunk/sophie2-platform/modules/org.sophie2.main.skin.alternative/src/main/resources/distrib/icons/sophie2/btn_palette_empty.png)]] - btn_palette_empty.png |
87 | | * [[Image(source:branches/private/peko/sophie2-mydoggy/modules/org.sophie2.main.skin.alternative/src/main/resources/distrib/icons/sophie2/tab_bar_top_active.png)]] - tab_bar_top_active.png |
88 | | * [[Image(source:branches/private/peko/sophie2-mydoggy/modules/org.sophie2.main.skin.alternative/src/main/resources/distrib/icons/sophie2/tab_bar_top_inactive.png)]] - tab_bar_top_inactive.png |
89 | | * [[Image(source:branches/private/peko/sophie2-mydoggy/modules/org.sophie2.main.skin.alternative/src/main/resources/distrib/icons/sophie2/tab_bar_bottom_active.png)]] - tab_bar_bottom_active.png |
90 | | * [[Image(source:branches/private/peko/sophie2-mydoggy/modules/org.sophie2.main.skin.alternative/src/main/resources/distrib/icons/sophie2/tab_bar_bottom_inactive.png)]] - tab_bar_bottom_inactive.png |
91 | | * [[Image(source:branches/private/peko/sophie2-mydoggy/modules/org.sophie2.main.skin.alternative/src/main/resources/distrib/icons/sophie2/tab_bar_left_active.png)]] - tab_bar_left_active.png |
92 | | * [[Image(source:branches/private/peko/sophie2-mydoggy/modules/org.sophie2.main.skin.alternative/src/main/resources/distrib/icons/sophie2/tab_bar_left_inactive.png)]] - tab_bar_left_inactive.png |
93 | | * [[Image(source:branches/private/peko/sophie2-mydoggy/modules/org.sophie2.main.skin.alternative/src/main/resources/distrib/icons/sophie2/tab_bar_right_active.png)]] - tab_bar_right_active.png |
94 | | * [[Image(source:branches/private/peko/sophie2-mydoggy/modules/org.sophie2.main.skin.alternative/src/main/resources/distrib/icons/sophie2/tab_bar_right_inactive.png)]] - tab_bar_right_inactive.png |
| 87 | * [[Image(source:trunk/sophie2-platform/modules/org.sophie2.main.skin.alternative/src/main/resources/distrib/icons/sophie2/tab_bar_top_active.png)]] - tab_bar_top_active.png |
| 88 | * [[Image(source:trunk/sophie2-platform/modules/org.sophie2.main.skin.alternative/src/main/resources/distrib/icons/sophie2/tab_bar_top_inactive.png)]] - tab_bar_top_inactive.png |
| 89 | * [[Image(source:trunk/sophie2-platform/modules/org.sophie2.main.skin.alternative/src/main/resources/distrib/icons/sophie2/tab_bar_bottom_active.png)]] - tab_bar_bottom_active.png |
| 90 | * [[Image(source:trunk/sophie2-platform/modules/org.sophie2.main.skin.alternative/src/main/resources/distrib/icons/sophie2/tab_bar_bottom_inactive.png)]] - tab_bar_bottom_inactive.png |
| 91 | * [[Image(source:trunk/sophie2-platform/modules/org.sophie2.main.skin.alternative/src/main/resources/distrib/icons/sophie2/tab_bar_left_active.png)]] - tab_bar_left_active.png |
| 92 | * [[Image(source:trunk/sophie2-platform/modules/org.sophie2.main.skin.alternative/src/main/resources/distrib/icons/sophie2/tab_bar_left_inactive.png)]] - tab_bar_left_inactive.png |
| 93 | * [[Image(source:trunk/sophie2-platform/modules/org.sophie2.main.skin.alternative/src/main/resources/distrib/icons/sophie2/tab_bar_right_active.png)]] - tab_bar_right_active.png |
| 94 | * [[Image(source:trunk/sophie2-platform/modules/org.sophie2.main.skin.alternative/src/main/resources/distrib/icons/sophie2/tab_bar_right_inactive.png)]] - tab_bar_right_inactive.png |