⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cmtcomponentimpl.java

📁 SWT_designer安装软件
💻 JAVA
字号:
package com.swtdesigner.api.cmt;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import com.swtdesigner.model.JavaInfo;
import com.swtdesigner.model.swing.JavaBeanInfo;
import com.swtdesigner.model.util.model.IJavaInfoVisitor;

/**
 * @author scheglov_ke
 */
public class CmtComponentImpl implements CmtComponent {
	private final JavaBeanInfo m_component;
	private CmtComponent m_parent;
	private CmtComponent m_root;
	////////////////////////////////////////////////////////////////////////////
	//
	// Constructor
	//
	////////////////////////////////////////////////////////////////////////////
	public CmtComponentImpl(JavaBeanInfo component) {
		m_component = component;
	}
	////////////////////////////////////////////////////////////////////////////
	//
	// CmtComponent implementation
	//
	////////////////////////////////////////////////////////////////////////////
	public String getName() {
		return m_component.getVariableName();
	}
	public Object getLiveInstance() {
		return m_component.getBeanObject();
	}
	public CmtComponent getParent() {
		if (m_parent == null) {
			if (m_component.getParent() != null) {
				JavaBeanInfo parentComponent = (JavaBeanInfo) m_component.getParent();
				m_parent = new CmtComponentImpl(parentComponent);
			}
		}
		return m_parent;
	}
	public CmtComponent getRoot() {
		if (m_root == null) {
			if (m_component.getRoot() != null) {
				JavaBeanInfo rootComponent = (JavaBeanInfo) m_component.getRoot();
				m_root = new CmtComponentImpl(rootComponent);
			}
		}
		return m_root;
	}
	public List getChildren(Class componentClazz) {
		final List children = new ArrayList();
		for (Iterator I = m_component.getChildren().iterator(); I.hasNext();) {
			JavaInfo child = (JavaInfo) I.next();
			addFilteredChild(children, child, componentClazz);
		}
		return children;
	}
	public List getAllChildren(final Class componentClazz) {
		final List children = new ArrayList();
		m_component.accept(new IJavaInfoVisitor() {
			public boolean visit(JavaInfo info) {
				addFilteredChild(children, info, componentClazz);
				return true;
			}
		});
		return children;
	}
	private void addFilteredChild(List children, JavaInfo child, Class componentClazz) {
		if (child instanceof JavaBeanInfo) {
			JavaBeanInfo component = (JavaBeanInfo) child;
			if ((componentClazz == null) || componentClazz.isAssignableFrom(component.getComponentClass())) {
				children.add(new CmtComponentImpl(component));
			}
		}
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -