Community
Participate
Working Groups
Preserving the state of all widgets before the PROCESS_ACTION pahse is run is an integral part of the RWT lifecycle. Therefore I suggest to not code run from a phase-listener anymore but instead run from within the RENDER phase. Any objections?
+1 I agree that getting rid of the PhaseListener would simplify matters.
Created attachment 193574 [details] Proposed changes The PreserveWidgetsPhaseListener is gone. Its functionality was moved to DisplayLCA and two new methods, preserveValues() and clearPreserved() have been introduce. preserveValues() is called in the READ_DATA phase from ReadData#execute(), after DisplayLCA#readData() was called. To free resources, clearPreserved() is called from Render#execute() after the actual rendering was done. Though this simplifies matters, the DisplayLCA should only be responsible for rendering, preserving, ... its own 'things'. Currently it does this *and* iterates over the widget tree to have the widgets render, preserve, ... themserves. This code could be moved from DisplayLCA to the respective IPhase implementations. However, I would prefer to make this change in an extra step. Opinions?
Committed patch to CVS HEAD