package org.primefaces.examples.view; import java.io.Serializable; import java.util.logging.Logger; import javax.faces.application.FacesMessage; import javax.faces.context.FacesContext; import org.primefaces.event.ColumnResizeEvent; import org.primefaces.event.NodeCollapseEvent; import org.primefaces.event.NodeExpandEvent; import org.primefaces.event.NodeSelectEvent; import org.primefaces.event.NodeUnselectEvent; import org.primefaces.model.DefaultTreeNode; import org.primefaces.model.TreeNode; import org.primefaces.examples.domain.Document; public class DocumentsController implements Serializable { private static final Logger logger = Logger.getLogger(DocumentsController.class.getName()); private TreeNode root; private TreeNode selectedNode; private TreeNode[] selectedNodes; private Document selectedDocument; private boolean liveResize; public DocumentsController() { root = new DefaultTreeNode(new Document("Files", "-", "Folder"), null); TreeNode documents = new DefaultTreeNode(new Document("Documents", "-", "Folder"), root); TreeNode pictures = new DefaultTreeNode(new Document("Pictures", "-", "Folder"), root); TreeNode movies = new DefaultTreeNode(new Document("Movies", "-", "Folder"), root); TreeNode work = new DefaultTreeNode(new Document("Work", "-", "Folder"), documents); TreeNode primefaces = new DefaultTreeNode(new Document("PrimeFaces", "-", "Folder"), documents); //Documents TreeNode expenses = new DefaultTreeNode("document", new Document("Expenses.doc", "30 KB", "Word Document"), work); TreeNode resume = new DefaultTreeNode("document", new Document("Resume.doc", "10 KB", "Word Document"), work); TreeNode refdoc = new DefaultTreeNode("document", new Document("RefDoc.pages", "40 KB", "Pages Document"), primefaces); //Pictures TreeNode barca = new DefaultTreeNode("picture", new Document("barcelona.jpg", "30 KB", "JPEG Image"), pictures); TreeNode primelogo = new DefaultTreeNode("picture", new Document("logo.jpg", "45 KB", "JPEG Image"), pictures); TreeNode optimus = new DefaultTreeNode("picture", new Document("optimusprime.png", "96 KB", "PNG Image"), pictures); //Movies TreeNode pacino = new DefaultTreeNode(new Document("Al Pacino", "-", "Folder"), movies); TreeNode deniro = new DefaultTreeNode(new Document("Robert De Niro", "-", "Folder"), movies); TreeNode scarface = new DefaultTreeNode("mp3", new Document("Scarface", "15 GB", "Movie File"), pacino); TreeNode carlitosWay = new DefaultTreeNode("mp3", new Document("Carlitos' Way", "24 GB", "Movie File"), pacino); TreeNode goodfellas = new DefaultTreeNode("mp3", new Document("Goodfellas", "23 GB", "Movie File"), deniro); TreeNode untouchables = new DefaultTreeNode("mp3", new Document("Untouchables", "17 GB", "Movie File"), deniro); } public TreeNode getRoot() { return root; } public void setRoot(TreeNode root) { this.root = root; } public Document getSelectedDocument() { return selectedDocument; } public void setSelectedDocument(Document selectedDocument) { this.selectedDocument = selectedDocument; } public TreeNode getSelectedNode() { return selectedNode; } public void setSelectedNode(TreeNode selectedNode) { this.selectedNode = selectedNode; } public TreeNode[] getSelectedNodes() { return selectedNodes; } public void setSelectedNodes(TreeNode[] selectedNodes) { this.selectedNodes = selectedNodes; } public void onNodeExpand(NodeExpandEvent event) { FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_INFO, "Expanded", event.getTreeNode().toString()); FacesContext.getCurrentInstance().addMessage(null, message); } public void onNodeCollapse(NodeCollapseEvent event) { FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_INFO, "Collapsed", event.getTreeNode().toString()); FacesContext.getCurrentInstance().addMessage(null, message); } public void onNodeSelect(NodeSelectEvent event) { FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_INFO, "Selected", event.getTreeNode().toString()); FacesContext.getCurrentInstance().addMessage(null, message); } public void onNodeUnselect(NodeUnselectEvent event) { FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_INFO, "Unselected", event.getTreeNode().toString()); FacesContext.getCurrentInstance().addMessage(null, message); } public void onResize(ColumnResizeEvent event) { FacesMessage msg = new FacesMessage("Column " + event.getColumn().getColumnKey() + " resized", "W:" + event.getWidth() + ", H:" + event.getHeight()); FacesContext.getCurrentInstance().addMessage(null, msg); } public void deleteNode() { selectedNode.getChildren().clear(); selectedNode.getParent().getChildren().remove(selectedNode); selectedNode.setParent(null); selectedNode = null; } public boolean isLiveResize() { return liveResize; } public void setLiveResize(boolean liveResize) { this.liveResize = liveResize; } }