01: //WebOnSwing - Web Application Framework
02: //Copyright (C) 2003 Fernando Damian Petrola
03: //
04: //This library is free software; you can redistribute it and/or
05: //modify it under the terms of the GNU Lesser General Public
06: //License as published by the Free Software Foundation; either
07: //version 2.1 of the License, or (at your option) any later version.
08: //
09: //This library is distributed in the hope that it will be useful,
10: //but WITHOUT ANY WARRANTY; without even the implied warranty of
11: //MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12: //Lesser General Public License for more details.
13: //
14: //You should have received a copy of the GNU Lesser General Public
15: //License along with this library; if not, write to the Free Software
16: //Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17:
18: package net.ar.webonswing.wrapping;
19:
20: import net.ar.webonswing.*;
21: import net.ar.webonswing.managers.contributors.*;
22:
23: public class ComponentStandardizer {
24: protected HierarchyWrapper theHierarchyWrapper;
25:
26: public ComponentStandardizer() {
27: theHierarchyWrapper = WosFramework.getInstance()
28: .getHierarchyWrapper();
29: }
30:
31: public ComponentStandardizer(HierarchyWrapper aHierarchyWrapper) {
32: theHierarchyWrapper = aHierarchyWrapper;
33: }
34:
35: public VisualWindow standardizeWindowHierarchy(VisualWindow aWindow) {
36: if (theHierarchyWrapper != null)
37: theHierarchyWrapper.createHierarchy(aWindow);
38:
39: assignNamesAndContributors(aWindow, aWindow.getRootComponent());
40: return aWindow;
41: }
42:
43: public VisualComponent standardizeChildsComponentHierarchy(
44: VisualComponent aComponent) {
45: VisualComponent theResult = aComponent;
46:
47: if (theHierarchyWrapper != null)
48: theResult = theHierarchyWrapper
49: .createChildsHierarchy(aComponent);
50:
51: return assignNamesAndContributors(aComponent, theResult);
52: }
53:
54: protected VisualComponent assignNamesAndContributors(
55: VisualComponent anStartComponent,
56: VisualComponent theRootComponent) {
57: WosFramework.getComponentNameManager().assignNamesFrom(
58: theRootComponent);
59: new ComponentContributorAssigner(anStartComponent)
60: .assignContributorsFrom(theRootComponent);
61: return theRootComponent;
62: }
63: }
|