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

org.yaoqiang.bpmn.editor.dialog.XMLTabbedPanel Maven / Gradle / Ivy

package org.yaoqiang.bpmn.editor.dialog;

import java.awt.BorderLayout;
import java.awt.Component;
import java.util.List;

import javax.swing.JTabbedPane;

import org.yaoqiang.bpmn.model.elements.XMLElement;
import org.yaoqiang.dialog.PanelContainer;

/**
 * XMLTabbedPanel
 * 
 * @author Shi Yaoqiang([email protected])
 */
public class XMLTabbedPanel extends XMLPanel {

	private static final long serialVersionUID = 1L;

	private JTabbedPane tabbedPane;

	public XMLTabbedPanel(PanelContainer pc, XMLElement owner, List panels) {
		super(pc, owner);
		this.setLayout(new BorderLayout());
		tabbedPane = new JTabbedPane();
		for (int i = 0; i < panels.size(); i++) {
			XMLPanel p = panels.get(i);
			tabbedPane.addTab(p.getName(), p);
		}
		if (tabbedPane.getTabCount() > 0) {
			tabbedPane.setSelectedIndex(0);
		}
		add(tabbedPane);
	}

	public XMLPanel getTabbedPane(String name) {
		for (Component c : tabbedPane.getComponents()) {
			if (c instanceof XMLPanel && c.getName().equals(name)) {
				return (XMLPanel) c;
			}
		}
		return null;
	}

	public void addTabbedPane(XMLPanel panel) {
		if (getTabbedPane(panel.getName()) == null) {
			tabbedPane.addTab(panel.getName(), panel);
		}
	}
	
	public void removeTabbedPane(String name) {
		for (Component c : tabbedPane.getComponents()) {
			if (c instanceof XMLPanel && c.getName().equals(name)) {
				tabbedPane.remove(c);
			}
		}
	}
	
	public void saveObjects() {
		for (Component c : tabbedPane.getComponents()) {
			if (c instanceof XMLPanel) {
				((XMLPanel) c).saveObjects();
			}
		}
	}

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy