All Downloads are FREE. Search and download functionalities are using the official Maven repository.

cn.ennwifi.webframe.ui.client.modules.meta.MetaDataModule Maven / Gradle / Ivy

There is a newer version: 2.3.0
Show newest version
package cn.ennwifi.webframe.ui.client.modules.meta;



import cn.ennwifi.webframe.ui.shared.repository.S_METAObj;
import cn.mapway.ui.client.frames.AbstractModule;
import cn.mapway.ui.client.mvc.ModuleMarker;

import com.google.gwt.core.client.GWT;
import com.google.gwt.event.logical.shared.SelectionEvent;
import com.google.gwt.event.logical.shared.SelectionHandler;
import com.google.gwt.uibinder.client.UiBinder;
import com.google.gwt.uibinder.client.UiField;
import com.google.gwt.user.client.ui.FlexTable;
import com.google.gwt.user.client.ui.TreeItem;
import com.google.gwt.user.client.ui.Widget;
import com.ksyzt.gwt.client.event.MessageEvent;
import com.ksyzt.gwt.client.event.MessageHandler;

/**
 * The type Meta data module.
 */
@ModuleMarker(value = MetaDataModule.MODEULE_CODE, group = "/系统",name = "元数据管理", icon = "meta.png")
public class MetaDataModule extends AbstractModule {

    /**
     * The constant MODEULE_CODE.
     */
    public final static String MODEULE_CODE = "MC_META_DATA";

  @Override
  public String getModuleCode() {
    return MODEULE_CODE;
  }

  private static MetaDataModuleUiBinder uiBinder = GWT.create(MetaDataModuleUiBinder.class);

    /**
     * The interface Meta data module ui binder.
     */
    interface MetaDataModuleUiBinder extends UiBinder {
  }

  private SelectionHandler metaSelectHandler = new SelectionHandler() {

    @Override
    public void onSelection(SelectionEvent event) {
      S_METAObj meta = (S_METAObj) event.getSelectedItem().getUserObject();
      if (meta != null) {
        editor.editMeta(meta);
        treeToUI(event.getSelectedItem());
      } else {
        editor.createRoot();
        treeToUI(event.getSelectedItem());
      }
    }
  };
  private MessageHandler editorHandler = new MessageHandler() {

    @Override
    public void onMessage(Object sender, Integer message, Object value) {
      if (message == MessageEvent.REFRESH) {
        tree.loadData();
      }
    }
  };

  @Override
  public boolean initialize(cn.mapway.ui.client.mvc.IModule parentModule,
      cn.mapway.ui.client.mvc.ModuleParameter parameters) {
    boolean b = super.initialize(parentModule, parameters);
    tree.loadData();
    updateTools(editor.tools);
    return b;
  };


    /**
     * Tree to ui.
     *
     * @param selectedItem the selected item
     */
    protected void treeToUI(TreeItem selectedItem) {
    tbl.removeAllRows();
    int count = selectedItem.getChildCount();
    for (int i = 0; i < count; i++) {
      TreeItem item = selectedItem.getChild(i);
      S_METAObj meta = (S_METAObj) item.getUserObject();
      tbl.setText(i, 0, meta.getName());
      tbl.setText(i, 1, meta.getCode());
    }
  }


    /**
     * Instantiates a new Meta data module.
     */
    public MetaDataModule() {
    initModuleWidget(uiBinder.createAndBindUi(this));
    tree.addSelectionHandler(metaSelectHandler);
    editor.addMessageHandler(editorHandler);
  }

  @Override
  public Widget getRootWidget() {
    return this;
  }

    /**
     * The Editor.
     */
    @UiField
  EditMeta editor;
    /**
     * The Tree.
     */
    @UiField
  MetaTree tree;

    /**
     * The Tbl.
     */
    @UiField
  FlexTable tbl;

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy