01: /*
02: * Copyright (C) 2004 TiongHiang Lee
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: * Email: thlee@onemindsoft.org
19: */
20:
21: package org.onemind.swingweb.templaterender.peerdelegate.java.awt;
22:
23: import java.awt.Container;
24: import java.util.List;
25: import org.onemind.swingweb.component.layout.*;
26: import org.onemind.swingweb.templaterender.TemplateEngine;
27: import org.onemind.swingweb.templaterender.layout.*;
28: import org.onemind.swingweb.templaterender.peerdelegate.TemplateRenderDelegate;
29: import org.onemind.swingweb.util.SwingWebUtils;
30:
31: /**
32: * The container render delegate
33: * @author TiongHiang Lee (thlee@onemindsoft.org)
34: *
35: */
36: public class ContainerRenderDelegate extends ComponentRenderDelegate {
37:
38: /** the instance **/
39: public static TemplateRenderDelegate INSTANCE = new ContainerRenderDelegate();
40:
41: private static final ContainerLayoutHelper DEFAULT_HELPER = new DefaultLayoutHelper();
42:
43: /**
44: * Get the cells for layout using the ContainerLayoutHelper
45: * @param c the container
46: * @return the cells
47: */
48: public List getLayoutCells(Container c) {
49: return getLayoutHelper(c).getCells(c);
50: }
51:
52: public ComponentGridLayout getLayout(Container c) {
53: return getLayoutHelper(c).getLayout(c);
54: }
55:
56: public ContainerLayoutHelper getLayoutHelper(Container con) {
57: ContainerLayoutHelper helper = (ContainerLayoutHelper) SwingWebUtils
58: .getComponentProperty(con,
59: TemplateEngine.KEY_LAYOUT_HELPER);
60: if (helper == null) {
61: helper = DEFAULT_HELPER;
62: }
63: return helper;
64: }
65: }
|