首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >smartgwt + gin代码拆分

smartgwt + gin代码拆分
EN

Stack Overflow用户
提问于 2013-03-20 21:47:10
回答 1查看 325关注 0票数 0

我正在寻找的例子,以使用代码拆分与gin和smartgwt…

在我的简单应用程序中,我有两个模块AutoLoadModuleWindowModule。在我的简单应用程序中,我只需要在某个按钮被点击时加载一个窗口。

我的窗口模块包含:

代码语言:javascript
复制
@Override
protected void configure() {
    bind(MainWindow.class).in(Singleton.class);

}

和我的MainWindow

代码语言:javascript
复制
@Singleton
public class MainWindow extends Window implements SessionStatusChangedEvent.Handler {

    private final XmppSession session;

    @Inject
    private MainWindow(XmppSession session) {

        Log.debug("Constructor ImMainWindow... !");

        this.session = session;
        initComponent();
    }
    ....................

在我的AutoLoadModule中,我绑定了AutoLoad asEagerSingleton();

代码语言:javascript
复制
    @Override
    protected void configure() {
    bind(StartButton.class).toProvider(StartChatButtonProvider.class);
        bind(AutoLoader.class).asEagerSingleton();

    }

我的AutoLoader类:

代码语言:javascript
复制
@Singleton
public class AutoLoader implements Scheduler.ScheduledCommand {

private final XmppConnection connection;
@Nullable
private final ImStartButton startButton;

    @Inject
    protected AutoLoader(final XmppConnection connection, final XmppSession session,
             final StartButton startButton) {
    this.startButton = startButton;

    Scheduler.get().scheduleDeferred(this);
    }

    @Override
    public final void execute() {
    startButton.addClickHandler(new ClickHandler() {

        @Override
        public void onClick(ClickEvent event) {
            Log.debug("StartButton click handler...");
                    //load window in this point but how ? ....
        }
    });
    }
}

当window在WindowModule中时,可以使用代码拆分来加载窗口实例吗?在我的示例应用程序中,我只需要使用代码拆分按需加载窗口,并且该窗口必须在gin模块中。

EN

回答 1

Stack Overflow用户

发布于 2013-03-20 22:07:49

不确定你想在哪里拆分代码,但是使用gin你可以利用AsyncProviders,让git来拆分你的代码。

代码语言:javascript
复制
@Inject
protected AutoLoader(
         final XmppConnection connection, 
         final XmppSession session,
         final StartButton startButton, 
         final AsyncProvider<MainWindow> mainProvider) {

  ...

  @Override
  public final void execute() {
    startButton.addClickHandler(new ClickHandler() {
      @Override
      public void onClick(ClickEvent event) {

        // Here Gin would split the code
        mainProvider.get(new AsyncCallback<MainWindow>() {
          public void onSuccess(MainWindow main) {
           ...
          }
        }

      }
    });
  }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15525382

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档