Question 2 would be what we should do if the focusRowKey is null? If we simply removed the defaulting code altogether, what would go wrong, and where?
-- Adam On 10/30/06, venkata guddanti <[EMAIL PROTECTED]> wrote:
On 10/30/06, Kamran Kashanian <[EMAIL PROTECTED]> wrote: > > In UIXTreeTable the focusRowKey attribute specifies the rowKey of the > currently focused row. In the renderer, the row with the focusRowKey is > rendered as the root node of the TreeTable and a focus path is rendered > above the TreeTable. > > When no focusRowKey attribute is specified on the component, UIXTreeTable > defaults the focusRowKey to the first node in the treeModel. So the > focusRowKey can never be null. > > This defaulting of the focusRowKey is OK for UIXTreeTable because it only > supports a single root node. > > The issue I have with this is that I want to support multi-rooted > TreeTables. So I want to do two things: > > 1) When no focusRowKey attribute is specified on the component, I will > render all of the root nodes in the TreeTable (multi-rooted TreeTable). > 2) When a focusRowKey attribute is specified, I will render the row with > the > focusRowKey as the single root node of the TreeTable. > > Unfortunately, becuase UIXTreeTable always sets a default focusRowKey, I > can't achieve #1 above. The defaulting of the focusRowKey is done in the > _init() method of UIXTreeTable, which is a package scoped method. So I > can't > override this default behavior in my subclass of UIXTreeTable. > > There are a couple of solutions to this: > > 1) Move the defaulting logic to a protected method in the UIXTreeTable so > that it can be overriden in subclasses > 2) Move the defaulting logic out of the component and into the renderer. +1 to moving it to the renderer since it is a renderer specific feature. Venkata I hope all of this makes sense, and any input on this is very much > appreciated. > > > -- Kamran > >
