In AbstractEEFWidgetLifecycleManager.createControl there is a distinction made for widgets created in a group or in a container, due to the fact that in a group composite the grid layout is on 3 columns whereas in a container composite the grid layout is on N columns, where N is defined in the VSM. The proposed solution is to apply a 3 columns grid layout in both cases of the group and container column composite. This way the AbstractEEFWidgetLifecycleManager doesn't have to make any assumption on the context its instance is included in.
On the other hand in the EEFContainerLifecycleManager, the horizontal span of the grid data of the container composite has to be set to 3. The number of columns N is determined as before, and a composite is created with a grid layout of N columns. An invisible composite is created per column with a grid layout of 3 columns. The controls are created in this column composite by delegating to the generic mechanism provided by the EEEFControlSwitch. The only thing to take care of is to pick the proper controls into the list of controls for the right column (the first column should only contain the controls whose index in the list is divisible by N, second column the controls whose index minus 1 is divisible by N, and so on).
Change-Id: Ic4002e08b7321dd9831ab701ed2f2c3009cc9823 Signed-off-by: Pierre-Charles David <pierre-charles.david@obeo.fr>