Neil Deakin wrote:
Based on information from Jan Varga, who implemented the changes, here is some information about the changes made recently to the XUL tree widget code as part of bug 221619, which fixes a number of issues with trees. This code was checked in on April 16 and is it builds after that, but not 1.7

I notice that several interfaces were changed by this checkin (nsITreeBoxObject had properties and methods removed or renamed, same for nsIXULTreeBuilderObserver, etc) without changing IIDs. Could we please rev the IIDs for these interfaces? That will allow C++ code linked against the old versions to not crash due to jumping into the wrong spot and will allow JS code that needs to work in both the old and new worlds to check the IID of the nsITreeBoxObject interface, say, to tell whether it's running in a build with these changes or one without them.


From a pure documentation perspective, the nsIDOMXULTreeElement interface could use some documentation (it's not documented at all!), as could the nsITreeColumn interface. nsITreeColumns is a bit better, but it's not clear to me what exactly getPrimaryColumn/getSortedColumn/getKeyColumn do, nor what getColumnFor does (what sort of elements can I pass in there? does it ever throw?). Some other methods (restoreNaturalOrder) have no documentation at all...

I feel that as long as we're adding interfaces, we should have them properly documented up front. That means documenting what methods and properties do, what exceptions they can throw, what exactly they return, and so on.

In short, newly added interfaces should look like <http://lxr.mozilla.org/seamonkey/source/netwerk/base/public/nsIChannel.idl> and not like <http://lxr.mozilla.org/seamonkey/source/layout/xul/base/src/nsIBox.h>. The interfaces added by this checkin look a lot more like the latter, unfortunately.

-Boris
_______________________________________________
mozilla-documentation mailing list
[EMAIL PROTECTED]
http://mail.mozilla.org/listinfo/mozilla-documentation

Reply via email to