Package com.waxayaz.TomcatMI.ui.components

Source Code of com.waxayaz.TomcatMI.ui.components.InstanceTabPane

/**
*
*/
package com.waxayaz.TomcatMI.ui.components;

import java.util.HashMap;
import java.util.Map;

import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.CTabFolder;
import org.eclipse.swt.custom.CTabFolder2Adapter;
import org.eclipse.swt.custom.CTabFolderEvent;
import org.eclipse.swt.custom.CTabItem;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Display;

import com.waxayaz.TomcatMI.core.domains.TomcatInstance;
import com.waxayaz.TomcatMI.ui.MainWindow;

/**
* @author Waxayaz
*
*/
public class InstanceTabPane {

  /**
   *
   */
  private static final long serialVersionUID = 4704450729306739988L;
 
  private CTabFolder tabPane;
  private Display display = MainWindow.display;
  private Map<String, CTabItem> openedInstances =new HashMap<String, CTabItem>();
 
  public InstanceTabPane(Composite parent) {
    tabPane = new CTabFolder(parent, SWT.BORDER);
    tabPane.setBorderVisible(true);
    tabPane.setLayoutData(new GridData(GridData.FILL_BOTH));
    tabPane.setSimple(false);
   
    // Close Tab Listener
    tabPane.addCTabFolder2Listener(new CTabFolder2Adapter() {
      public void close(CTabFolderEvent event) {
        if (openedInstances.containsValue(event.item)) {
          for(String s : openedInstances.keySet()) {
            if(openedInstances.get(s).equals(event.item)) {
              openedInstances.remove(s);
              return;
            }
          }
        }
        //System.gc();
      }
    });
   
  }
 
 
  public void addInstanceTab(TomcatInstance instance) {
   
    if(openedInstances.get(instance.getName()) == null) {
      InstanceTab tab = new InstanceTab(tabPane, display, instance);
      openedInstances.put(instance.getName(), tab.getTabItem());
      tabPane.setSelection(tabPane.getItemCount()-1);
    } else {
      tabPane.setSelection(openedInstances.get(instance.getName()));
    }
  }

}
TOP

Related Classes of com.waxayaz.TomcatMI.ui.components.InstanceTabPane

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.