Revision 501 org.gvsig.tools/library/trunk/org.gvsig.tools/org.gvsig.tools.main/src/main/java/org/gvsig/tools/main/dynobject/TestDynObject.java

View differences:

TestDynObject.java
55 55
 */
56 56
public class TestDynObject extends DefaultDynClass {
57 57

  
58
    public static final String TESTDYNOBJECT_NAME = "Test";
59
    public static final String TESTDYNOBJECTREADONLY_NAME = "TestReadOnly";
60

  
58 61
    private static DynObjectSwingManager swingManager =
59 62
        ToolsSwingLocator.getDynObjectSwingManager();
60 63

  
61 64
    private static DynObjectManager dynManager =
62 65
        ToolsLocator.getDynObjectManager();
66
    
67
    
63 68

  
64 69
    public static void registerDynObject() {
65
        dynManager.add(new TestDynObject("Test", "test dynclass"));
70
        dynManager.add(new TestDynObject(TESTDYNOBJECT_NAME, "Test dynclass", false));
71
        dynManager.add(new TestDynObject(TESTDYNOBJECTREADONLY_NAME, "Test dynclass with readonly fields", true));
66 72
    }
67 73

  
68
    // private DynClass createDynClass(DynClass dynClass) {
69
    // DynClass dynClass2 = createDynClass2(dynClass);
70
    // // dynClass2.addDynField("dynObject").setType(DataTypes.DYNOBJECT);
71
    // return dynClass2;
72
    // }
73 74

  
74
    // 
75 75
    /**
76 76
     * @param manager
77 77
     * @param name
78 78
     * @param description
79 79
     */
80
    public TestDynObject(String name, String description) {
80
    public TestDynObject(String name, String description, boolean allReadOnly) {
81 81
        super(dynManager, name, description);
82
        initDynClass();
82
        if(!allReadOnly){
83
            initDynClass();
84
        }else{
85
            initReadOnlyDynClass();
86
        }
83 87
    }
84 88

  
85 89
    /**
......
104 108
        DynObjectModel model = swingManager.createEmptyDynObjectModel(this);
105 109
        model.add("text");
106 110
        model.add("label");
111
        model.add("text-list");
112
        model.add("label-list");
113
        
107 114
        model.add("boolean");
108 115
        model.add("boolean-list");
109 116

  
......
145 152
        List<Boolean> booleanList = new ArrayList<Boolean>();
146 153
        dynObject.setDynValue("boolean-list", booleanList);
147 154

  
148
        // a?ado los valores del list
155
        // adding list values
149 156
        booleanList.add(true);
150 157
        booleanList.add(false);
151 158
        booleanList.add(null);
152 159

  
160
        // STRING LIST
161
        List<String> stringList = new ArrayList<String>();
162
        dynObject.setDynValue("text-list", stringList);
163

  
164
        // adding list values
165
        stringList.add("string-1");
166
        stringList.add("string-2");
167
        stringList.add("string-3");
168

  
169
        
170
        // LABEL LIST
171
        List<String> labelList = new ArrayList<String>();
172
        dynObject.setDynValue("label-list", labelList);
173

  
174
        // adding list values
175
        labelList.add("label-1");
176
        labelList.add("label-2");
177
        labelList.add("label-3");
178

  
179
        
153 180
        // INTEGER LIST
154 181
        List<Integer> integerList = new ArrayList<Integer>();
155 182
        dynObject.setDynValue("integer-list", integerList);
......
205 232
        return dynObject;
206 233
    }
207 234

  
208
    /**
209
     * @return
210
     */
211 235
    private void initDynClass() {
212 236

  
213 237
        this.addDynFieldList("Address-list").setMandatory(true)
......
219 243

  
220 244
        this.addDynFieldInt("integer").setReadOnly(true).setMandatory(true);
221 245

  
246

  
247
        this.addDynFieldList("text-list").setMandatory(true)
248
            .setElementsType(DataTypes.STRING);
249

  
250
        this.addDynFieldList("label-list").setMandatory(true)
251
            .setElementsType(DataTypes.STRING).setReadOnly(true);
252
        
222 253
        this.addDynFieldList("boolean-list").setMandatory(true)
223 254
            .setElementsType(DataTypes.BOOLEAN);
224 255
        this.addDynFieldList("integer-list").setMandatory(true)
......
262 293
             DataTypes.DATE);
263 294
    }
264 295

  
296
    private void initReadOnlyDynClass() {
297

  
298
        this.addDynFieldList("Address-list").setMandatory(true)
299
            .setElementsType(DataTypes.DYNOBJECT).setReadOnly(true);
300

  
301
        // TODO add all the available data types
302
        this.addDynFieldString("text").setReadOnly(true);
303
        this.addDynFieldString("label").setReadOnly(true);
304

  
305
        this.addDynFieldInt("integer").setReadOnly(true).setMandatory(true);
306

  
307

  
308
        this.addDynFieldList("text-list").setMandatory(true)
309
            .setElementsType(DataTypes.STRING).setReadOnly(true);
310

  
311
        this.addDynFieldList("label-list").setMandatory(true)
312
            .setElementsType(DataTypes.STRING).setReadOnly(true);
313
        
314
        this.addDynFieldList("boolean-list").setMandatory(true)
315
            .setElementsType(DataTypes.BOOLEAN).setReadOnly(true);
316
        this.addDynFieldList("integer-list").setMandatory(true)
317
            .setElementsType(DataTypes.INT).setReadOnly(true);
318
        this.addDynFieldFloat("float").setReadOnly(true);
319
        this.addDynFieldList("float-list").setMandatory(true).setElementsType(
320
            DataTypes.FLOAT).setReadOnly(true);
321
        //revisar esto
322
        this.addDynField("byte").setType(DataTypes.BYTE).setReadOnly(true);
323
        this.addDynFieldList("byte-list").setMandatory(true).setElementsType(
324
            DataTypes.BYTE).setReadOnly(true);
325

  
326
        DynObjectValueItem[] values = new DynObjectValueItem[3];
327
        values[0] = new DynObjectValueItem(0, "monday");
328
        values[1] = new DynObjectValueItem(1, "tuesday");
329
        values[2] = new DynObjectValueItem(2, "wednesday");
330
        this.addDynFieldInt("combo").setDefaultFieldValue(0)
331
            .setAvailableValues(values).setMandatory(true).setReadOnly(true);
332

  
333
        this.addDynFieldList("combo-list").setMandatory(true).setElementsType(
334
            DataTypes.INT).getElementsType().setAvailableValues(values).setReadOnly(true);
335

  
336
        this.addDynField("file").setMandatory(true).setType(DataTypes.FILE).setReadOnly(true);
337
        this.addDynField("folder").setMandatory(true).setType(DataTypes.FOLDER);
338
        this.addDynFieldList("folders").setElementsType(DataTypes.FOLDER);
339
        this.addDynFieldList("files").setElementsType(DataTypes.FILE).setReadOnly(true);
340

  
341
        this.addDynFieldDate("date").setMandatory(true).setSubtype(null).setReadOnly(true);
342
        this.addDynField("date-only").setMandatory(true)
343
            .setType(DataTypes.DATE).setSubtype(DataTypes.SUBTYPE_DATE).setReadOnly(true);
344
        this.addDynFieldDate("time-only").setMandatory(true).setType(
345
            DataTypes.TIME).setSubtype(null).setReadOnly(true);
346
        this.addDynField("timestamp").setMandatory(true).setType(
347
            DataTypes.TIMESTAMP).setReadOnly(true);
348

  
349
        this.addDynFieldBoolean("boolean").setReadOnly(true);
350

  
351
        this.addDynField("Address").setType(DataTypes.DYNOBJECT).setReadOnly(true);
352

  
353
         this.addDynFieldList("dates").setMandatory(true).setElementsType(
354
             DataTypes.DATE).setReadOnly(true);
355
    }
356

  
357
    
265 358
    // public DynObject createDynObject() {
266 359
    // DynObject dynObject = dynManager.createDynObject(this);
267 360
    //

Also available in: Unified diff