Hi Janak,
do you have any new information about the ITreeCellRenderer issue (see below) ? Thank you in advance Best Regards Florian Mair DACHSER GmbH & Co. KG Hauptniederlassung / Head Office IT, Finance, Administration and Personnel (IFAP) Team EDI Memminger Str. 140 87439 Kempten mailto:[EMAIL PROTECTED] http://www.dachser.com ----- Weitergeleitet von Florian Mair/USR/DACH041/DACHSER/DE am 04.01.2007 07:59 ----- Florian Mair/USR/DACH 041/DACHSER/D An E "Janak Mulani" <[EMAIL PROTECTED]> 27.11.2006 Kopie 10:13 Thema RE: [ULC-developer] ITreeCellRenderer: setText()(Document link: Florian Mair) Hi Janak, I've made a running sample project which is using the DecoratedTreeModel. I hope you can work with it. If you have another solution, how to display my bean (look at the sample) please let me know. (See attached file: Testjava.rar) thanks and regards, Florian "Janak Mulani" <janak.mulani An @canoo.com> <[EMAIL PROTECTED]> Kopie 22.11.2006 13:40 Thema RE: [ULC-developer] ITreeCellRenderer: setText() Hi Florian, >the problem I have is in fact very simple. I just want to set a >text for my ULCTree items ;). The bean I want to display in the >tree has a hierarchical structure. So the root as well as the >childs are part of the same object (look at the model below). So >far so good, but to show another text for the single items i >tried to use a TreeCellRenderer and the setText() method. Because >the setText method doesn't work, Yes. ULC does not allow this at present as I explained in my previous mail. >I tried to use the workaround >with the DecoratedTreeModel, which is not working too. > >Do you have any ideas? The code you have sent to me below uses renderer to set the value (text). This does not work in ULC. You say that you tried with DecoratedTreeModel and it did not work for you. Can you please send me the complete (running example) of the code you tried with decorated model? I can then look into it an make suggestions. Also it will help me save lot of time save duplication of effort. Thanks and regards, Janak >thanks and regards >Florian > > >public class PackageDetailTreeModel extends AbstractTreeModel{ > > GeneralPackageBean rootPackage = null; > > public PackageDetailTreeModel > (GeneralPackageBean rootPackage){ > this.rootPackage = rootPackage; > } > > public Object getRoot() { > return rootPackage; > } > > public Object getChild(Object parent, int index) { > if (parent instanceof GeneralPackageBean){ > GeneralPackageBean bean = (GeneralPackageBean) >parent; > return (HeadRecordDK) >bean.getContent().get(index); > }else{ if (parent instanceof HeadRecordDK){ > HeadRecordDK bean = (HeadRecordDK) parent; > return (Order) bean.getOrders().get(index); > }else{ > return null; > }} > } > > public int getChildCount(Object parent) { > if (parent instanceof GeneralPackageBean){ > GeneralPackageBean bean = (GeneralPackageBean) >parent; > return bean.getContent().size(); > }else{ if (parent instanceof HeadRecordDK){ > HeadRecordDK bean = (HeadRecordDK) parent; > return bean.getOrders().size(); > }else{ > return 0; > }} > } > > public boolean isLeaf(Object node) { > if (node instanceof GeneralPackageBean){ > GeneralPackageBean bean = (GeneralPackageBean) >node; > if (bean.getContent() != null) {return false; > }else {return true;} > }else{ if (node instanceof HeadRecordDK){ > HeadRecordDK bean = (HeadRecordDK) node; > if (bean.getOrders() != null) {return false; > }else {return true;} > }else{ > return true; > }} > } > > public int getIndexOfChild(Object parent, Object child) { > if (parent instanceof GeneralPackageBean){ > GeneralPackageBean bean = (GeneralPackageBean) >parent; > return bean.getContent().indexOf(child); > }else{ if (parent instanceof HeadRecordDK){ > HeadRecordDK bean = (HeadRecordDK) parent; > return bean.getOrders().indexOf(child); > }else{ > return 0; > }} > } >} > > >private ULCTree getTrvStructure() { > if (trvStructure == null) { > trvStructure = new ULCTree(); > trvStructure.setShowsRootHandles(true); > trvStructure.setModel(getPackageDetailModel()); > trvStructure.setCellRenderer( > createTreeCellRenderer()); > } > return trvStructure; >} > >private ITreeCellRenderer createTreeCellRenderer() { > DefaultTreeCellRenderer treeCellRenderer = > new DefaultTreeCellRenderer() { > public IRendererComponent >getTreeCellRendererComponent( > ULCTree tree, Object value, boolean selected, > boolean expanded, boolean leaf, boolean >hasFocus){ > if (value instanceof GeneralPackageBean){ > setClosedIcon(closedPackage); > setLeafIcon(closedPackage); > setOpenIcon(openPackage); > setText("package"); > }else{ if(value instanceof HeadRecordDK){ > setClosedIcon(headRecordDK); > setLeafIcon(headRecordDK); > setOpenIcon(headRecordDK); > setText("head record"); > }} > return super.getTreeCellRendererComponent(tree, > value, selected, expanded, leaf, hasFocus); > } > }; > return treeCellRenderer; >} > > >Freundliche Grüße /Best Regards > >Florian Mair >DACHSER GmbH & Co. KG >Hauptniederlassung / Head Office >IT, Finance, Administration and Personnel (IFAP) >Team EDI > >Memminger Str. 140 >87439 Kempten > > Tel.: +49 (0)831/5916-486 > Fax: +49 (0)831/5916-599 > mailto:[EMAIL PROTECTED] > http://www.dachser.com > >Wir verweisen ausdrücklich auf die Geltung unserer "Allgemeinen >Geschäftsbedingungen für IT-Leistungen in den Bereichen Transport >und Logistik" (kurz: IT-AGB), jeweils neueste Fassung, jederzeit >abrufbar unter www.dachser.com." > > > > "Janak > Mulani" > <janak.mulani An > @canoo.com> <[EMAIL PROTECTED]> > Kopie > 17.11.2006 <[EMAIL PROTECTED] > 10:14 om> > Thema > RE: [ULC-developer] > Bitte ITreeCellRenderer: setText() > antworten an > "Ulc-Develope > [EMAIL PROTECTED] Com" > <ulc-develope > [EMAIL PROTECTED]> > > > > > > >Hi Florian, > >At present it is not possible to modify the displayed value from >a renderer >from the server. > >For optimization reasons, ULC uploads all renderers to the client >and the >value to be displayed is taken from the client side model. > >Could you please send me a full snippet of the problem you have >mentioned >below? I will look into it. > >Thanks and regards, > >Janak > >>-----Original Message----- >>From: [EMAIL PROTECTED] >>[mailto:[EMAIL PROTECTED] Behalf Of >>[EMAIL PROTECTED] >>Sent: Thursday, November 16, 2006 3:58 PM >>To: [email protected] >>Subject: RE: [ULC-developer] ITreeCellRenderer: setText() >> >> >>Hi Etienne, >> >>thanks for the quick answer. I've tried to implement my >TreeModel >>as shown in your sample, but it won't work. The problem is, that >>if the getRoot()or getChild() method returns a string instead of >>original object the Tree won't be built. In the getChildCount >>method I need the parent as original object to return number of >>childs. >> >>Any suggestions? >> >>Kind Regards >>Florian >> >> >>public class DecoratedTreeModel extends AbstractTreeModel { >> private ITreeModel fDecoratee; >> private IValueRenderer fRenderer; >> >> public DecoratedTreeModel(ITreeModel decoratee, >> IValueRenderer renderer) { >> fDecoratee = decoratee; >> fRenderer = renderer; >> } >> >> public Object getRoot() { >> Object rawValue = fDecoratee.getRoot(); >> Object renderedValue = fRenderer.render(rawValue); >> return renderedValue; >> } >> >> public Object getChild(Object parent, int index) { >> Object rawValue = fDecoratee.getChild(parent,index); >> Object renderedValue = fRenderer.render(rawValue); >> return renderedValue; >> } >> >> public int getChildCount(Object parent) { >> return fDecoratee.getChildCount(parent); >> } >> >> public boolean isLeaf(Object node) { >> return fDecoratee.isLeaf(node); >> } >> >> public int getIndexOfChild(Object parent, Object child) { >> return fDecoratee.getIndexOfChild(parent,child); >> } >> >> public ITreeModel getDecoratee() { >> return fDecoratee; >> } >> >> public static interface IValueRenderer { >> Object render(Object inRawValue); >> } >> >>} >> >> >>private ULCTree getTrvStructure() { >> if (trvStructure == null) { >> trvStructure = new ULCTree(); >> trvStructure.setShowsRootHandles(true); >> trvStructure.setModel(new DecoratedTreeModel >> (getPackageDetailModel(), >> new TreeValueRenderer())); >> } >> return trvStructure; >>} >> >> >>public static class TreeValueRenderer >> implements DecoratedTreeModel.IValueRenderer { >> public Object render(Object inRawValue) { >> String valueString = ""; >> if (inRawValue instanceof GeneralPackageBean){ >> valueString = "Package"; >> System.out.println(valueString); >> }else{ if(inRawValue instanceof HeadRecordDK){ >> valueString = "DK Headrecord"; >> System.out.println(valueString); >> }} >> return valueString; >> } >>} >> >> >> >> >> >> >>Hi Florian >> >>This might help... >>http://www.jroller.com/page/ulc/?anchor=renderer_limitations >> >>Etienne >> >> >>-----Original Message----- >>From: [EMAIL PROTECTED] >>[mailto:[EMAIL PROTECTED] On Behalf Of >>[EMAIL PROTECTED] >>Sent: Wednesday, November 15, 2006 6:18 AM >>To: [email protected] >>Subject: [ULC-developer] ITreeCellRenderer: setText() >> >> >>Hi, >> >>I'm trying to implement a ITreeCellRenderer for my ULCTree, but >i >>cannot set the text for the items. >>The displayed text near every node seems to be the result of >>object.toString()... >>Here is the code: >> >>private ITreeCellRenderer createTreeCellRenderer() { >> DefaultTreeCellRenderer treeCellRenderer = >> new DefaultTreeCellRenderer() { >> public IRendererComponent >>getTreeCellRendererComponent( >> ULCTree tree, Object value, boolean selected, >> boolean expanded, boolean leaf, boolean >>hasFocus){ >> if (value instanceof GeneralPackageBean){ >> setClosedIcon(closedPackage); >> setLeafIcon(closedPackage); >> setOpenIcon(openPackage); >> setText("package"); >> }else{ if(value instanceof HeadRecordDK){ >> setClosedIcon(headRecordDK); >> setLeafIcon(headRecordDK); >> setOpenIcon(headRecordDK); >> setText("head record"); >> }} >> return super.getTreeCellRendererComponent(tree, >> value, selected, expanded, leaf, hasFocus); >> } >> }; >> return treeCellRenderer; >>} >> >>However, in the mailing list archive I found a post from June >>2005 concerning this issue. >>http://lists.canoo.com/mailman/private/ulc-developer/2005/002383.html > >> >> >>But the posted workaround won't work with my TreeModel. >> >>Is there any other solution since ULC 6.1? >> >> >>Freundliche Grüße /Best Regards >> >>Florian Mair >>DACHSER GmbH & Co. KG >>Hauptniederlassung / Head Office >>IT, Finance, Administration and Personnel (IFAP) Team EDI >> >>Memminger Str. 140 >>87439 Kempten >> >> mailto:[EMAIL PROTECTED] >> http://www.dachser.com >> >> >>_______________________________________________ >>ULC-developer mailing list >>[email protected] >>http://lists.canoo.com/mailman/listinfo/ulc-developer >>_______________________________________________ >>ULC-developer mailing list >>[email protected] >>http://lists.canoo.com/mailman/listinfo/ulc-developer >> >> >> >> >>_______________________________________________ >>ULC-developer mailing list >>[email protected] >>http://lists.canoo.com/mailman/listinfo/ulc-developer > > > > > >_______________________________________________ >ULC-developer mailing list >[email protected] >http://lists.canoo.com/mailman/listinfo/ulc-developer
Testjava.rar
Description: Binary data
