From: <tri...@us...> - 2009-01-21 23:05:28
|
Revision: 988 http://equanda.svn.sourceforge.net/equanda/?rev=988&view=rev Author: triathlon98 Date: 2009-01-21 23:05:15 +0000 (Wed, 21 Jan 2009) Log Message: ----------- EQ-194 example for TreeTable Modified Paths: -------------- t5-equanda-example/src/main/java/org/equanda/example/t5/data/DemoTree.java t5-equanda-example/src/main/java/org/equanda/example/t5/pages/Start.java t5-equanda-example/src/main/resources/org/equanda/example/t5/pages/Start.tml Modified: t5-equanda-example/src/main/java/org/equanda/example/t5/data/DemoTree.java =================================================================== --- t5-equanda-example/src/main/java/org/equanda/example/t5/data/DemoTree.java 2009-01-21 14:55:42 UTC (rev 987) +++ t5-equanda-example/src/main/java/org/equanda/example/t5/data/DemoTree.java 2009-01-21 23:05:15 UTC (rev 988) @@ -36,36 +36,53 @@ * @author Geert Mergan */ public class DemoTree - implements Tree + implements Tree<DemoTree> { - private List<Tree> children; + private List<DemoTree> children; private String label; + private String capital; + private String inhabitants; public DemoTree( String label ) { this.label = label; } - public List<Tree> getChildren() + public DemoTree( String label, String capital, String inhabitants ) { + this.label = label; + this.capital = capital; + this.inhabitants = inhabitants; + } + + public List<DemoTree> getChildren() + { return children; } - public void setChildren( List<Tree> children ) + public void setChildren( List<DemoTree> children ) { this.children = children; } + public boolean isLeaf() + { + return children == null; + } + public String getLabel() { - return label == null ? "" : label; + return label; } + public String getCapital() + { + return capital; + } - public boolean isLeaf() + public String getInhabitants() { - return children == null; + return inhabitants; } - } Modified: t5-equanda-example/src/main/java/org/equanda/example/t5/pages/Start.java =================================================================== --- t5-equanda-example/src/main/java/org/equanda/example/t5/pages/Start.java 2009-01-21 14:55:42 UTC (rev 987) +++ t5-equanda-example/src/main/java/org/equanda/example/t5/pages/Start.java 2009-01-21 23:05:15 UTC (rev 988) @@ -49,18 +49,18 @@ private Asset smiley; /** Current node of the tree. */ - private Tree node; + private DemoTree node; @Persist private List<String> list; private String current; - public Tree getNode() + public DemoTree getNode() { return node; } - public void setNode( Tree node ) + public void setNode( DemoTree node ) { this.node = node; } @@ -75,22 +75,41 @@ this.smiley = smiley; } - public Tree getTree() + public DemoTree getTree() { - DemoTree n1 = new DemoTree( "first child" ); - DemoTree n2 = new DemoTree( "second child" ); - DemoTree n3 = new DemoTree( "third child" ); - DemoTree n4 = new DemoTree( "fourth child" ); + DemoTree europe = new DemoTree( "Europe" ); + DemoTree benelux = new DemoTree( "Benelux" ); + DemoTree belgium = new DemoTree( "Belgium", "Brussels", "10.6m" ); + DemoTree netherlands = new DemoTree( "Netherlands", "Amsterdam", "16.4m" ); + DemoTree luxemburg = new DemoTree( "Luxemburg", "Luxemburg", ".4m" ); + DemoTree france = new DemoTree( "France", "Paris", "60.9m" ); + DemoTree northAmerica = new DemoTree( "North America" ); + DemoTree unitedStates = new DemoTree( "United States", "Washington DC", "303.8m" ); + DemoTree canada = new DemoTree( "Canada", "Vancouver", "33.2m" ); + DemoTree asia = new DemoTree( "Asia" ); + DemoTree china = new DemoTree( "China", "Bejing", "1330m" ); - List<Tree> nodeList2 = new LinkedList<Tree>(); - nodeList2.add( new DemoTree( "subtree child to illustrate nesting" ) ); - n4.setChildren( nodeList2 ); + List<DemoTree> nlBenelux = new LinkedList<DemoTree>(); + nlBenelux.add( belgium ); + nlBenelux.add( netherlands ); + nlBenelux.add( luxemburg ); + benelux.setChildren( nlBenelux ); + List<DemoTree> nlEurope = new LinkedList<DemoTree>(); + nlEurope.add( benelux ); + nlEurope.add( france ); + europe.setChildren( nlEurope ); + List<DemoTree> nlNorthAmerica = new LinkedList<DemoTree>(); + nlNorthAmerica.add( unitedStates ); + nlNorthAmerica.add( canada ); + northAmerica.setChildren( nlNorthAmerica ); + List<DemoTree> nlAsia = new LinkedList<DemoTree>(); + nlAsia.add( china ); + asia.setChildren( nlAsia ); - LinkedList<Tree> nodeList = new LinkedList<Tree>(); - nodeList.add( n1 ); - nodeList.add( n2 ); - nodeList.add( n3 ); - nodeList.add( n4 ); + LinkedList<DemoTree> nodeList = new LinkedList<DemoTree>(); + nodeList.add( europe ); + nodeList.add( northAmerica ); + nodeList.add( asia ); DemoTree n = new DemoTree( "root" ); n.setChildren( nodeList ); Modified: t5-equanda-example/src/main/resources/org/equanda/example/t5/pages/Start.tml =================================================================== --- t5-equanda-example/src/main/resources/org/equanda/example/t5/pages/Start.tml 2009-01-21 14:55:42 UTC (rev 987) +++ t5-equanda-example/src/main/resources/org/equanda/example/t5/pages/Start.tml 2009-01-21 23:05:15 UTC (rev 988) @@ -84,17 +84,18 @@ </t:parameter> <t:parameter name="title4">TreeTable</t:parameter> <t:parameter name="content4"> - <p>This illustrates the TreeTable component. It is still under construction and some features are missing. The depth of the tree - is limited and each node of the tree can only display one label. The idea is to add a feature so that we can display N labels for - each node. Each of those labels is to be displayed in a separate column of the html table. We'd also like to introduce blocks, - so that the user has more impact on the layout.</p> - + <p>This illustrates the TreeTable component. It displays a static (no AJAX) table.</p> + <p>For each node, several blocks can be displayed, each position in a different column.</p> + <p>It is possible to determine the number of levels of the tree which are unfolded.</p> <br/> <p> - <table t:type="equanda/TreeTable" t:tree="tree" t:value="node"> - <t:parameter name="content"> - <td>${node.label}</td> - </t:parameter> + <table t:type="equanda/TreeTable" t:tree="tree" t:value="node" unfoldLevel="2"> + <t:parameter name="title1">Region</t:parameter> + <t:parameter name="content1">${node.label}</t:parameter> + <t:parameter name="title2">Capital</t:parameter> + <t:parameter name="content2">${node.capital}</t:parameter> + <t:parameter name="title3">Inhabitants</t:parameter> + <t:parameter name="content3">${node.inhabitants}</t:parameter> </table> </p> </t:parameter> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |