- From: T.V Raman <raman@google.com>
- Date: Mon, 2 Jun 2008 11:19:45 -0700
- To: andy@hazlorealidad.com
- Cc: raman@users.sourceforge.net, www-forms@w3.org
The tree control that Mikko built took care of not having to have a given number of levels of nesting Andy Bailey writes: > > Thanks for the suggestion, I had thought of that but I would have to > assume the maximum number of levels and write that number of nested > repeats. > > However, the data structure could have any number of levels. Also the > properties of the control for a leaf node are different from a branch > node, so it would make things kind complicated. > > Is there no way to make the controls recursively. With xslt it would be > very easy, but I dont really want to mix client side xslt and xforms. > > A select1 appearance="tree" would be very nice in the next version of > xforms! > > Thanks > > Andy Bailey > > On Thu, 2008-05-29 at 06:33 -0700, T. V. Raman wrote: > > try nested repeats? > > > > Mikko had prototyped his tree control in x-smiles by using that > > as a basis. > > > > >>>>> "Andy" == Andy Bailey writes: > > Andy> I sent a message to mozilla.dev.tech.xforms and someone > > Andy> suggested that I post the message to this group- so > > Andy> here goes: > > Andy> > > Andy> I have a recursive data structure (see below), with any > > Andy> number of levels and would like to display it in a > > Andy> select1 the closest I can get so far is a flat select1 > > Andy> using //path however it would be nice to group the > > Andy> options together. > > Andy> > > Andy> > > Andy> Ideally I would like a tree structure where I could > > Andy> expand/hide the child elements as well as select1 > > Andy> something like appearance="tree" > > Andy> > > Andy> > > Andy> I see that you can write custom controls in firefox > > Andy> with xul or xbl but have no experience with either and > > Andy> also would like a standard xform solution. I thought of > > Andy> using repeats as well but cant see any way to have any > > Andy> number of levels. > > Andy> > > Andy> > > Andy> If I used repeats how could I get the expand/hide > > Andy> functionality? > > Andy> > > Andy> > > Andy> In the repeat example I had to use index('part1')" in > > Andy> <xf:setvalue bind="selectedpart" > > Andy> value="index('part1')"/> "name" didnt work and if I put > > Andy> value="name(.)" the selected part became the string > > Andy> "selectedpart" can anyone explain why that is? I > > Andy> assumed it would be the node of the repeat. > > Andy> > > Andy> > > Andy> Also if I clicked with the mouse on the select1 each > > Andy> time the model got updated but if I used the arrow keys > > Andy> up/down then the model didnt get update even though > > Andy> incremental="true", is this a bug in firefox or > > Andy> expected behavior in xforms? > > Andy> > > Andy> > > Andy> > > Andy> Thanks in advance > > Andy> > > Andy> > > Andy> Andy Bailey http://www.hazlorealidad.com > > Andy> > > Andy> > > Andy> <assembly> <name>Open source CNC Machine</name> <parts> > > Andy> <part id="structure"> <name>Estructura</name> <parts> > > Andy> <part id="base"> <name>Base</name> <parts> <part > > Andy> id="baseStructure"> <name>Estructura</name> </part> > > Andy> <part id="feet"> <name>Pies</name> </part> <part > > Andy> id="antiVibration"> <name>Aisladores (anti > > Andy> vibración)</name> </part> </parts> </part> .... > > Andy> > > Andy> <xf:select1 bind="selectedpart" appearance="full" > > Andy> incremental="true"> <xf:label>Part Tree: </xf:label> > > Andy> <xf:itemset nodeset="instance('assembly')//part"> > > Andy> <xf:label ref="name"/> <xf:value ref="@id"/> > > Andy> </xf:itemset> </xf:select1> > > Andy> > > Andy> > > Andy> <!-- <xf:repeat id="part1" > > Andy> nodeset="instance('assembly')/parts/part"> <div > > Andy> style="margin-left:0em;"> <xf:trigger ref="."> > > Andy> <xf:label> <xf:output ref="name"/> </xf:label> > > Andy> <xf:action ev:event="DOMActivate"> <xf:setvalue > > Andy> bind="selectedpart" value="index('part1')"/> > > Andy> <xf:message level="modal">Part Selected <xf:output > > Andy> ref="name"/></ xf:message> </xf:action> > > Andy> > > Andy> > > Andy> </xf:trigger> <xf:repeat id="part2" > > Andy> nodeset="parts/part"> <div style="margin-left:2em;"> > > Andy> <xf:trigger ref="."> <xf:label> <xf:output ref="name"/> > > Andy> </xf:label> </xf:trigger> <xf:repeat > > Andy> nodeset="parts/part"> <div style="margin-left:2em;"> > > Andy> <xf:trigger ref="."> <xf:label> <xf:output ref="name"/> > > Andy> </xf:label> </xf:trigger> </div> </xf:repeat> </div> > > Andy> </xf:repeat> </div> </xf:repeat> > > --> > > Andy> > > > > -- > > Best Regards, > > --raman > > > > > > Email: raman@users.sf.net > > WWW: http://emacspeak.sf.net/raman/ > > AIM: emacspeak GTalk: tv.raman.tv@gmail.com > > PGP: http://emacspeak.sf.net/raman/raman-almaden.asc > > Google: tv+raman > > IRC: irc://irc.freenode.net/#emacs > > -- Best Regards, --raman Title: Research Scientist Email: raman@google.com WWW: http://emacspeak.sf.net/raman/ Google: tv+raman GTalk: raman@google.com, tv.raman.tv@gmail.com PGP: http://emacspeak.sf.net/raman/raman-almaden.asc
Received on Monday, 2 June 2008 18:20:47 UTC