This approach will bind your hands in further attempts to make any 
look&feel overhaul. For some flexibility, try to use compile time constants 
for annotation values. E.g. you've got some interface Styles, which might 
extend an interface ThemeMoonsky or interface ThemeSunshine not inclusive:

/** Theme 1 */
interface ThemeMoonsky extends BasicStyles {
    String BODY_BACKGROUND_COLOR = "#333";
}

/** Theme 2 */
interface ThemeSunshine extends BasicStyles {
    String BODY_BACKGROUND_COLOR = "#F0F";
}

/** Some very generic styles */
inteface BasicStyles {
    String BODY_TEXT_COLOR = "black";
    String HEADER_FONT = "18px bold sans-serif blue"; 
}

/**
 * You styles interface, where you get all constants from.
 * Extend ThemeSunshine to have your site restyled
 */
interface Styles extends ThemeMoonsky {
    // Empty body
}

somewhere in your code:

        @Background(Styles.BODY_BACKGROUND_COLOR)
        protected Widget getLabel() {
                return label;
        }


Well, you get the idea. But it's still not amenable for runtime user 
sensitive interactions ;-\

-- 
You received this message because you are subscribed to the Google Groups 
"Google Web Toolkit" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/google-web-toolkit/-/1Ig643gMtgcJ.
To post to this group, send email to google-web-toolkit@googlegroups.com.
To unsubscribe from this group, send email to 
google-web-toolkit+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-web-toolkit?hl=en.

Reply via email to