Revision 538

View differences:

org.gvsig.tools/library/trunk/org.gvsig.tools/org.gvsig.tools.swing/org.gvsig.tools.swing.impl/src/main/java/org/gvsig/tools/swing/impl/dynobject/DefaultDynObjectSwingManager.java
21 21
 */
22 22
package org.gvsig.tools.swing.impl.dynobject;
23 23

  
24
import org.gvsig.tools.dynobject.DynClass;
25 24
import org.gvsig.tools.dynobject.DynField;
26 25
import org.gvsig.tools.dynobject.DynObject;
27 26
import org.gvsig.tools.dynobject.DynObjectSet;
......
58 57
        super(ToolsSwingServiceLocator.getServiceManager());
59 58
    }
60 59

  
61
    public DynObjectModel createDynObjectModel(DynClass dynClass)
60
    public DynObjectModel createDynObjectModel(DynStruct dynStruct)
62 61
        throws ServiceException {
63
        if (dynClass == null) {
62
        if (dynStruct == null) {
64 63
            return null;
65 64
        }
66 65
        
67
        DynObjectModel model = ToolsSwingLocator.getDynObjectSwingManager().getDynModel(dynClass);
66
        DynObjectModel model = ToolsSwingLocator.getDynObjectSwingManager().getDynModel(dynStruct);
68 67
        
69 68
        if (model != null) {
70 69
            return model;
71 70
        }
72 71

  
73 72
        
74
        return new DefaultDynObjectModel(dynClass, true);
73
        return new DefaultDynObjectModel(dynStruct, true);
75 74
    }
76 75

  
77
    public DynObjectModel createEmptyDynObjectModel(DynClass dynClass)
76
    public DynObjectModel createEmptyDynObjectModel(DynStruct definition)
78 77
        throws ServiceException {
79
        return new DefaultDynObjectModel(dynClass, false);
78
        return new DefaultDynObjectModel(definition, false);
80 79
    }
81 80

  
82 81
	public JDynFieldComponent createJDynFieldComponent(ValueField valueField)
83 82
			throws ServiceException {
84
		return createJDynFieldComponent(valueField, false);
83
		return createJDynFieldComponent(valueField, true);
85 84
	}
86 85

  
87 86
	public JDynFieldComponent createJDynFieldComponent(ValueField valueField,
......
107 106

  
108 107
    public JDynObjectComponent createJDynObjectComponent(DynObject dynObject,
109 108
			boolean writable) throws ServiceException {
110
        if (dynObject == null){
111
            return createJDynObjectComponent(dynObject, null, MODE_FORM, writable);
112
        }
113
		return createJDynObjectComponent(dynObject,
114
				createDynObjectModel(dynObject.getDynClass()), writable);
109
//        if (dynObject == null){
110
//            return createJDynObjectComponent(dynObject, null, MODE_FORM, writable);
111
//        }
112
		return createJDynObjectComponent(null, dynObject,
113
				createDynObjectModel(dynObject.getDynClass()), MODE_FORM, writable);
115 114
	}
116 115

  
117 116
	public JDynObjectComponent createJDynObjectComponent(DynObject dynObject,
......
129 128
		return createJDynObjectComponent(dynObject, model, mode, false);
130 129
	}
131 130

  
132
	public JDynObjectComponent createJDynObjectComponent(DynObject dynObject,
131
	public JDynObjectComponent createJDynObjectComponent(DynStruct definition, DynObject currentValue, 
133 132
			DynObjectModel model, String mode, boolean writable)
134 133
			throws ServiceException {
134
	    DynStruct def = definition; 
135
	    if (currentValue!=null){
136
	        def = currentValue.getDynClass();
137
	    }
135 138
        DynObject serviceParams =
136
            this.createServiceParameters(getServiceName(dynObject, mode));
139
            this.createServiceParameters(getServiceName(currentValue, mode));
137 140

  
141
        serviceParams.setDynValue(JDynObjectComponent.PARAMETERS.DYNSTRUCT,
142
            def);
138 143
        serviceParams.setDynValue(JDynObjectComponent.PARAMETERS.DYNMODEL,
139 144
            model);
140 145
        serviceParams.setDynValue(JDynObjectComponent.PARAMETERS.DYNOBJECT,
141
            dynObject);
146
            currentValue);
142 147
		serviceParams.setDynValue(JDynObjectComponent.PARAMETERS.WRITABLE,
143 148
				(writable ? Boolean.TRUE : Boolean.FALSE));
144 149

  
......
194 199
       return getDynModelList().getModel(dynStruct);      
195 200
    }
196 201

  
202
    public JDynObjectComponent createJDynObjectComponent(DynStruct definition, DynObject dynObject, boolean writable)
203
        throws ServiceException {
204
        return createJDynObjectComponent(definition, dynObject, getDynModel(definition), MODE_FORM, writable);
205
    }
206

  
207
    public JDynObjectComponent createJDynObjectComponent(DynObject dynObject,
208
        DynObjectModel model, String mode, boolean writable)
209
        throws ServiceException {
210
        return createJDynObjectComponent(null, dynObject, model, MODE_FORM, writable);
211
    }
212

  
213
    public JDynObjectComponent createJDynObjectComponent(DynStruct definition)
214
        throws ServiceException {
215
        return createJDynObjectComponent(definition, null, getDynModel(definition), MODE_FORM, true);
216
    }
217

  
197 218
}
org.gvsig.tools/library/trunk/org.gvsig.tools/org.gvsig.tools.swing/org.gvsig.tools.swing.impl/src/main/java/org/gvsig/tools/swing/impl/dynobject/DefaultJDynObjectComponentFactory.java
32 32
import javax.swing.JTabbedPane;
33 33

  
34 34
import org.gvsig.tools.dynobject.DynObject;
35
import org.gvsig.tools.dynobject.DynStruct;
35 36
import org.gvsig.tools.service.ServiceException;
36 37
import org.gvsig.tools.service.spi.ServiceFactory;
37 38
import org.gvsig.tools.swing.api.dynobject.DynObjectModel;
......
63 64
     * org.gvsig.tools.dynobject.DynObject,
64 65
     * org.gvsig.tools.swing.api.dynobject.DynObjectComponentModel)
65 66
     */
66
    public JDynObjectComponent createJDynObjectComponent(DynObject dynObject,
67
    public JDynObjectComponent createJDynObjectComponent(DynStruct definition, DynObject currentValue,
67 68
			DynObjectModel model, boolean writable) throws ServiceException {
68
        JDynObjectComponent component = new DefaultJDynObjectComponent(dynObject, model, JTabbedPane.LEFT);
69
        component.setValue(dynObject);
69
        JDynObjectComponent component = new DefaultJDynObjectComponent(definition, currentValue, model, JTabbedPane.LEFT);
70
//        component.setValue(currentValue);
70 71
        return component;
71 72
    }
72 73

  

Also available in: Unified diff