From: Ralph T. <ra...@gm...> - 2006-01-31 03:06:55
|
On 1/30/06, Sean Parent <sp...@ad...> wrote: > The engine does support adding nodes to the graph post initial layout > - although we don't make use if it in the current code (as Foster > points out, Ralph is making use of it). It doesn't currently support > removing nodes (the optional panel is handled by filtering nodes > within the layout, not removing them). The ability to remove nodes > may be added in the future if there is strong demand - but it is > generally a risky prospect. If you remove a node you would invalidate > any iterators to that node or it's children and widgets currently > communicate with the layout by hanging onto their position. Robust > support for remove would require something like slots/signals to > notify connected items that they were being disconnected. I haven't > found a use case for this yet. The only reason I've been able to get away with removing and sorting widgets so far is that: 1. I always remove the widget and all of it's children (I create an assemblage for each child widget to ensure this). 2. I don't have any optional_panel children, so none of the widgets use the iterator that they have into Eve. I don't understand why you would need a signal/slot system to support (re)move, you could just have another function in the signal_suite for "your eve iterator has changed". There might be problems if you tried to change anything in Eve when you received that signal though! Ralph |