The type attribute just refers to the class implementing IconProvider.
In your case, it would be something like "package.MainController".
-Bryan
>>> [EMAIL PROTECTED] 03/18/05 09:38PM >>>
Is that actually the syntax I am supposed to have in my jsp? I am not
sure I understand what is supposed to go into the type="" attribute. Is
it not using EL? I can't seem to find any documentation on it in the
JavaDocs or in the archives.
<x:iconProvider type="backing.TreeBean"/>
public class MainController implements IconProvider {
private DefaultTreeModel treeModel;
public MainController() {
DefaultMutableTreeNode root = new DefaultMutableTreeNode(new
TreeItem(1, "XY", "9001", "XY 9001"));
DefaultMutableTreeNode a = new DefaultMutableTreeNode(new
TreeItem(2, "A", "9001", "A 9001"));
root.insert(a);
DefaultMutableTreeNode b = new DefaultMutableTreeNode(new
TreeItem(3, "B", "9001", "B 9001"));
root.insert(b);
DefaultMutableTreeNode c = new DefaultMutableTreeNode(new
TreeItem(4, "C", "9001", "C 9001"));
root.insert(c);
DefaultMutableTreeNode node = new DefaultMutableTreeNode(new
TreeItem(5, "a1", "9002", "a1 9002"));
a.insert(node);
node = new DefaultMutableTreeNode(new TreeItem(6, "a2", "9002",
"a2 9002"));
a.insert(node);
node = new DefaultMutableTreeNode(new TreeItem(7, "a3", "9002",
"a3 9002"));
a.insert(node);
node = new DefaultMutableTreeNode(new TreeItem(8, "b", "9002",
"b 9002"));
b.insert(node);
a = node;
node = new DefaultMutableTreeNode(new TreeItem(9, "x1", "9003",
"x1 9003"));
a.insert(node);
node = new DefaultMutableTreeNode(new TreeItem(9, "x2", "9003",
"x2 9003"));
a.insert(node);
this.treeModel = new DefaultTreeModel(root);
}
public String getIconUrl(Object arg0, int arg1, boolean arg2) {
return "/images/tree/node.gif";
}
public DefaultTreeModel getTreeModel() {
return treeModel;
}
public void setTreeModel(DefaultTreeModel treeModel) {
this.treeModel = treeModel;
}
}
Bryan Dickey wrote:
> This should work (for the old tree table comp, which may be replaced
> soon - see archived "tree2" messages):
>
> *In JSP:
> <x:tree ...>
> ....
> <x:iconProvider type="backing.TreeBean"/>
> </x:tree>
>
>
> *In backing bean:
>
> import org.apache.myfaces.custom.tree.IconProvider;
>
> public class TreeBean implements IconProvider {
> ....
> //interface IconProvider (path to node icon)
> public String getIconUrl(Object arg0, int arg1, boolean arg2) {
> return "images/tree/node.gif";
> }
> }
>
> -Bryan
>
>>>> [EMAIL PROTECTED] 03/16/05 10:29PM >>>
>>>
> Version: 1.0.8
>
> I am making use of the <x:tree> component but am having trouble
getting
>
> the folder.gif icon to show up in my app, though it shows up fine in
> myfaces-examples. I am not seeing where I can specify a particular
> image for this. The rest of the icon's show up just fine. Another
> fella has this same problem in the forums, but nobody has replied to
> him
> yet.
>
> Thoughts? Thanks in advance,
> Aaron Bartell
>
> Here is my code:
> <x:tree id="tree"
> value="#{MainCtl.treeModel}"
> var="treeItem"
> styleClass="tree"
> nodeClass="treenode"
> headerClass="treeHeader"
> footerClass="treeFooter"
> rowClasses="a, b"
> columnClasses="col1, col2"
> selectedNodeClass="treenodeSelected"
> expandRoot="true"
> iconChildFirst="/images/tree/line_first.gif"\
> iconChildMiddle="/images/tree/line_middle.gif"
> iconChildLast="/images/tree/line_last.gif"
>
> iconLine="/images/tree/line.gif"
> iconNoline="/images/tree/noline.gif"
>
> iconNodeClose="/images/tree/node_close.gif"
>
> iconNodeCloseFirst="/images/tree/node_close_first.gif"
> iconNodeCloseLast="/images/tree/node_close_last.gif"
>
> iconNodeCloseMiddle="/images/tree/node_close_middle.gif"
>
> iconNodeOpen="/images/tree/node_open.gif"
>
> iconNodeOpenFirst="/images/tree/node_open_first.gif"
> iconNodeOpenLast="/images/tree/node_open_last.gif"
> iconNodeOpenMiddle="/images/tree/node_open_middle.gif"
> >
> <h:column>
> <f:facet name="header">
> <h:outputText value="Header 1" />
> </f:facet>
> <h:outputText value="#{treeItem.isoCode}" />
> </h:column>
> <x:treeColumn>
> <f:facet name="header">
> <h:outputText value="Header 2" />
> </f:facet>
> <h:outputText value="#{treeItem.name}" />
> </x:treeColumn>
> <h:column>
> <f:facet name="header">
> <h:outputText value="Header 3" />
> </f:facet>
> <h:outputText value="#{treeItem.description}" />
> </h:column>
> <f:facet name="footer">
> <h:outputText value="Footer" />
> </f:facet>
> </x:tree>
>