indexbean.java

来自「OperaMasks是一种基于J2EE的Web开发技术」· Java 代码 · 共 172 行

JAVA
172
字号
package demo;

import org.operamasks.faces.annotation.Accessible;
import org.operamasks.faces.annotation.Action;
import org.operamasks.faces.annotation.Bind;
import org.operamasks.faces.annotation.ManagedBean;
import org.operamasks.faces.annotation.ManagedBeanScope;
import org.operamasks.faces.annotation.SaveState;
import org.operamasks.faces.component.html.impl.UIIFrame;
import org.operamasks.faces.component.layout.impl.UIPanel;
import org.operamasks.faces.component.tree.base.TreeDataProvider;
import org.operamasks.faces.component.tree.impl.UITree;
import org.operamasks.faces.component.tree.impl.UITreeNode;

import demo.common.RcdemoTreeNode;
import demo.common.TreeDataLoader;

@SuppressWarnings("unused")
@ManagedBean(name = "IndexBean", scope = ManagedBeanScope.SESSION)
public class IndexBean {
	@Bind
	private UITree componentTree;

	@Bind
	private UIPanel center;

	@Accessible
	private RcdemoTreeNode selectedNode;

	private RcdemoTreeNode selectedLeaf;

	private String activatePanel = "contentPanel";

	@Bind
	private UIPanel contentPanel;

	@Bind
	private UIPanel sourcePanel;

	@Bind
	private UIPanel jspSourcePanel;

	@Bind
	private UIIFrame contentPanelUpdater;

	@Bind
	private UIIFrame sourcePanelUpdater;

	@Bind
	private UIIFrame jspSourcePanelUpdater;

	@Action
	public void contentPanel_onactivate() {
		activatePanel = "contentPanel";
		if (contentPanelUpdater.getSrc() == null
				|| contentPanelUpdater.getSrc().equals("")) {
			if (selectedLeaf == null)
				contentPanelUpdater.load("/common/welcome.jsf");
			else
				contentPanelUpdater.load("/"
						+ selectedLeaf.getUrl().replace(".", "/") + ".jsf");
		}
	}

	@Action
	public void sourcePanel_onactivate() {
		activatePanel = "sourcePanel";
		if (sourcePanelUpdater.getSrc() == null
				|| sourcePanelUpdater.getSrc().equals("")) {
			if (selectedLeaf != null && selectedLeaf.getMbsrc() != null
					&& selectedLeaf.getMbsrc().size() > 0){
				sourcePanelUpdater.setSrc("/common/javaSource.jsf");
				sourcePanelUpdater.repaint();
			} else {
				sourcePanelUpdater.setSrc("/common/source-notfound.html");
				sourcePanelUpdater.repaint();
			}
		}
	}

	@Action
	public void jspSourcePanel_onactivate() {
		activatePanel = "jspSourcePanel";
		if (jspSourcePanelUpdater.getSrc() == null
				|| jspSourcePanelUpdater.getSrc().equals("")) {
			jspSourcePanelUpdater.setSrc("/common/jspSource.jsf");
			jspSourcePanelUpdater.repaint();
		}
	}

	@Bind(id = "componentTree")
	private TreeDataProvider treeData = new TreeDataProvider() {
		public Object[] getChildren(Object userData) {
			return TreeDataLoader.getInstance().getChildren(userData);
		}

		public String getHref(Object userData) {
			return null;
		}

		public String getHrefTarget(Object userData) {
			return TreeDataLoader.getInstance().getRcdemoTreeNode(userData).getUrl();
		}

		public String getIcon(Object userData) {
			return "";
		}

		public String getText(Object userData) {
			return TreeDataLoader.getInstance().getText(userData);
		}

		public boolean isCascade(Object userData) {
			return false;
		}

		public Boolean isChecked(Object userData) {
			return null;
		}

		public boolean isExpanded(Object userData) {
			return TreeDataLoader.getInstance().isExpended(userData);
		}
	};

	@Action
	public void componentTree_onselect() {
		UITreeNode node = componentTree.getEventNode();
		if (node != null && node.getUserData() != null) {
			selectedNode = TreeDataLoader.getInstance().getRcdemoTreeNode(
					node.getUserData());
			if (selectedNode.isLeaf()) {
				selectedLeaf = TreeDataLoader.getInstance().getRcdemoTreeNode(
						node.getUserData());
				if (activatePanel.equalsIgnoreCase("jspSourcePanel")) {
					jspSourcePanelUpdater.setSrc("/common/jspSource.jsf");
					jspSourcePanelUpdater.repaint();
					sourcePanelUpdater.setSrc(null);
					contentPanelUpdater.setSrc(null);
				} else if (activatePanel.equalsIgnoreCase("sourcePanel")) {
					if (selectedLeaf.getMbsrc() != null
							&& selectedLeaf.getMbsrc().size() > 0){
						sourcePanelUpdater.setSrc("/common/javaSource.jsf");
						sourcePanelUpdater.repaint();
					}
					else{
						sourcePanelUpdater.setSrc("/common/source-notfound.html");
						sourcePanelUpdater.repaint();
					}
					jspSourcePanelUpdater.setSrc(null);
					contentPanelUpdater.setSrc(null);
				} else {
					contentPanelUpdater.load("/"
							+ selectedLeaf.getUrl().replace(".", "/") + ".jsf");
					jspSourcePanelUpdater.setSrc(null);
					sourcePanelUpdater.setSrc(null);
				}
				center.setTitle(selectedLeaf.getText());
				contentPanel.setTitle(selectedLeaf.getText());
			}
		}
	}

	public RcdemoTreeNode getSelectedLeaf() {
		return selectedLeaf;
	}

	public void setSelectedLeaf(RcdemoTreeNode selectedLeaf) {
		this.selectedLeaf = selectedLeaf;
	}
}

⌨️ 快捷键说明

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