UIBinder 및 MVP를 사용하여 GWT 위젯을 작성하고 있습니다.GWT CssResource 사용자 정의
가위젯의 CssResource 인터페이스가 TheWidgetView.java에 정의되어
<ui:style type="com.widgetlib.spinner.display.TheWidgetView.MyStyle">
.textbox {
border: 1px solid #red;
}
.important {
font-weight: bold;
}
</ui:style>
:
public class TheWidgetView extends HorizontalPanel implements TheWidgetPresenter.Display {
// ... some code
@UiField MyStyle style;
public interface MyStyle extends CssResource {
String textbox();
String important();
}
// ... more code
}
내가이의 소비자 싶습니다 위젯의 기본 스타일은 TheWidgetView.ui.xml에 정의되어 있습니다 위젯은 위젯 스타일의 일부를 사용자 정의하고 해당 항목을 가질 수 있습니다. MyExample.ui.xml :
<ui:style type="com.consumer.MyExample.MyStyle">
.textbox {
border: 2px solid #black;
}
</ui:style>
그리고 이것이 그들의 MyExample.java 수 :
public class MyExample extends Composite {
// ... some code
@UiField MyStyle style;
interface MyStyle extends TheWidgetView.MyStyle{
String textbox();
}
// ... more code
}
내 위젯이 기본 스타일을 가질 수 있지만, 위젯의 소비자가 그들 중 하나를 오버라이드 (override) 할 수있는 방법이 있나요? 인터페이스가 TheWidgetView.MyStyle을 확장하면 위젯 소비자는 해당 부모 인터페이스에 나열된 모든 스타일을 정의해야합니다. 위젯의 생성자에 매개 변수로 ClientBundle을 사용하는 일부 위젯 라이브러리를 보았습니다. CssResource에 적용 할 수 있습니다. UIBinder가 호출 한 생성자에서이 스타일 객체를 어떻게 전달할 지 확신 할 수 없지만.
미리 감사드립니다.
누구나 CssResource '@eval'을 사용 했습니까? 그게 아마도 도움이 될까요? –
http://code.google.com/p/google-web-toolkit/issues/detail?id=4420#c1 –
UIBinder/MVP에 적용되지 않는 것 같습니다. http://googlewebtoolkit.blogspot.com/ 2008/12/gwt-no-need-to-shortchange-your-style.html –