Hi HJ,
Thanks for the reply. I am surprised you get this behavior for free
with your trees. I wonder what I could be doing differently. Are your
trees backed by RDF? You asked if I use IDs on my trees. If you mean
the id attribute, yes, they all have id attributes with unique values.
I didn't know about tree observers. Clearly that is the way to go if I
am forced to implement this myself.
Thanks for the help,
Eric
--- HJ <[EMAIL PROTECTED]> wrote:
> Eric H. Jung wrote:
> > Hi,
> >
> > I have a number of template-driven, RDF-based <tree/> elements.
> They do
> > not specify 'dont-build-content'. I haven't found a way to
> > "automatically" save and restore the open/closed state of tree
> > containers, so unless someone can suggest one to me, I'm going to
> code
> > it manually.
> >
> > My question is: what's the best way to maintain the list of
> open/closed
> > containers in an RDF file given that containers can be deleted and
> > moved? I was thinking of storing the subject of each open container
> in
> > a click callback:
> >
> > tree.addEventListener("click", clickListener, true);
> > function clickListener(event) {
> > if (event.detail == 1) {
> > var row = {}, col = {}, childElt = {};
> > this.treeBoxObject
> > .getCellAt(event.clientX, event.clientY, row, col, childElt);
> > if (childElt.value == "twisty" && row.value > -1) {
> > // TODO: save open/close state
> > }
> > }
> >
> > Any other ideas?
>
> Eric,
>
> First of all, the trees I use keep track of this without a single
> additional line of code, but maybe I don't fully understand your
> question. I wonder if you use ID's for your tree. Do you?
>
> BTW: I would use: tree.treeBoxObject.view.isContainerOpen(row);
> to get the open state of container ;)
>
> Oh, and do you plan to add a tree observer?
>
> var treeBuilderObserver = {
> onToggleOpenState: function(aRow) {
> do something here
> }
> }
> tree.builder.addObserver(treeBuilderObserver);
> tree.builder.removeObserver(treeBuilderObserver);
>
> See also:
>
http://lxr.mozilla.org/seamonkey/source/content/xul/templates/public/nsIXULTemplateBuilder.idl
>
> /HJ
> _______________________________________________
> Project_owners mailing list
> [email protected]
> http://mozdev.org/mailman/listinfo/project_owners
>
_______________________________________________
Project_owners mailing list
[email protected]
http://mozdev.org/mailman/listinfo/project_owners