On Tue, Sep 30, 2008 at 12:11:52AM +0200, Pavel Sanda wrote: > Richard Heck wrote: > >>> i tend for 3. solution but would like to hear your opinions. > >>> > >> I prefer 2, kind off. This can be done completely in the frontend using > >> simple string comparison techniques and session management. Each time a > >> toc reset is requested, save in the session the strings of all the nodes > >> that are not collapsed. When the model is reset, restore uncollapse all > >> nodes that present the same string. This method will not be 100% correct > >> but it will be just fine for most cases because only the current code > >> tipically changes, all others nodes keep the same strings. > >> > > I'd second that. And I'd think it wouldn't be that hard, actually. > > the obvious disadvantages of 2: > - it would slows the current editation even more (note that current trunk > needs 12 (!) reset calls after 1 character change in section (some sample > in userguide). even now is editation and movement with outliner > significantly > slower.
Well, conceptually there should be at most one such call per user interaction, so that's rather an indications that the current code is not optimal. > - the code would be bigger than just freezng version I'd expect no more than maybe 100 lines > - there will be many ocassions we will uncollapse wrong branches, > unless we do something Andre suggested, which would be even worse > things wrt code complexity. I am not convinced. And wrt to usability version 2 sound best... Andre'