Присоединение ImageResource из внешнего файла CSS с помощью @sprite - PullRequest
4 голосов
/ 05 апреля 2011

Я пытаюсь использовать CssResource и ImageResource вместе в проекте GWT2.2.

CssResource и обфускация работают правильно, но у меня проблемы с доступом к изображениям.

Я уже могу получить доступ к изображениям через ImageResource напрямую из файлов ui.xml следующим образом:

<ui:with type="com.example.client.resource.ResourceBundle" field="myResource"/>
<g:Image resource="{myResource.image}"/>

Но я не могу прикрепить ImageResource из внешних .css файлов, используя @sprite.

У меня есть следующие интерфейсы:

public interface ResourceBundle extends ClientBundle {
ResourceBundle INSTANCE = GWT.create (ResourceBundle.class);

    @Source("com/example/client/resource/images/image.png")
    ImageResource image();

    @Source("com/example/client/resource/css/mystyle.css")
    MyCssResource myCssResource();
    }

public interface MyCssResource extends CssResource {
    String className();
}

А когда я добавляю спрайт в файл css,

@sprite .className {
    gwt-image: 'image';
}

Я получил следующее сообщение об ошибке:

[ERROR] - Unable to find ImageResource method value("image") in
com.example.client.views.MyView_BinderImpl_GenBundle : Could not find 
no-arg method named image in type com.example.views.MyView_BinderImpl_GenBundle

1 Ответ

2 голосов
/ 05 апреля 2011

Вы можете получить доступ к своим стилям из шаблонов UiBinder следующим образом:

<ui:with type="com.example.client.resource.ResourceBundle" field="myResource"/>

<g:FlowPanel styleName="{myResource.myCssResource.className}"/>
...