Ticket #2445 (closed feature: obsolete)
skinning-themes -- Implement skinning in Sophie
Reported by: | deyan | Owned by: | tanya |
---|---|---|---|
Priority: | major | Milestone: | X3 |
Component: | uncategorized | Version: | 2.0 |
Keywords: | Cc: | ||
Category: | unknown | Effort: | |
Importance: | Ticket_group: | ||
Estimated Number of Hours: | 0 | Add Hours to Ticket: | 0 |
Billable?: | yes | Total Hours: | 0 |
Analysis_owners: | deyan | Design_owners: | tanya |
Imp._owners: | tanya | Test_owners: | |
Analysis_reviewers: | tanya | Changelog: | Changelog |
Design_reviewers: | pap | Imp._reviewers: | |
Test_reviewers: | Analysis_score: | 3.5 | |
Design_score: | 3.5 | Imp._score: | 0 |
Test_score: | 0 |
Description (last modified by deyan) (diff)
Implement themes
- See behavior in Skinning/Themes
- Create a sample theme to show the capabilities of theme skins
Attachments
Change History
comment:1 Changed 15 years ago by deyan
- Owner set to deyan
- Status changed from new to s1a_analysis_started
comment:2 Changed 15 years ago by deyan
- Status changed from s1a_analysis_started to s1b_analysis_finished
- Description modified (diff)
comment:3 Changed 15 years ago by tanya
- Design_owners set to tanya
- Imp._owners set to tanya
- Analysis_reviewers set to tanya
comment:4 Changed 15 years ago by tanya
- Status changed from s1b_analysis_finished to s1c_analysis_ok
- Analysis_score changed from 0 to 3.5
- The task is to provide the functionality to change the theme by setting values to the ids via a file.
- No new skin ids will be added.
- At this moment, the types for theme can be - boolean, integer, icon, iconset, color, size, point. Only for them value loaders will be created.
comment:5 Changed 15 years ago by tanya
- Owner changed from deyan to tanya
- Status changed from s1c_analysis_ok to s2a_design_started
comment:6 Changed 15 years ago by tanya
- In the SkinManager class
- Singleton method is created to return an instance of the default theme pack.
- Singleton method is created to return an instance of the default interaction pack.
- 2 constants added - SkinManager.THEME_PACK_NAME and SkinManager.INTERACTION_PACK_NAME. These constants are for the default packs of the skin - for theme pack and interaction pack.
- 2 ConfigKeys added - CURRENT_THEME_SKIN and CURRENT_INTERACTION_SKIN.
- The constant DEFAULT_NAME is removed.
- Now there is no default pack. Now we have 3 packs - language, theme, intearction.
- Property currentSkin() is removed. Two new properties are added - currentThemePack() and currentInteractionPack().
- In the SkinUtil class
- getSkinValues method is fixed - now getSkinValues searches only in the currentSkin(). It should search in the currentLanguagePack() or in some other current pack depending on the value class.
- In the org.sophie2.base.commons module and the org.sophie2.base.commons.gui package new class added - MenuMemberMnemonic. Wrapper class for mnemonics. Its objects will be set as mnemonic for different MenuMembers. It will have one method getMnemonic():Integer. Now the mnemonic property of the MenuMember returns MenuMemberMnemonic and using getMnemonic() method we get integer which is the mnemonic itself.
- In BaseSkinModule class the field that is the instance of the SkinValueLoader extension point is renamed from skinEntryValuePoint to skinValueLoaderPoint.
- SkinUtil.getSkinValue method fixed. Code duplication reduced.
- SkinUtil.getSkinValues is changed to get values from the appropriate skin (depending on the value class).
- JavaDoc of the SkinPartsProvider fixed.
- JavaDoc of the SkinValueLoader fixed.
- SkinManager.createSkin changed to return the None value if skinDef is null.
- New method is created in ImageUtil class - loadIconByPath(String iconPath) : ImmImage. It loads an icon by given path (the path to the icon). The existing method loadIcon is refactored to use loadIconByPath. The path to the icon is the absolute path to the icon according to the distrib directory of the application.
comment:7 Changed 15 years ago by tanya
- Status changed from s2a_design_started to s2b_design_finished
comment:8 Changed 15 years ago by pap
- Status changed from s2b_design_finished to s2c_design_ok
- Design_score changed from 0 to 3.5
- Design_reviewers set to pap
- CURRENT_THEME_SKIN and CURRENT_INTERACTION_SKIN would better be called PACK
- MenuMemberMenmonic class should be renamed as it isn't only for menus, I think :)
- PointValueLoader -> ImmPointValueLoader ?? Beacuse Point is a class from the AWT.
- I still cannot understand why do you use "extension" and "extension point" in JavaDoc of classes and interfaces. They are used through that mechanism, but this doesn't make them such. MyTypeValueLoader loads MyType values from skin files no matter whether it is used through the EPs and Es.
- IconValueLoaderUtil - I think that you don't need that.
- Why have you written three separate properties for synchronization. Use three @Setup methods in one property.
- Not that it really matters but in the SkinUtil it is better to get the current pack, search in it and if no result is found then get the default pack. And not as you do get the default no matter whether it is needed.
comment:9 Changed 15 years ago by pap
- Also don't forget to give an example skin and to explain the formats of all the supported types. Without such information the theme is almost useless.
- Also we need the SkinRecordId-s of the SkinRecords that can be changed. It would be good if you give an idea about that :)
comment:10 Changed 15 years ago by tanya
- Status changed from s2c_design_ok to s3a_implementation_started
comment:11 Changed 15 years ago by tanya
[9240] in /branches/tanya/blackSkin
Formats of the values added to http://sophie2.org/trac/wiki/Skinning/Themes
comment:12 Changed 15 years ago by tanya
- Status changed from s3a_implementation_started to s3b_implementation_finished
comment:13 Changed 13 years ago by meddle
- Status changed from s3b_implementation_finished to closed
- Resolution set to obsolete
Closing all the tickets before M Y1
Note: See
TracTickets for help on using
tickets.