Package com.taobao.zeus.web.platform.client.app.document

Source Code of com.taobao.zeus.web.platform.client.app.document.DocumentViewImpl

package com.taobao.zeus.web.platform.client.app.document;

import com.google.gwt.user.client.ui.Widget;
import com.sencha.gxt.core.client.util.Margins;
import com.sencha.gxt.widget.core.client.ContentPanel;
import com.sencha.gxt.widget.core.client.container.BorderLayoutContainer;
import com.sencha.gxt.widget.core.client.container.BorderLayoutContainer.BorderLayoutData;
import com.sencha.gxt.widget.core.client.container.MarginData;
import com.sencha.gxt.widget.core.client.container.SimpleContainer;
import com.taobao.zeus.web.platform.client.util.PlatformContext;

public class DocumentViewImpl implements DocumentView {

  private final DocumentPresenter presenter;
  private final PlatformContext ctx;

  public DocumentViewImpl(PlatformContext ctx, DocumentPresenter presenter) {
    this.presenter = presenter;
    this.ctx = ctx;
  }

  private Widget widget;

  @Override
  public Widget asWidget() {
    if (widget == null) {
      final BorderLayoutContainer rootContainer = new BorderLayoutContainer();
      BorderLayoutData westLayout = new BorderLayoutData();
      westLayout.setMargins(new Margins(3));
      westLayout.setSplit(true);
      westLayout.setSize(200);
      westLayout.setCollapsible(true);
      westLayout.setCollapseMini(true);
      final ContentPanel fileManagerPanel = new ContentPanel();
      fileManagerPanel.setHeaderVisible(false);
      fileManagerPanel.setCollapsible(true);
      fileManagerPanel.setHeadingText("文件管理");
      // TODO 动画效果
      fileManagerPanel.setAnimCollapse(true);
      fileManagerPanel.setAnimationDuration(1000);
      final BorderLayoutContainer centerContainer = new BorderLayoutContainer();
      SimpleContainer wordContainer = new SimpleContainer();
      final ContentPanel tabContainer = new ContentPanel() {
//        @Override
//        protected void onAfterFirstAttach() {
//          super.onAfterFirstAttach();
//          centerContainer.hide(LayoutRegion.EAST);
//        }
      };
      tabContainer.setHeaderVisible(false);
      BorderLayoutData tabLayout = new BorderLayoutData();
      tabLayout.setSplit(true);
      tabLayout.setSize(300);
      tabLayout.setCollapsible(true);
      tabLayout.setCollapseMini(true);
      tabLayout.setMinSize(100);
      tabLayout.setMargins(new Margins(3, 3, 3, 5));
      centerContainer.setEastWidget(tabContainer, tabLayout);
      centerContainer.setCenterWidget(wordContainer, new MarginData(3));
      rootContainer.setWestWidget(fileManagerPanel, westLayout);
      rootContainer.setCenterWidget(centerContainer, new MarginData(3));
      presenter.getFileManagerPresenter().go(fileManagerPanel);
      presenter.getWordPresenter().go(wordContainer);
      presenter.getTableManagerPresenter().go(tabContainer);
      widget = rootContainer;

//      presenter
//          .getPlatformContext()
//          .getPlatformBus()
//          .addHandler(WordActiveEvent.TYPE,
//              new WordActiveEvent.WordActiveHandler() {
//                public void onActive(WordActiveEvent event) {
//                  if (event.getWord() instanceof HiveWord) {
//                    centerContainer.show(LayoutRegion.EAST);
//                  } else {
//                    centerContainer.hide(LayoutRegion.EAST);
//                  }
//                }
//              });
    }
    return widget;
  }
}
TOP

Related Classes of com.taobao.zeus.web.platform.client.app.document.DocumentViewImpl

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.