0
votes

I am making an application that will have many nested UI components. You start off on top in a very general area, which will create a base UI container, some kind of panel. In general I am using a DockLayoutPanel, although I am not sure this is the best choice.

Anyway as you begin to drill down into one area or another I am creating a nested UI structure. Lets say Level 1 is just a DockLayoutPanel.

Level 2 ( for a particular sub-system) may divided Level 1 into two new panels. Various components on sub-level 3 will use the two panels on level 2. Perhaps there is a 4th level for some sub-system as well. There are also many other major subsystems with their own hierarchies.

Ok, now onto the meat of my question. I do have a concern such as what if after a lot of work has been done, someone says, "I want the panel on level 1 to be a little bigger or smaller". You see, I have been setting the size of the panels (working in the GWT designer) so everything looks nice and neat.

If the above scenario happens, I will have to go through and manually re-size everything. This will be a huge PITA.

So my question is, is there a way I can design or architect this thing so that if I were to alter a parent component in terms of size, that this effect could cascade or perhaps be automatically compensated for in my application?

1

1 Answers

1
votes

I would recommend starting with these examples:

http://blog.ltgt.net/gwt-21-activities-nesting-yagni/

You will need to have a fundamental understanding of Activities and Places (which is probably a good thing to do)

However, there are so many different ways to utilize GWT when building dynamic apps. So it really depends on your use case (which you will need to provide some more details as to what you are trying to achieve at a bit of a higher level).

Using a combination of a root layout/shell with certain areas controlled by an activity manager and possible other areas created by a more lightweight, custom menuManager/widgetManager, etc.

I haven't used GWTDesigner so I am not sure how easy it is to use as you break all the components apart into independent units. MainAppShell, MenuManager, MainContentActivityManager, etc