Revision 306 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/dynfield/JDynObjectDynFieldComponent.java

View differences:

JDynObjectDynFieldComponent.java
71 71
     * @param dynObject
72 72
     * @throws ServiceException
73 73
     */
74
    public JDynObjectDynFieldComponent(ValueField dynObjectValueField)
75
        throws ServiceException {
74
	public JDynObjectDynFieldComponent(ValueField dynObjectValueField,
75
			boolean writable) throws ServiceException {
76 76
        this.dynField = dynObjectValueField.getDynField();
77 77
        this.dynValueField = dynObjectValueField;
78 78
        this.dynObject = (DynObject) dynValueField.getFieldValue();
......
82 82

  
83 83
        this.jDynObjectComponent =
84 84
            ToolsSwingLocator.getDynObjectSwingManager()
85
                .createJDynObjectComponent(getDynObject());
85
				.createJDynObjectComponent(getDynObject(), writable);
86 86
        // this.dynObject = createDynObject(dynObjectValue.getValue());
87 87

  
88 88
        // this.jDynObjectComponent.handleValueChanged(this);
......
104 104
    /*
105 105
     * (non-Javadoc)
106 106
     * 
107
     * @see
108
     * org.gvsig.tools.swing.api.dynobject.dynfield.JComponent#getComponent()
107
     * @seeorg.gvsig.tools.swing.api.dynobject.dynfield.JDynFieldComponent#
108
     * fireValueChangedEvent()
109 109
     */
110
    public JComponent asJComponent() {
111
        return this.jDynObjectComponent.asJComponent();
110
    public void fireValueChangedEvent() {
111
        for (ValueChangedListener listener : this.listeners)
112
            listener.handleValueChanged(this);
112 113
    }
113 114

  
115
    public DynObject getDynObject() {
116
        if (this.dynObject != null)
117
            return this.dynObject;
118
        createDynObject(this.getInitialValue());
119
        return this.dynObject;
120
    }
121

  
114 122
    /**
115 123
     * 
116 124
     */
......
123 131

  
124 132
    }
125 133

  
126
    /*
127
     * (non-Javadoc)
128
     * 
129
     * @seeorg.gvsig.tools.swing.api.dynobject.dynfield.JDynFieldComponent#
130
     * fireValueChangedEvent()
134
    /**
135
     * @return
131 136
     */
132
    public void fireValueChangedEvent() {
133
        for (ValueChangedListener listener : this.listeners) {
134
            listener.handleValueChanged(this);
135
        }
136
    }
137
    private String getFieldName() {
138
        String name = "";
139
        String suffix = "-list-List-item";
137 140

  
138
    public Object getDefaultFieldValue() {
139
        return this.dynValueField.getDefaultFieldValue();
141
        if (this.dynField.isContainer())
142
            name = this.dynField.getElementsType().getName();
143
        else
144
            // if (this.dynField.getType()==DataTypes.DYNOBJECT)
145
            name = this.dynField.getName();
146

  
147
        if (name.endsWith(suffix))
148
            return name.replace(suffix, "");
149
        return name;
140 150
    }
141 151

  
142 152
    /*
143 153
     * (non-Javadoc)
144 154
     * 
145 155
     * @see
146
     * org.gvsig.tools.swing.api.dynobject.dynfield.ValueField#getDefaultValue()
156
     * org.gvsig.tools.swing.api.dynobject.dynfield.JComponent#getComponent()
147 157
     */
148
    public Object getDefaultValue() {
149
        return this.dynField.getDefaultValue();
158
    public JComponent asJComponent() {
159
        return this.jDynObjectComponent.asJComponent();
150 160
    }
151 161

  
152 162
    /*
153 163
     * (non-Javadoc)
154 164
     * 
155 165
     * @see
156
     * org.gvsig.tools.swing.api.dynobject.dynfield.ValueField#getDynClass()
166
     * org.gvsig.tools.swing.api.dynobject.dynfield.ValueField#getDefaultValue()
157 167
     */
158
    public DynClass getDynClass() {
159
        return this.dynObject.getDynClass();
168
    public Object getDefaultValue() {
169
        return this.dynField.getDefaultValue();
160 170
    }
161 171

  
162 172
    /*
163 173
     * (non-Javadoc)
164 174
     * 
165 175
     * @see
166
     * 
167 176
     * org.gvsig.tools.swing.api.dynobject.dynfield.JDynFieldComponent#getDynField
168 177
     * ()
169 178
     */
......
171 180
        return this.dynField;
172 181
    }
173 182

  
174
    public DynObject getDynObject() {
175
        if (this.dynObject != null) {
176
            return this.dynObject;
177
        }
178
        createDynObject(this.getInitialValue());
179
        return this.dynObject;
180
    }
181

  
182 183
    private DynObject getDynObjectValue() {
183 184
        DynObject dynObj = this.manager.createDynObject(this.dynClass);
184 185
        Object value = null;
......
198 199
        return dynObj;
199 200
    }
200 201

  
201
    /**
202
     * @return
203
     */
204
    private String getFieldName() {
205
        String name = "";
206
        String suffix = "-list-List-item";
207

  
208
        if (this.dynField.isContainer()) {
209
            name = this.dynField.getElementsType().getName();
210
        } else {
211
            // if (this.dynField.getType()==DataTypes.DYNOBJECT)
212
            name = this.dynField.getName();
213
        }
214

  
215
        if (name.endsWith(suffix)) {
216
            return name.replace(suffix, "");
217
        }
218
        return name;
219
    }
220

  
221
    public Object getFieldValue() {
222
        return this.dynValueField.getFieldValue();
223
    }
224

  
225 202
    /*
226 203
     * (non-Javadoc)
227 204
     * 
......
256 233
     * (non-Javadoc)
257 234
     * 
258 235
     * @see
259
     * 
260
     * org.gvsig.tools.swing.api.dynobject.ValueChangedListener#handleValueChanged
261
     * (org.gvsig.tools.swing.api.dynobject.dynfield.JDynFieldComponent)
262
     */
263
    public void handleValueChanged(JDynFieldComponent field) {
264
        setValue(field);
265
    }
266

  
267
    /*
268
     * (non-Javadoc)
269
     * 
270
     * @see
271
     * 
272 236
     * org.gvsig.tools.swing.api.dynobject.dynfield.JDynFieldComponent#isMandatory
273 237
     * ()
274 238
     */
......
290 254
     * (non-Javadoc)
291 255
     * 
292 256
     * @see
293
     * 
294 257
     * org.gvsig.tools.swing.api.dynobject.dynfield.JDynFieldComponent#requestFocus
295 258
     * ()
296 259
     */
......
303 266
     * (non-Javadoc)
304 267
     * 
305 268
     * @see
306
     * 
307 269
     * org.gvsig.tools.swing.api.dynobject.dynfield.JDynFieldComponent#saveStatus
308 270
     * ()
309 271
     */
......
315 277
     * (non-Javadoc)
316 278
     * 
317 279
     * @see
318
     * 
319 280
     * org.gvsig.tools.swing.api.dynobject.dynfield.JDynFieldComponent#setEnabled
320 281
     * (boolean)
321 282
     */
......
384 345
            }
385 346
        this.fireValueChangedEvent();
386 347
    }
348

  
349
    /*
350
     * (non-Javadoc)
351
     * 
352
     * @see
353
     * org.gvsig.tools.swing.api.dynobject.dynfield.ValueField#getDynClass()
354
     */
355
    public DynClass getDynClass() {
356
        return this.dynObject.getDynClass();
357
    }
358

  
359
    /*
360
     * (non-Javadoc)
361
     * 
362
     * @see
363
     * org.gvsig.tools.swing.api.dynobject.ValueChangedListener#handleValueChanged
364
     * (org.gvsig.tools.swing.api.dynobject.dynfield.JDynFieldComponent)
365
     */
366
    public void handleValueChanged(JDynFieldComponent field) {
367
        setValue(field);
368
    }
369

  
370
    public Object getDefaultFieldValue() {
371
        return this.dynValueField.getDefaultFieldValue();
372
    }
373

  
374
    public Object getFieldValue() {
375
        return this.dynValueField.getFieldValue();
376
    }
387 377
}

Also available in: Unified diff