В настоящее время у меня есть приложение, использующее CssResource в gwt, подобное этому ...
interface MyClientBundle extends ClientBundle{
@Source("images/one.png")
Image someImageThatAlwaysLooksTheSame();
@Source("images/two.png")
Image someImageThatDependingOnTheClientThemeChanges();
@Source("css/main.css")
MyCssResource css();
}
И затем интерфейс CssResource
interface MyCssResource extends CssResource{
String someStyleThatNeverChanges();
String someStyleThatChangesDependingOnTheClient();
}
Если я переопределю MyClientBundle для создания интерфейса с именем MyPinkThemedClientBundle
interface MyClientBundle extends ClientBundle{
@Source("images/one.png")
Image someImageThatAlwaysLooksTheSame();
@Source("images/**twoPinkVersion**.png")
Image someImageThatDependingOnTheClientThemeChanges();
@Source("css/**mainPinkVersion**.css")
MyPinkCssResource css();
}
Тогда, конечно, MyPinkCssResource расширяет MyCssResource
interface MyPinkCssResource extends MyCssResource{
}
У меня проблема в том, что когда я пытаюсь скомпилировать это, компилятор GWT жалуется, что в файле css / mainPinkVersion.css отсутствует имя стиля someStyleThatNeverChanges. Я бы подумал, что интерфейс cssresource унаследует файл поддержки css своего суперкласса. Если это не так, возможно ли добиться эффекта расширения CssResource и переопределения только тех классов, которые вам интересны, но в противном случае использовать файл .css поддержки суперклассов?