Re: CellTree question about varying cell composition
Thank you, that sounds like something worth trying. On Apr 9, 4:24 am, Thomas Broyer wrote: > On Sunday, April 3, 2011 5:52:41 AM UTC+2, tomInNewEngland wrote: > > > Hi All: > > > I have a CellTree and I want to use two different cells for the leaf > > and branch nodes. The leaf nodes are all to have a checkbox and the > > brances are not. Leaves and branches appear on the same levels. > > > I constructed a CompositeCell out of a CheckboxCell and a homegrown > > cell (based on AbstractCell), and I put a test in the > > CompositeCell.render() method, that looked something like this: > > > if (cell instanceof CheckboxCell) { > > if (value.isLeaf()) { > > cell.render(context, hasCell.getValue(value), sb); > > } > > } > > > With this code, the checkbox cell wasn't rendered at all for the > > branch nodes. This appeared to work at first, but selecting a branch > > node would give me an error that seemed to be at the Javascript > > level. It read: "(Typeerror) elem is null". None of my code was > > identified in the stack trace, so I don't get what was wrong. > > IIRC, CompositeCell assumes all of its composited cells are rendered, so it > assumes it has as many child nodes as composited cells. > > > Can someone suggest what that error might have meant, or better, > > suggest the right way to go about designing a cell that's different > > for leaf and branch nodes that might be siblings in the CellTree. > > Maybe put the logic of displaying the checkbox down to the CheckboxCell > (extend and override render() to either render the checkbox or a > SafeHtmlUtils.EMPTY_SAFE_HTML). > Either that, or make your own "CompositeCell-like" cell. > > > Another question: when designing a cell to use, what is the right way > > to test the values that will be displayed in that cell? Besides > > including the checkbox or not, I'd like to vary the look based on > > other parameters. > > I'd follow the new Appearance-based approach; this allows you to mock an > Appearance for the tests. > Seehttps://groups.google.com/d/topic/google-web-toolkit-contributors/Scl... > andhttp://code.google.com/p/google-web-toolkit/source/detail?r=9879 > I haven't tried it though. > > You could also, more simply, base your rendering on a SafeHtmlTemplates and > mock it for the tests, checking which template method is called, with which > arguments, depending on the value. -- You received this message because you are subscribed to the Google Groups "Google Web Toolkit" group. To post to this group, send email to google-web-toolkit@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
Re: CellTree question about varying cell composition
On Sunday, April 3, 2011 5:52:41 AM UTC+2, tomInNewEngland wrote: > > Hi All: > > I have a CellTree and I want to use two different cells for the leaf > and branch nodes. The leaf nodes are all to have a checkbox and the > brances are not. Leaves and branches appear on the same levels. > > I constructed a CompositeCell out of a CheckboxCell and a homegrown > cell (based on AbstractCell), and I put a test in the > CompositeCell.render() method, that looked something like this: > > if (cell instanceof CheckboxCell) { > if (value.isLeaf()) { > cell.render(context, hasCell.getValue(value), sb); > } > } > > With this code, the checkbox cell wasn't rendered at all for the > branch nodes. This appeared to work at first, but selecting a branch > node would give me an error that seemed to be at the Javascript > level. It read: "(Typeerror) elem is null". None of my code was > identified in the stack trace, so I don't get what was wrong. > IIRC, CompositeCell assumes all of its composited cells are rendered, so it assumes it has as many child nodes as composited cells. > Can someone suggest what that error might have meant, or better, > suggest the right way to go about designing a cell that's different > for leaf and branch nodes that might be siblings in the CellTree. > Maybe put the logic of displaying the checkbox down to the CheckboxCell (extend and override render() to either render the checkbox or a SafeHtmlUtils.EMPTY_SAFE_HTML). Either that, or make your own "CompositeCell-like" cell. > Another question: when designing a cell to use, what is the right way > to test the values that will be displayed in that cell? Besides > including the checkbox or not, I'd like to vary the look based on > other parameters. I'd follow the new Appearance-based approach; this allows you to mock an Appearance for the tests. See https://groups.google.com/d/topic/google-web-toolkit-contributors/SclEt5RzbvA/discussion and http://code.google.com/p/google-web-toolkit/source/detail?r=9879 I haven't tried it though. You could also, more simply, base your rendering on a SafeHtmlTemplates and mock it for the tests, checking which template method is called, with which arguments, depending on the value. -- You received this message because you are subscribed to the Google Groups "Google Web Toolkit" group. To post to this group, send email to google-web-toolkit@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
Re: CellTree question about varying cell composition
Is there a way to persuade people to answer questions here? Or even to suggest possibilities? Searching allows me to find lots of questions like this about CellTree, but I can't find any answers. Help? Someone? Thank you. On Apr 2, 11:52 pm, tomInNewEngland wrote: > Hi All: > > I have a CellTree and I want to use two different cells for the leaf > and branch nodes. The leaf nodes are all to have a checkbox and the > brances are not. Leaves and branches appear on the same levels. > > I constructed a CompositeCell out of a CheckboxCell and a homegrown > cell (based on AbstractCell), and I put a test in the > CompositeCell.render() method, that looked something like this: > > if (cell instanceof CheckboxCell) { > if (value.isLeaf()) { > cell.render(context, hasCell.getValue(value), sb); > } > > } > > With this code, the checkbox cell wasn't rendered at all for the > branch nodes. This appeared to work at first, but selecting a branch > node would give me an error that seemed to be at the Javascript > level. It read: "(Typeerror) elem is null". None of my code was > identified in the stack trace, so I don't get what was wrong. > > Can someone suggest what that error might have meant, or better, > suggest the right way to go about designing a cell that's different > for leaf and branch nodes that might be siblings in the CellTree. > > Another question: when designing a cell to use, what is the right way > to test the values that will be displayed in that cell? Besides > including the checkbox or not, I'd like to vary the look based on > other parameters. > > Many thanks, > > -Tom -- You received this message because you are subscribed to the Google Groups "Google Web Toolkit" group. To post to this group, send email to google-web-toolkit@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
CellTree question about varying cell composition
Hi All: I have a CellTree and I want to use two different cells for the leaf and branch nodes. The leaf nodes are all to have a checkbox and the brances are not. Leaves and branches appear on the same levels. I constructed a CompositeCell out of a CheckboxCell and a homegrown cell (based on AbstractCell), and I put a test in the CompositeCell.render() method, that looked something like this: if (cell instanceof CheckboxCell) { if (value.isLeaf()) { cell.render(context, hasCell.getValue(value), sb); } } With this code, the checkbox cell wasn't rendered at all for the branch nodes. This appeared to work at first, but selecting a branch node would give me an error that seemed to be at the Javascript level. It read: "(Typeerror) elem is null". None of my code was identified in the stack trace, so I don't get what was wrong. Can someone suggest what that error might have meant, or better, suggest the right way to go about designing a cell that's different for leaf and branch nodes that might be siblings in the CellTree. Another question: when designing a cell to use, what is the right way to test the values that will be displayed in that cell? Besides including the checkbox or not, I'd like to vary the look based on other parameters. Many thanks, -Tom -- You received this message because you are subscribed to the Google Groups "Google Web Toolkit" group. To post to this group, send email to google-web-toolkit@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.