Package edu.stanford.bmir.protege.web.client.ui

Source Code of edu.stanford.bmir.protege.web.client.ui.LayoutManager

package edu.stanford.bmir.protege.web.client.ui;

import com.gwtext.client.widgets.layout.ColumnLayoutData;
import com.gwtext.client.widgets.portal.Portlet;
import edu.stanford.bmir.protege.web.client.project.Project;
import edu.stanford.bmir.protege.web.client.rpc.data.layout.PortletConfiguration;
import edu.stanford.bmir.protege.web.client.rpc.data.layout.ProjectLayoutConfiguration;
import edu.stanford.bmir.protege.web.client.rpc.data.layout.TabConfiguration;
import edu.stanford.bmir.protege.web.client.ui.generated.UIFactory;
import edu.stanford.bmir.protege.web.client.ui.portlet.EntityPortlet;
import edu.stanford.bmir.protege.web.client.ui.tab.AbstractTab;

import java.util.ArrayList;
import java.util.List;

public class LayoutManager {
  private Project project;

  public LayoutManager(Project project) {
    this.project = project;
  }
 
  public List<AbstractTab> createTabs(ProjectLayoutConfiguration projectLayoutConfig) {
    List<AbstractTab> tabs = new ArrayList<AbstractTab>();
    List<TabConfiguration> tabConfigs = projectLayoutConfig.getTabs();
    for (TabConfiguration tabConfig : tabConfigs) {
      String tabName = tabConfig.getName();
      AbstractTab tab = createTab(tabName);
      if (tab != null) {
        setupTab(tab, tabConfig);
        tabs.add(tab);
      }
    }
    return tabs;
  }
 
  public AbstractTab createTab(String javaClassName) {
    AbstractTab tab = UIFactory.createTab(project, javaClassName);
    return tab;
  }
 
  public void setupTab(AbstractTab tab, TabConfiguration tabConfig) {
    tab.setTabConfiguration(tabConfig);
    tab.setup();
  }
 
//  public EntityPortlet createPortlet(PortletConfiguration portletConfig) {
//    if (portletConfig == null) {return null;}
//    String name = portletConfig.getName();
//    EntityPortlet portlet = UIFactory.createPortlet(project, name);
//    if (portlet == null) {return null;}
//    return portlet;
//  }
 
  public ColumnLayoutData[] createColumnLayoutData(List<Float> cols) {
    if (cols == null) { return null; }
    ColumnLayoutData[] cld = new ColumnLayoutData[cols.size()];
    for (int i = 0; i< cols.size(); i++) {
      cld[i] = new ColumnLayoutData(cols.get(i));
    }
    return cld;
  }
 
  public PortletConfiguration createPortletConfiguration(EntityPortlet portlet) {
    if (portlet == null) { return null; }
    PortletConfiguration portletConfiguration = new PortletConfiguration();
    portletConfiguration.setName(portlet.getClass().getName());
    portletConfiguration.setHeight(((Portlet)portlet).getHeight());
    portletConfiguration.setWidth(((Portlet)portlet).getWidth());
    return portletConfiguration;
  }
 
  public void removeTab(AbstractTab tab) {
    TabConfiguration tabConfig = tab.getTabConfiguration();
    if (tabConfig == null) { return; }
    project.getProjectLayoutConfiguration().removeTab(tabConfig);
  }
 
  public AbstractTab addTab(String javaClassName) {
    AbstractTab tab = createTab(javaClassName);
    if (tab == null) { return null; }
    setupTab(tab, tab.getDefaultTabConfiguration());
    project.getProjectLayoutConfiguration().addTab(tab.getTabConfiguration());
    return tab;
  }

 
}
TOP

Related Classes of edu.stanford.bmir.protege.web.client.ui.LayoutManager

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.