You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@wicket.apache.org by Malik786 <ma...@yahoo.com> on 2009/02/11 15:50:58 UTC

Wicket question

I have made a tree and this is working fine but i am facing a problem when i
want to click on the tree node so it doesnot work(expand).Can some one help
me in this matter? Help me as soon as possible. Thanks in advance.

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.DefaultTreeModel;
import javax.swing.tree.TreeModel;
import javax.swing.tree.TreeNode;
import org.apache.wicket.ajax.AjaxRequestTarget; 

import no.vismaunique.ebilag.data.Bilag;
import no.vismaunique.ebilag.data.BilagNivaaKode;
import no.vismaunique.ebilag.data.Oppgave;
import no.vismaunique.ebilag.db.EbilaghdFunctions;
import no.webcenter.webmal.okonomi.e30.SelRegAar;

import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.ajax.markup.html.AjaxLink;
import org.apache.wicket.extensions.markup.html.tree.*;
import
org.apache.wicket.extensions.markup.html.tree.DefaultAbstractTree.LinkType;
import org.apache.wicket.Page;

import org.apache.wicket.markup.html.link.Link;
import org.apache.wicket.markup.html.panel.Panel;
import org.apache.wicket.markup.html.tree.AbstractTree;

public class VenstrePanel extends Panel implements Serializable {

	private static final long serialVersionUID = 1L;

	public VenstrePanel(String id) {
		super(id);

		// create a list with sublists
		String user = ((EBilagSession) getSession()).getUser();
		SelRegAar selRegAar = new SelRegAar(1, 0, 2008);
		List l1 = new ArrayList();

		for (BilagNivaaKode bilagkode : BilagNivaaKode.values()) {
			ArrayList temp = (ArrayList) EbilaghdFunctions.hentEbilag(selRegAar,
user, bilagkode); 
			
			if(temp.size() > 0)
				l1.add(temp);

		};

 		TreeModel treeModel = convertToTreeModel(l1);

		final Tree tree = new Tree("tre", treeModel) {
			
			protected String renderNode(TreeNode node) {
				DefaultMutableTreeNode treeNode = (DefaultMutableTreeNode) node;
				Object userObject = treeNode.getUserObject();
				String text = "";
				
				if (userObject instanceof List) {

						if(((List) userObject).size() > 0)
						{
							Bilag bilag = ((Bilag)((List)userObject).get(0));
							text = bilag.getNivaaKode().getDescription(null);
						}
				} 

				else if (userObject instanceof Oppgave) {
					Oppgave oppgave = (Oppgave) userObject;
					text = oppgave.getNavn();
				}
				return text;

			}
		};
		tree.setRootLess(true);
		tree.setLinkType(LinkType.AJAX);

		add(tree);

		add(new AjaxLink("expandAll") {
			@Override
			public void onClick(AjaxRequestTarget target) {
				// TODO Auto-generated method stub
				tree.getTreeState().expandAll();
				target.addComponent(tree);

			}
		});

		add(new AjaxLink("collapseAll") {

			@Override
			public void onClick(AjaxRequestTarget target) {
				tree.getTreeState().collapseAll();
				target.addComponent(tree);
			}
		});
		

	}

	private void add(DefaultMutableTreeNode parent, List sub) {
		for (Iterator i = sub.iterator(); i.hasNext();) {
			Object o = i.next();
			if (o instanceof List) {
				DefaultMutableTreeNode child = new DefaultMutableTreeNode(o);
				parent.add(child);
				add(child, (List) o);
			} else {
				DefaultMutableTreeNode child = new DefaultMutableTreeNode(o);
				parent.add(child);
			}
		}
	}

	private TreeModel convertToTreeModel(List list) {
		TreeModel model = null;
		DefaultMutableTreeNode rootNode = new DefaultMutableTreeNode("Tre");
		add(rootNode, list);
		model = new DefaultTreeModel(rootNode);
		return model;
	}

}

-- 
View this message in context: http://www.nabble.com/Wicket-question-tp21956601p21956601.html
Sent from the Wicket - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org