Revision 1714

View differences:

trunk/org.gvsig.app.document.layout2.app/org.gvsig.app.document.layout2.app.mainplugin/src/test/java/org/gvsig/layout/mapbox/model/TestMapBoxModel.java
1
/*
2
 * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
3
 * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
4
 */
5
package org.gvsig.layout.mapbox.model;
6

  
7
import java.awt.geom.Dimension2D;
8
import java.awt.geom.Rectangle2D;
9
import java.util.List;
10
import org.gvsig.tools.junit.AbstractLibraryAutoInitTestCase;
11

  
12
/**
13
 *
14
 * @author fdiaz
15
 */
16
public class TestMapBoxModel extends AbstractLibraryAutoInitTestCase {
17
    
18
    private static double TOLERANCE = 0.0000000000001;
19

  
20
    @Override
21
    protected void doSetUp() throws Exception {
22
        
23
    }
24
    
25
    private void checkCells(Rectangle2D.Double[] expecteds, List<Cell> actual) {
26
        assertEquals(expecteds.length, actual.size());
27
        for (int i = 0; i < expecteds.length; i++) {
28
            checkCell(expecteds[i], actual.get(i));
29
        }
30
    } 
31
    
32
    private void checkCell(Rectangle2D.Double expected, Cell actual) {
33
        
34
        checkDoubles(expected.x, actual.getX());
35
        checkDoubles(expected.y, actual.getY());
36
        checkDoubles(expected.width, actual.getWidth());
37
        checkDoubles(expected.height, actual.getHeight());
38

  
39
//        assertEquals(expected.x, actual.getX());
40
//        assertEquals(expected.y, actual.getY());
41
//        assertEquals(expected.width, actual.getWidth());
42
//        assertEquals(expected.height, actual.getHeight());
43
    } 
44
    
45
    private void checkDoubles(double expected, double actual){
46
        assertTrue("expected: "+expected+" actual: "+actual, Math.abs(expected - actual)<TOLERANCE);
47
        
48
    }
49
    
50
    public void test01_CreateAndSort() {
51
        MapBoxModel model= new MapBoxModel(new Dimension2DDouble(100d, 100d), 4, 3);
52
        model.sort();
53
        model.dump(null);
54
        
55
        checkCells(new Rectangle2D.Double[] {
56
                new Rectangle2D.Double(0, 0, 25, 100d/3),
57
                new Rectangle2D.Double(25, 0, 25, 100d/3),
58
                new Rectangle2D.Double(50, 0, 25, 100d/3),
59
                new Rectangle2D.Double(75, 0, 25, 100d/3),
60
                new Rectangle2D.Double(0, 100d/3, 25, 100d/3),
61
                new Rectangle2D.Double(25, 100d/3, 25, 100d/3),
62
                new Rectangle2D.Double(50, 100d/3, 25, 100d/3),
63
                new Rectangle2D.Double(75, 100d/3, 25, 100d/3),
64
                new Rectangle2D.Double(0, 2*100d/3, 25, 100d/3),
65
                new Rectangle2D.Double(25, 2*100d/3, 25, 100d/3),
66
                new Rectangle2D.Double(50, 2*100d/3, 25, 100d/3),
67
                new Rectangle2D.Double(75, 2*100d/3, 25, 100d/3)
68

  
69
            },
70
            model.getCells()
71
        );
72
    }
73

  
74
    public void test02_getCell() {
75
        MapBoxModel model= new MapBoxModel(new Dimension2DDouble(100d, 100d), 4, 3);
76
        Cell cell = model.getCell(35, 35);
77
        System.out.println(cell.toString());
78
        checkCell(new Rectangle2D.Double(25, 100d/3, 25, 100d/3), cell);
79
    }
80

  
81
    public void test03_addRowCell() {
82
        MapBoxModel model= new MapBoxModel(new Dimension2DDouble(100d, 100d), 4, 3);
83
        System.out.println("==================");
84
        Cell cell = model.getCell(35, 35);
85
        checkCell(new Rectangle2D.Double(25, 100d/3, 25, 100d/3), cell);
86
        model.addRow(cell);
87
        model.sort();
88
        model.dump(null);
89
        checkCells(new Rectangle2D.Double[] {
90
                new Rectangle2D.Double(0d, 0d, 25d, 25d),
91
                new Rectangle2D.Double(25, 0, 25, 25),
92
                new Rectangle2D.Double(50, 0, 25, 25),
93
                new Rectangle2D.Double(75, 0, 25, 25),
94
                new Rectangle2D.Double(0, 25, 25, 25),
95
                new Rectangle2D.Double(25, 25, 25, 25),
96
                new Rectangle2D.Double(50, 25, 25, 25),
97
                new Rectangle2D.Double(75, 25, 25, 25),
98
                new Rectangle2D.Double(0, 50, 25, 25),
99
                new Rectangle2D.Double(25, 50, 25, 25),
100
                new Rectangle2D.Double(50, 50, 25, 25),
101
                new Rectangle2D.Double(75, 50, 25, 25),
102
                new Rectangle2D.Double(0, 75, 25, 25),
103
                new Rectangle2D.Double(25, 75, 25, 25),
104
                new Rectangle2D.Double(50, 75, 25, 25),
105
                new Rectangle2D.Double(75, 75, 25, 25)
106
            },
107
            model.getCells()
108
        );
109
    }
110
    
111
    public void test04_getCells() {
112
        MapBoxModel model= new MapBoxModel(new Dimension2DDouble(100d, 100d), 4, 3);
113
        model.dump(null);
114
        List<Cell> cells = model.getCells( new Rectangle2D.Double(0, 100d/3, 25, 2*100d/3) );
115
        model.dump(cells);
116
        checkCells(new Rectangle2D.Double[] {
117
                new Rectangle2D.Double(0, 100d/3, 25, 100d/3),
118
                new Rectangle2D.Double(0, 2*100d/3, 25, 100d/3)
119
            }, cells);
120
    }
121

  
122
    public void test05_join() {
123
        MapBoxModel model= new MapBoxModel(new Dimension2DDouble(100d, 100d), 4, 3);
124
        List<Cell> cells = model.getCells( new Rectangle2D.Double(0, 100d/3, 25, 2*100d/3) );
125
        Cell join = model.join(cells);
126
        checkCell(new Rectangle2D.Double(0, 100d/3, 25, 2*100d/3), join);
127
    }
128
    
129
    public void test06_removeCell() {
130
        MapBoxModel model= new MapBoxModel(new Dimension2DDouble(100d, 100d), 4, 3);
131
        List<Cell> cells = model.getCells( new Rectangle2D.Double(0, 100d/3, 25, 2*100d/3) );
132
        model.removeCells(cells);
133
        model.sort();
134
        model.dump(null);
135
        checkCells(new Rectangle2D.Double[] {
136
                new Rectangle2D.Double(0, 0, 25, 100d/3),
137
                new Rectangle2D.Double(25, 0, 25, 100d/3),
138
                new Rectangle2D.Double(50, 0, 25, 100d/3),
139
                new Rectangle2D.Double(75, 0, 25, 100d/3),
140
                new Rectangle2D.Double(25, 100d/3, 25, 100d/3),
141
                new Rectangle2D.Double(50, 100d/3, 25, 100d/3),
142
                new Rectangle2D.Double(75, 100d/3, 25, 100d/3),
143
                new Rectangle2D.Double(25, 2*100d/3, 25, 100d/3),
144
                new Rectangle2D.Double(50, 2*100d/3, 25, 100d/3),
145
                new Rectangle2D.Double(75, 2*100d/3, 25, 100d/3)
146
            },
147
            model.getCells()
148
        );
149
    }
150

  
151
    public void test07_combineStepByStep() {
152
        MapBoxModel model= new MapBoxModel(new Dimension2DDouble(100d, 100d), 4, 3);
153
        List<Cell> cells = model.getCells( new Rectangle2D.Double(0, 100d/3, 25, 2*100d/3) );
154
        Cell join = model.join(cells);
155
        checkCell(new Rectangle2D.Double(0, 100d/3, 25, 2*100d/3), join);
156
        model.removeCells(cells);
157
        model.sort();
158
        model.dump(null);
159
        checkCells(new Rectangle2D.Double[] {
160
                new Rectangle2D.Double(0, 0, 25, 100d/3),
161
                new Rectangle2D.Double(25, 0, 25, 100d/3),
162
                new Rectangle2D.Double(50, 0, 25, 100d/3),
163
                new Rectangle2D.Double(75, 0, 25, 100d/3),
164
                new Rectangle2D.Double(25, 100d/3, 25, 100d/3),
165
                new Rectangle2D.Double(50, 100d/3, 25, 100d/3),
166
                new Rectangle2D.Double(75, 100d/3, 25, 100d/3),
167
                new Rectangle2D.Double(25, 2*100d/3, 25, 100d/3),
168
                new Rectangle2D.Double(50, 2*100d/3, 25, 100d/3),
169
                new Rectangle2D.Double(75, 2*100d/3, 25, 100d/3)
170
            },
171
            model.getCells()
172
        );
173
        model.add(join);
174
        model.sort();
175
        model.dump(null);
176
        checkCells(new Rectangle2D.Double[] {
177
                new Rectangle2D.Double(0, 0, 25, 100d/3),
178
                new Rectangle2D.Double(25, 0, 25, 100d/3),
179
                new Rectangle2D.Double(50, 0, 25, 100d/3),
180
                new Rectangle2D.Double(75, 0, 25, 100d/3),
181
                new Rectangle2D.Double(0, 100d/3, 25, 2*100d/3),
182
                new Rectangle2D.Double(25, 100d/3, 25, 100d/3),
183
                new Rectangle2D.Double(50, 100d/3, 25, 100d/3),
184
                new Rectangle2D.Double(75, 100d/3, 25, 100d/3),
185
                new Rectangle2D.Double(25, 2*100d/3, 25, 100d/3),
186
                new Rectangle2D.Double(50, 2*100d/3, 25, 100d/3),
187
                new Rectangle2D.Double(75, 2*100d/3, 25, 100d/3)
188
            },
189
            model.getCells()
190
        );
191
        
192
    }
193
    
194
    public void test08_combine() {
195
        MapBoxModel model= new MapBoxModel(new Dimension2DDouble(100d, 100d), 4, 3);
196
        List<Cell> cells = model.getCells( new Rectangle2D.Double(0, 100d/3, 25, 2*100d/3) );
197
        model.combine(cells);
198
        model.sort();
199
        model.dump(null);
200
        checkCells(new Rectangle2D.Double[] {
201
                new Rectangle2D.Double(0, 0, 25, 100d/3),
202
                new Rectangle2D.Double(25, 0, 25, 100d/3),
203
                new Rectangle2D.Double(50, 0, 25, 100d/3),
204
                new Rectangle2D.Double(75, 0, 25, 100d/3),
205
                new Rectangle2D.Double(0, 100d/3, 25, 2*100d/3),
206
                new Rectangle2D.Double(25, 100d/3, 25, 100d/3),
207
                new Rectangle2D.Double(50, 100d/3, 25, 100d/3),
208
                new Rectangle2D.Double(75, 100d/3, 25, 100d/3),
209
                new Rectangle2D.Double(25, 2*100d/3, 25, 100d/3),
210
                new Rectangle2D.Double(50, 2*100d/3, 25, 100d/3),
211
                new Rectangle2D.Double(75, 2*100d/3, 25, 100d/3)
212
            },
213
            model.getCells()
214
        );
215
        
216
    }
217
    
218
    public void test08_combineSelection() {
219
        MapBoxModel model= new MapBoxModel(new Dimension2DDouble(100d, 100d), 4, 3);
220
        SelectionCell selection = new SelectionCellImpl();
221
        selection.add(model.getCell(10, 35));
222
        selection.add(model.getCell(20, 68));
223
        List<Cell> cells = model.getCells(selection.getRectangle());
224
        model.combine(cells);
225
        model.sort();
226
        model.dump(null);
227
        checkCells(new Rectangle2D.Double[] {
228
                new Rectangle2D.Double(0, 0, 25, 100d/3),
229
                new Rectangle2D.Double(25, 0, 25, 100d/3),
230
                new Rectangle2D.Double(50, 0, 25, 100d/3),
231
                new Rectangle2D.Double(75, 0, 25, 100d/3),
232
                new Rectangle2D.Double(0, 100d/3, 25, 2*100d/3),
233
                new Rectangle2D.Double(25, 100d/3, 25, 100d/3),
234
                new Rectangle2D.Double(50, 100d/3, 25, 100d/3),
235
                new Rectangle2D.Double(75, 100d/3, 25, 100d/3),
236
                new Rectangle2D.Double(25, 2*100d/3, 25, 100d/3),
237
                new Rectangle2D.Double(50, 2*100d/3, 25, 100d/3),
238
                new Rectangle2D.Double(75, 2*100d/3, 25, 100d/3)
239
            },
240
            model.getCells()
241
        );
242
        
243
    }
244
    
245
    public void test09_insertRowCell() {
246
        MapBoxModel model= new MapBoxModel(new Dimension2DDouble(100d, 100d), 4, 3);
247
        Cell cell = model.getCell(35, 35);
248
        checkCell(new Rectangle2D.Double(25, 100d/3, 25, 100d/3), cell);
249
        model.insertRow(cell);
250
        model.sort();
251
//        model.dump(null);
252
        checkCells(new Rectangle2D.Double[] {
253
                new Rectangle2D.Double(0, 0, 25, 25),
254
                new Rectangle2D.Double(25, 0, 25, 25),
255
                new Rectangle2D.Double(50, 0, 25, 25),
256
                new Rectangle2D.Double(75, 0, 25, 25),
257
                new Rectangle2D.Double(0, 25, 25, 25),
258
                new Rectangle2D.Double(25, 25, 25, 25),
259
                new Rectangle2D.Double(50, 25, 25, 25),
260
                new Rectangle2D.Double(75, 25, 25, 25),
261
                new Rectangle2D.Double(0, 50, 25, 25),
262
                new Rectangle2D.Double(25, 50, 25, 25),
263
                new Rectangle2D.Double(50, 50, 25, 25),
264
                new Rectangle2D.Double(75, 50, 25, 25),
265
                new Rectangle2D.Double(0, 75, 25, 25),
266
                new Rectangle2D.Double(25, 75, 25, 25),
267
                new Rectangle2D.Double(50, 75, 25, 25),
268
                new Rectangle2D.Double(75, 75, 25, 25)
269
            },
270
            model.getCells()
271
        );
272
    }
273
    
274
    public void test10_Scale() {
275
        MapBoxModel model= new MapBoxModel(new Dimension2DDouble(100d, 100d), 4, 3);
276
        model.sort();
277
        model.dump(null);
278
        
279
        checkCells(new Rectangle2D.Double[] {
280
                new Rectangle2D.Double(0, 0, 25, 100d/3),
281
                new Rectangle2D.Double(25, 0, 25, 100d/3),
282
                new Rectangle2D.Double(50, 0, 25, 100d/3),
283
                new Rectangle2D.Double(75, 0, 25, 100d/3),
284
                new Rectangle2D.Double(0, 100d/3, 25, 100d/3),
285
                new Rectangle2D.Double(25, 100d/3, 25, 100d/3),
286
                new Rectangle2D.Double(50, 100d/3, 25, 100d/3),
287
                new Rectangle2D.Double(75, 100d/3, 25, 100d/3),
288
                new Rectangle2D.Double(0, 2*100d/3, 25, 100d/3),
289
                new Rectangle2D.Double(25, 2*100d/3, 25, 100d/3),
290
                new Rectangle2D.Double(50, 2*100d/3, 25, 100d/3),
291
                new Rectangle2D.Double(75, 2*100d/3, 25, 100d/3)
292

  
293
            },
294
            model.getCells()
295
        );
296
        
297
        model.resize((Dimension2D)(new Dimension2DDouble(200d,200d)));
298
        
299
        checkCells(new Rectangle2D.Double[] {
300
                new Rectangle2D.Double(0, 0, 50, 2*100d/3),
301
                new Rectangle2D.Double(50, 0, 50, 2*100d/3),
302
                new Rectangle2D.Double(100, 0, 50, 2*100d/3),
303
                new Rectangle2D.Double(150, 0, 50, 2*100d/3),
304
                new Rectangle2D.Double(0, 2*100d/3, 50, 2*100d/3),
305
                new Rectangle2D.Double(50, 2*100d/3, 50, 2*100d/3),
306
                new Rectangle2D.Double(100, 2*100d/3, 50, 2*100d/3),
307
                new Rectangle2D.Double(150, 2*100d/3, 50, 2*100d/3),
308
                new Rectangle2D.Double(0, 4*100d/3, 50, 2*100d/3),
309
                new Rectangle2D.Double(50, 4*100d/3, 50, 2*100d/3),
310
                new Rectangle2D.Double(100, 4*100d/3, 50, 2*100d/3),
311
                new Rectangle2D.Double(150, 4*100d/3, 50, 2*100d/3)
312

  
313
            },
314
            model.getCells()
315
        );
316
    }
317

  
318
    public void test11_SplitVerticallyCell() {
319
        MapBoxModel model= new MapBoxModel(new Dimension2DDouble(100d, 100d), 4, 3);
320
        model.sort();
321
        model.dump(null);
322
        
323
        checkCells(new Rectangle2D.Double[] {
324
                new Rectangle2D.Double(0, 0, 25, 100d/3),
325
                new Rectangle2D.Double(25, 0, 25, 100d/3),
326
                new Rectangle2D.Double(50, 0, 25, 100d/3),
327
                new Rectangle2D.Double(75, 0, 25, 100d/3),
328
                new Rectangle2D.Double(0, 100d/3, 25, 100d/3),
329
                new Rectangle2D.Double(25, 100d/3, 25, 100d/3),
330
                new Rectangle2D.Double(50, 100d/3, 25, 100d/3),
331
                new Rectangle2D.Double(75, 100d/3, 25, 100d/3),
332
                new Rectangle2D.Double(0, 2*100d/3, 25, 100d/3),
333
                new Rectangle2D.Double(25, 2*100d/3, 25, 100d/3),
334
                new Rectangle2D.Double(50, 2*100d/3, 25, 100d/3),
335
                new Rectangle2D.Double(75, 2*100d/3, 25, 100d/3)
336

  
337
            },
338
            model.getCells()
339
        );
340
        
341
        Cell cell = model.getCell(35, 35);
342
        model.splitCellVertically(cell);
343
        
344
        model.sort();
345
        System.out.println("===================");
346
        model.dump(null);
347
        
348
        checkCells(new Rectangle2D.Double[] {
349
                new Rectangle2D.Double(0, 0, 25, 100d/3),
350
                new Rectangle2D.Double(25, 0, 25, 100d/3),
351
                new Rectangle2D.Double(50, 0, 25, 100d/3),
352
                new Rectangle2D.Double(75, 0, 25, 100d/3),
353
                new Rectangle2D.Double(0, 100d/3, 25, 100d/3),
354
                new Rectangle2D.Double(25, 100d/3, 12.5, 100d/3),
355
                new Rectangle2D.Double(37.5, 100d/3, 12.5, 100d/3),
356
                new Rectangle2D.Double(50, 100d/3, 25, 100d/3),
357
                new Rectangle2D.Double(75, 100d/3, 25, 100d/3),
358
                new Rectangle2D.Double(0, 2*100d/3, 25, 100d/3),
359
                new Rectangle2D.Double(25, 2*100d/3, 25, 100d/3),
360
                new Rectangle2D.Double(50, 2*100d/3, 25, 100d/3),
361
                new Rectangle2D.Double(75, 2*100d/3, 25, 100d/3)
362

  
363
            },
364
            model.getCells()
365
        );
366

  
367
    }
368

  
369
    public void test12_SplitVerticallyCells() {
370
        MapBoxModel model= new MapBoxModel(new Dimension2DDouble(100d, 100d), 4, 3);
371
        model.sort();
372
        model.dump(null);
373
        
374
        checkCells(new Rectangle2D.Double[] {
375
                new Rectangle2D.Double(0, 0, 25, 100d/3),
376
                new Rectangle2D.Double(25, 0, 25, 100d/3),
377
                new Rectangle2D.Double(50, 0, 25, 100d/3),
378
                new Rectangle2D.Double(75, 0, 25, 100d/3),
379
                new Rectangle2D.Double(0, 100d/3, 25, 100d/3),
380
                new Rectangle2D.Double(25, 100d/3, 25, 100d/3),
381
                new Rectangle2D.Double(50, 100d/3, 25, 100d/3),
382
                new Rectangle2D.Double(75, 100d/3, 25, 100d/3),
383
                new Rectangle2D.Double(0, 2*100d/3, 25, 100d/3),
384
                new Rectangle2D.Double(25, 2*100d/3, 25, 100d/3),
385
                new Rectangle2D.Double(50, 2*100d/3, 25, 100d/3),
386
                new Rectangle2D.Double(75, 2*100d/3, 25, 100d/3)
387

  
388
            },
389
            model.getCells()
390
        );
391
        
392
        List<Cell> cells = model.getCells( new Rectangle2D.Double(0, 100d/3, 25, 2*100d/3) );
393
        model.splitCellsVertically(cells);
394
        
395
        model.sort();
396
        System.out.println("===================");
397
        model.dump(null);
398
        
399
        checkCells(new Rectangle2D.Double[] {
400
                new Rectangle2D.Double(0, 0, 25, 100d/3),
401
                new Rectangle2D.Double(25, 0, 25, 100d/3),
402
                new Rectangle2D.Double(50, 0, 25, 100d/3),
403
                new Rectangle2D.Double(75, 0, 25, 100d/3),
404
                new Rectangle2D.Double(0, 100d/3, 12.5, 100d/3),
405
                new Rectangle2D.Double(12.5, 100d/3, 12.5, 100d/3),
406
                new Rectangle2D.Double(25, 100d/3, 25, 100d/3),
407
                new Rectangle2D.Double(50, 100d/3, 25, 100d/3),
408
                new Rectangle2D.Double(75, 100d/3, 25, 100d/3),
409
                new Rectangle2D.Double(0, 2*100d/3, 12.5, 100d/3),
410
                new Rectangle2D.Double(12.5, 2*100d/3, 12.5, 100d/3),
411
                new Rectangle2D.Double(25, 2*100d/3, 25, 100d/3),
412
                new Rectangle2D.Double(50, 2*100d/3, 25, 100d/3),
413
                new Rectangle2D.Double(75, 2*100d/3, 25, 100d/3)
414

  
415
            },
416
            model.getCells()
417
        );
418
        
419
    }
420

  
421

  
422
    public void test13_SplitHorizontallyCell() {
423
        MapBoxModel model= new MapBoxModel(new Dimension2DDouble(100d, 100d), 4, 3);
424
        model.sort();
425
        model.dump(null);
426
        
427
        checkCells(new Rectangle2D.Double[] {
428
                new Rectangle2D.Double(0, 0, 25, 100d/3),
429
                new Rectangle2D.Double(25, 0, 25, 100d/3),
430
                new Rectangle2D.Double(50, 0, 25, 100d/3),
431
                new Rectangle2D.Double(75, 0, 25, 100d/3),
432
                new Rectangle2D.Double(0, 100d/3, 25, 100d/3),
433
                new Rectangle2D.Double(25, 100d/3, 25, 100d/3),
434
                new Rectangle2D.Double(50, 100d/3, 25, 100d/3),
435
                new Rectangle2D.Double(75, 100d/3, 25, 100d/3),
436
                new Rectangle2D.Double(0, 2*100d/3, 25, 100d/3),
437
                new Rectangle2D.Double(25, 2*100d/3, 25, 100d/3),
438
                new Rectangle2D.Double(50, 2*100d/3, 25, 100d/3),
439
                new Rectangle2D.Double(75, 2*100d/3, 25, 100d/3)
440

  
441
            },
442
            model.getCells()
443
        );
444
        
445
        Cell cell = model.getCell(35, 35);
446
        model.splitCellHorizontally(cell);
447
        
448
        model.sort();
449
        System.out.println("===================");
450
        model.dump(null);
451
        
452
        checkCells(new Rectangle2D.Double[] {
453
                new Rectangle2D.Double(0, 0, 25, 100d/3),
454
                new Rectangle2D.Double(25, 0, 25, 100d/3),
455
                new Rectangle2D.Double(50, 0, 25, 100d/3),
456
                new Rectangle2D.Double(75, 0, 25, 100d/3),
457
                new Rectangle2D.Double(0, 100d/3, 25, 100d/3),
458
                new Rectangle2D.Double(25, 100d/3, 25, 100d/6),
459
                new Rectangle2D.Double(50, 100d/3, 25, 100d/3),
460
                new Rectangle2D.Double(75, 100d/3, 25, 100d/3),
461
                new Rectangle2D.Double(25, 50, 25, 100d/6),
462
                new Rectangle2D.Double(0, 2*100d/3, 25, 100d/3),
463
                new Rectangle2D.Double(25, 2*100d/3, 25, 100d/3),
464
                new Rectangle2D.Double(50, 2*100d/3, 25, 100d/3),
465
                new Rectangle2D.Double(75, 2*100d/3, 25, 100d/3)
466

  
467
            },
468
            model.getCells()
469
        );
470

  
471
    }
472

  
473
    public void test14_SplitHorizontallyCells() {
474
        MapBoxModel model= new MapBoxModel(new Dimension2DDouble(100d, 100d), 4, 3);
475
        model.sort();
476
        model.dump(null);
477
        
478
        checkCells(new Rectangle2D.Double[] {
479
                new Rectangle2D.Double(0, 0, 25, 100d/3),
480
                new Rectangle2D.Double(25, 0, 25, 100d/3),
481
                new Rectangle2D.Double(50, 0, 25, 100d/3),
482
                new Rectangle2D.Double(75, 0, 25, 100d/3),
483
                new Rectangle2D.Double(0, 100d/3, 25, 100d/3),
484
                new Rectangle2D.Double(25, 100d/3, 25, 100d/3),
485
                new Rectangle2D.Double(50, 100d/3, 25, 100d/3),
486
                new Rectangle2D.Double(75, 100d/3, 25, 100d/3),
487
                new Rectangle2D.Double(0, 2*100d/3, 25, 100d/3),
488
                new Rectangle2D.Double(25, 2*100d/3, 25, 100d/3),
489
                new Rectangle2D.Double(50, 2*100d/3, 25, 100d/3),
490
                new Rectangle2D.Double(75, 2*100d/3, 25, 100d/3)
491

  
492
            },
493
            model.getCells()
494
        );
495
        
496
        List<Cell> cells = model.getCells( new Rectangle2D.Double(0, 100d/3, 25, 2*100d/3) );
497
        model.splitCellsHorizontally(cells);
498
        
499
        model.sort();
500
        System.out.println("===================");
501
        model.dump(null);
502
        
503
        checkCells(new Rectangle2D.Double[] {
504
                new Rectangle2D.Double(0, 0, 25, 100d/3),
505
                new Rectangle2D.Double(25, 0, 25, 100d/3),
506
                new Rectangle2D.Double(50, 0, 25, 100d/3),
507
                new Rectangle2D.Double(75, 0, 25, 100d/3),
508
                new Rectangle2D.Double(0, 100d/3, 25.0, 100d/6),
509
                new Rectangle2D.Double(25, 100d/3, 25, 100d/3),
510
                new Rectangle2D.Double(50, 100d/3, 25, 100d/3),
511
                new Rectangle2D.Double(75, 100d/3, 25, 100d/3),
512
                new Rectangle2D.Double(0, 50, 25.0, 100d/6),
513
                new Rectangle2D.Double(0, 2*100d/3, 25, 100d/6),
514
                new Rectangle2D.Double(25, 2*100d/3, 25, 100d/3),
515
                new Rectangle2D.Double(50, 2*100d/3, 25, 100d/3),
516
                new Rectangle2D.Double(75, 2*100d/3, 25, 100d/3),
517
                new Rectangle2D.Double(0, 5*100d/6, 25, 100d/6)
518

  
519
            },
520
            model.getCells()
521
        );
522
        
523
    }
524

  
525
    public void test15_MoveFirstVerticaLineToTheRight() {
526
        MapBoxModel model= new MapBoxModel(new Dimension2DDouble(100d, 100d), 4, 3);
527
        model.sort();
528
        model.dump(null);
529
        
530
        checkCells(new Rectangle2D.Double[] {
531
                new Rectangle2D.Double(0, 0, 25, 100d/3),
532
                new Rectangle2D.Double(25, 0, 25, 100d/3),
533
                new Rectangle2D.Double(50, 0, 25, 100d/3),
534
                new Rectangle2D.Double(75, 0, 25, 100d/3),
535
                new Rectangle2D.Double(0, 100d/3, 25, 100d/3),
536
                new Rectangle2D.Double(25, 100d/3, 25, 100d/3),
537
                new Rectangle2D.Double(50, 100d/3, 25, 100d/3),
538
                new Rectangle2D.Double(75, 100d/3, 25, 100d/3),
539
                new Rectangle2D.Double(0, 2*100d/3, 25, 100d/3),
540
                new Rectangle2D.Double(25, 2*100d/3, 25, 100d/3),
541
                new Rectangle2D.Double(50, 2*100d/3, 25, 100d/3),
542
                new Rectangle2D.Double(75, 2*100d/3, 25, 100d/3)
543

  
544
            },
545
            model.getCells()
546
        );
547
        
548
        
549
        
550
        model.moveVerticalLine(0d, 10d);
551
        
552
        model.sort();
553
        System.out.println("===================");
554
        model.dump(null);
555
        
556
        checkCells(new Rectangle2D.Double[] {
557
                new Rectangle2D.Double(0, 0, 15, 100d/3),
558
                new Rectangle2D.Double(15, 0, 25, 100d/3),
559
                new Rectangle2D.Double(40, 0, 25, 100d/3),
560
                new Rectangle2D.Double(65, 0, 25, 100d/3),
561
                new Rectangle2D.Double(0, 100d/3, 15, 100d/3),
562
                new Rectangle2D.Double(15, 100d/3, 25, 100d/3),
563
                new Rectangle2D.Double(40, 100d/3, 25, 100d/3),
564
                new Rectangle2D.Double(65, 100d/3, 25, 100d/3),
565
                new Rectangle2D.Double(0, 2*100d/3, 15, 100d/3),
566
                new Rectangle2D.Double(15, 2*100d/3, 25, 100d/3),
567
                new Rectangle2D.Double(40, 2*100d/3, 25, 100d/3),
568
                new Rectangle2D.Double(65, 2*100d/3, 25, 100d/3)
569

  
570
            },
571
            model.getCells()
572
        );
573
        
574
    }
575
    
576
    public void test16_MoveFirstVerticaLineToTheLeft() {
577
        MapBoxModel model= new MapBoxModel(new Dimension2DDouble(100d, 100d), 4, 3);
578
        model.sort();
579
        model.dump(null);
580
        
581
        checkCells(new Rectangle2D.Double[] {
582
                new Rectangle2D.Double(0, 0, 25, 100d/3),
583
                new Rectangle2D.Double(25, 0, 25, 100d/3),
584
                new Rectangle2D.Double(50, 0, 25, 100d/3),
585
                new Rectangle2D.Double(75, 0, 25, 100d/3),
586
                new Rectangle2D.Double(0, 100d/3, 25, 100d/3),
587
                new Rectangle2D.Double(25, 100d/3, 25, 100d/3),
588
                new Rectangle2D.Double(50, 100d/3, 25, 100d/3),
589
                new Rectangle2D.Double(75, 100d/3, 25, 100d/3),
590
                new Rectangle2D.Double(0, 2*100d/3, 25, 100d/3),
591
                new Rectangle2D.Double(25, 2*100d/3, 25, 100d/3),
592
                new Rectangle2D.Double(50, 2*100d/3, 25, 100d/3),
593
                new Rectangle2D.Double(75, 2*100d/3, 25, 100d/3)
594

  
595
            },
596
            model.getCells()
597
        );
598
        
599
        model.moveVerticalLine(0d, -10d);
600
        
601
        model.sort();
602
        System.out.println("===================");
603
        model.dump(null);
604
        
605
        checkCells(new Rectangle2D.Double[] {
606
                new Rectangle2D.Double(0, 0, 35, 100d/3),
607
                new Rectangle2D.Double(35, 0, 25, 100d/3),
608
                new Rectangle2D.Double(60, 0, 25, 100d/3),
609
                new Rectangle2D.Double(85, 0, 25, 100d/3),
610
                new Rectangle2D.Double(0, 100d/3, 35, 100d/3),
611
                new Rectangle2D.Double(35, 100d/3, 25, 100d/3),
612
                new Rectangle2D.Double(60, 100d/3, 25, 100d/3),
613
                new Rectangle2D.Double(85, 100d/3, 25, 100d/3),
614
                new Rectangle2D.Double(0, 2*100d/3, 35, 100d/3),
615
                new Rectangle2D.Double(35, 2*100d/3, 25, 100d/3),
616
                new Rectangle2D.Double(60, 2*100d/3, 25, 100d/3),
617
                new Rectangle2D.Double(85, 2*100d/3, 25, 100d/3)
618

  
619
            },
620
            model.getCells()
621
        );
622
        
623
    }
624
    
625
    public void test17_MoveLastVerticaLineToTheRight() {
626
        MapBoxModel model= new MapBoxModel(new Dimension2DDouble(100d, 100d), 4, 3);
627
        model.sort();
628
        model.dump(null);
629
        
630
        checkCells(new Rectangle2D.Double[] {
631
                new Rectangle2D.Double(0, 0, 25, 100d/3),
632
                new Rectangle2D.Double(25, 0, 25, 100d/3),
633
                new Rectangle2D.Double(50, 0, 25, 100d/3),
634
                new Rectangle2D.Double(75, 0, 25, 100d/3),
635
                new Rectangle2D.Double(0, 100d/3, 25, 100d/3),
636
                new Rectangle2D.Double(25, 100d/3, 25, 100d/3),
637
                new Rectangle2D.Double(50, 100d/3, 25, 100d/3),
638
                new Rectangle2D.Double(75, 100d/3, 25, 100d/3),
639
                new Rectangle2D.Double(0, 2*100d/3, 25, 100d/3),
640
                new Rectangle2D.Double(25, 2*100d/3, 25, 100d/3),
641
                new Rectangle2D.Double(50, 2*100d/3, 25, 100d/3),
642
                new Rectangle2D.Double(75, 2*100d/3, 25, 100d/3)
643

  
644
            },
645
            model.getCells()
646
        );
647
        
648
        model.moveVerticalLine(100d, 110d);
649
        
650
        model.sort();
651
        System.out.println("===================");
652
        model.dump(null);
653
        
654
        checkCells(new Rectangle2D.Double[] {
655
                new Rectangle2D.Double(0, 0, 25, 100d/3),
656
                new Rectangle2D.Double(25, 0, 25, 100d/3),
657
                new Rectangle2D.Double(50, 0, 25, 100d/3),
658
                new Rectangle2D.Double(75, 0, 35, 100d/3),
659
                new Rectangle2D.Double(0, 100d/3, 25, 100d/3),
660
                new Rectangle2D.Double(25, 100d/3, 25, 100d/3),
661
                new Rectangle2D.Double(50, 100d/3, 25, 100d/3),
662
                new Rectangle2D.Double(75, 100d/3, 35, 100d/3),
663
                new Rectangle2D.Double(0, 2*100d/3, 25, 100d/3),
664
                new Rectangle2D.Double(25, 2*100d/3, 25, 100d/3),
665
                new Rectangle2D.Double(50, 2*100d/3, 25, 100d/3),
666
                new Rectangle2D.Double(75, 2*100d/3, 35, 100d/3)
667

  
668
            },
669
            model.getCells()
670
        );
671
        
672
    }
673

  
674
    public void test18_MoveLastVerticaLineToTheLeft() {
675
        MapBoxModel model= new MapBoxModel(new Dimension2DDouble(100d, 100d), 4, 3);
676
        model.sort();
677
        model.dump(null);
678
        
679
        checkCells(new Rectangle2D.Double[] {
680
                new Rectangle2D.Double(0, 0, 25, 100d/3),
681
                new Rectangle2D.Double(25, 0, 25, 100d/3),
682
                new Rectangle2D.Double(50, 0, 25, 100d/3),
683
                new Rectangle2D.Double(75, 0, 25, 100d/3),
684
                new Rectangle2D.Double(0, 100d/3, 25, 100d/3),
685
                new Rectangle2D.Double(25, 100d/3, 25, 100d/3),
686
                new Rectangle2D.Double(50, 100d/3, 25, 100d/3),
687
                new Rectangle2D.Double(75, 100d/3, 25, 100d/3),
688
                new Rectangle2D.Double(0, 2*100d/3, 25, 100d/3),
689
                new Rectangle2D.Double(25, 2*100d/3, 25, 100d/3),
690
                new Rectangle2D.Double(50, 2*100d/3, 25, 100d/3),
691
                new Rectangle2D.Double(75, 2*100d/3, 25, 100d/3)
692

  
693
            },
694
            model.getCells()
695
        );
696
        
697
        model.moveVerticalLine(100d, 90d);
698
        
699
        model.sort();
700
        System.out.println("===================");
701
        model.dump(null);
702
        
703
        checkCells(new Rectangle2D.Double[] {
704
                new Rectangle2D.Double(0, 0, 25, 100d/3),
705
                new Rectangle2D.Double(25, 0, 25, 100d/3),
706
                new Rectangle2D.Double(50, 0, 25, 100d/3),
707
                new Rectangle2D.Double(75, 0, 15, 100d/3),
708
                new Rectangle2D.Double(0, 100d/3, 25, 100d/3),
709
                new Rectangle2D.Double(25, 100d/3, 25, 100d/3),
710
                new Rectangle2D.Double(50, 100d/3, 25, 100d/3),
711
                new Rectangle2D.Double(75, 100d/3, 15, 100d/3),
712
                new Rectangle2D.Double(0, 2*100d/3, 25, 100d/3),
713
                new Rectangle2D.Double(25, 2*100d/3, 25, 100d/3),
714
                new Rectangle2D.Double(50, 2*100d/3, 25, 100d/3),
715
                new Rectangle2D.Double(75, 2*100d/3, 15, 100d/3)
716

  
717
            },
718
            model.getCells()
719
        );
720
        
721
    }
722

  
723
    public void test19_MoveVerticaLinetoTheRight() {
724
        MapBoxModel model= new MapBoxModel(new Dimension2DDouble(100d, 100d), 4, 3);
725
        model.sort();
726
        model.dump(null);
727
        
728
        checkCells(new Rectangle2D.Double[] {
729
                new Rectangle2D.Double(0, 0, 25, 100d/3),
730
                new Rectangle2D.Double(25, 0, 25, 100d/3),
731
                new Rectangle2D.Double(50, 0, 25, 100d/3),
732
                new Rectangle2D.Double(75, 0, 25, 100d/3),
733
                new Rectangle2D.Double(0, 100d/3, 25, 100d/3),
734
                new Rectangle2D.Double(25, 100d/3, 25, 100d/3),
735
                new Rectangle2D.Double(50, 100d/3, 25, 100d/3),
736
                new Rectangle2D.Double(75, 100d/3, 25, 100d/3),
737
                new Rectangle2D.Double(0, 2*100d/3, 25, 100d/3),
738
                new Rectangle2D.Double(25, 2*100d/3, 25, 100d/3),
739
                new Rectangle2D.Double(50, 2*100d/3, 25, 100d/3),
740
                new Rectangle2D.Double(75, 2*100d/3, 25, 100d/3)
741

  
742
            },
743
            model.getCells()
744
        );
745
        
746
        model.moveVerticalLine(25d, 30d);
747
        
748
        model.sort();
749
        System.out.println("===================");
750
        model.dump(null);
751
        
752
        checkCells(new Rectangle2D.Double[] {
753
                new Rectangle2D.Double(0, 0, 30, 100d/3),
754
                new Rectangle2D.Double(30, 0, 20, 100d/3),
755
                new Rectangle2D.Double(50, 0, 25, 100d/3),
756
                new Rectangle2D.Double(75, 0, 25, 100d/3),
757
                new Rectangle2D.Double(0, 100d/3, 30, 100d/3),
758
                new Rectangle2D.Double(30, 100d/3, 20, 100d/3),
759
                new Rectangle2D.Double(50, 100d/3, 25, 100d/3),
760
                new Rectangle2D.Double(75, 100d/3, 25, 100d/3),
761
                new Rectangle2D.Double(0, 2*100d/3, 30, 100d/3),
762
                new Rectangle2D.Double(30, 2*100d/3, 20, 100d/3),
763
                new Rectangle2D.Double(50, 2*100d/3, 25, 100d/3),
764
                new Rectangle2D.Double(75, 2*100d/3, 25, 100d/3)
765

  
766
            },
767
            model.getCells()
768
        );
769
        
770
    }
771

  
772
    public void test20_MoveVerticaLineTheLeft() {
773
        MapBoxModel model= new MapBoxModel(new Dimension2DDouble(100d, 100d), 4, 3);
774
        model.sort();
775
        model.dump(null);
776
        
777
        checkCells(new Rectangle2D.Double[] {
778
                new Rectangle2D.Double(0, 0, 25, 100d/3),
779
                new Rectangle2D.Double(25, 0, 25, 100d/3),
780
                new Rectangle2D.Double(50, 0, 25, 100d/3),
781
                new Rectangle2D.Double(75, 0, 25, 100d/3),
782
                new Rectangle2D.Double(0, 100d/3, 25, 100d/3),
783
                new Rectangle2D.Double(25, 100d/3, 25, 100d/3),
784
                new Rectangle2D.Double(50, 100d/3, 25, 100d/3),
785
                new Rectangle2D.Double(75, 100d/3, 25, 100d/3),
786
                new Rectangle2D.Double(0, 2*100d/3, 25, 100d/3),
787
                new Rectangle2D.Double(25, 2*100d/3, 25, 100d/3),
788
                new Rectangle2D.Double(50, 2*100d/3, 25, 100d/3),
789
                new Rectangle2D.Double(75, 2*100d/3, 25, 100d/3)
790

  
791
            },
792
            model.getCells()
793
        );
794
        
795
        model.moveVerticalLine(25d, 20d);
796
        
797
        model.sort();
798
        System.out.println("===================");
799
        model.dump(null);
800
        
801
        checkCells(new Rectangle2D.Double[] {
802
                new Rectangle2D.Double(0, 0, 20, 100d/3),
803
                new Rectangle2D.Double(20, 0, 30, 100d/3),
804
                new Rectangle2D.Double(50, 0, 25, 100d/3),
805
                new Rectangle2D.Double(75, 0, 25, 100d/3),
806
                new Rectangle2D.Double(0, 100d/3, 20, 100d/3),
807
                new Rectangle2D.Double(20, 100d/3, 30, 100d/3),
808
                new Rectangle2D.Double(50, 100d/3, 25, 100d/3),
809
                new Rectangle2D.Double(75, 100d/3, 25, 100d/3),
810
                new Rectangle2D.Double(0, 2*100d/3, 20, 100d/3),
811
                new Rectangle2D.Double(20, 2*100d/3, 30, 100d/3),
812
                new Rectangle2D.Double(50, 2*100d/3, 25, 100d/3),
813
                new Rectangle2D.Double(75, 2*100d/3, 25, 100d/3)
814

  
815
            },
816
            model.getCells()
817
        );
818
        
819
    }
820
    
821
    public void test21_MoveFirstHorizontalLineDown() {
822
        MapBoxModel model= new MapBoxModel(new Dimension2DDouble(100d, 100d), 4, 3);
823
        model.sort();
824
        model.dump(null);
825
        
826
        checkCells(new Rectangle2D.Double[] {
827
                new Rectangle2D.Double(0, 0, 25, 100d/3),
828
                new Rectangle2D.Double(25, 0, 25, 100d/3),
829
                new Rectangle2D.Double(50, 0, 25, 100d/3),
830
                new Rectangle2D.Double(75, 0, 25, 100d/3),
831
                new Rectangle2D.Double(0, 100d/3, 25, 100d/3),
832
                new Rectangle2D.Double(25, 100d/3, 25, 100d/3),
833
                new Rectangle2D.Double(50, 100d/3, 25, 100d/3),
834
                new Rectangle2D.Double(75, 100d/3, 25, 100d/3),
835
                new Rectangle2D.Double(0, 2*100d/3, 25, 100d/3),
836
                new Rectangle2D.Double(25, 2*100d/3, 25, 100d/3),
837
                new Rectangle2D.Double(50, 2*100d/3, 25, 100d/3),
838
                new Rectangle2D.Double(75, 2*100d/3, 25, 100d/3)
839

  
840
            },
841
            model.getCells()
842
        );
843
        
844
        model.moveHorizontalLine(0d, 10d);
845
        
846
        model.sort();
847
        System.out.println("===================");
848
        model.dump(null);
849
        
850
        checkCells(new Rectangle2D.Double[] {
851
                new Rectangle2D.Double(0, 0, 25, 100d/3-10),
852
                new Rectangle2D.Double(25, 0, 25, 100d/3-10),
853
                new Rectangle2D.Double(50, 0, 25, 100d/3-10),
854
                new Rectangle2D.Double(75, 0, 25, 100d/3-10),
855
                new Rectangle2D.Double(0, 100d/3-10, 25, 100d/3),
856
                new Rectangle2D.Double(25, 100d/3-10, 25, 100d/3),
857
                new Rectangle2D.Double(50, 100d/3-10, 25, 100d/3),
858
                new Rectangle2D.Double(75, 100d/3-10, 25, 100d/3),
859
                new Rectangle2D.Double(0, 2*100d/3-10, 25, 100d/3),
860
                new Rectangle2D.Double(25, 2*100d/3-10, 25, 100d/3),
861
                new Rectangle2D.Double(50, 2*100d/3-10, 25, 100d/3),
862
                new Rectangle2D.Double(75, 2*100d/3-10, 25, 100d/3)
863

  
864
            },
865
            model.getCells()
866
        );
867
        
868
    }
869
    
870
    public void test22_MoveFirstHorizontalLineUp() {
871
        MapBoxModel model= new MapBoxModel(new Dimension2DDouble(100d, 100d), 4, 3);
872
        model.sort();
873
        model.dump(null);
874
        
875
        checkCells(new Rectangle2D.Double[] {
876
                new Rectangle2D.Double(0, 0, 25, 100d/3),
877
                new Rectangle2D.Double(25, 0, 25, 100d/3),
878
                new Rectangle2D.Double(50, 0, 25, 100d/3),
879
                new Rectangle2D.Double(75, 0, 25, 100d/3),
880
                new Rectangle2D.Double(0, 100d/3, 25, 100d/3),
881
                new Rectangle2D.Double(25, 100d/3, 25, 100d/3),
882
                new Rectangle2D.Double(50, 100d/3, 25, 100d/3),
883
                new Rectangle2D.Double(75, 100d/3, 25, 100d/3),
884
                new Rectangle2D.Double(0, 2*100d/3, 25, 100d/3),
885
                new Rectangle2D.Double(25, 2*100d/3, 25, 100d/3),
886
                new Rectangle2D.Double(50, 2*100d/3, 25, 100d/3),
887
                new Rectangle2D.Double(75, 2*100d/3, 25, 100d/3)
888

  
889
            },
890
            model.getCells()
891
        );
892
        
893
        model.moveHorizontalLine(0d, -10d);
894
        
895
        model.sort();
896
        System.out.println("===================");
897
        model.dump(null);
898
        
899
        checkCells(new Rectangle2D.Double[] {
900
                new Rectangle2D.Double(0, 0, 25, 100d/3+10),
901
                new Rectangle2D.Double(25, 0, 25, 100d/3+10),
902
                new Rectangle2D.Double(50, 0, 25, 100d/3+10),
903
                new Rectangle2D.Double(75, 0, 25, 100d/3+10),
904
                new Rectangle2D.Double(0, 100d/3+10, 25, 100d/3),
905
                new Rectangle2D.Double(25, 100d/3+10, 25, 100d/3),
906
                new Rectangle2D.Double(50, 100d/3+10, 25, 100d/3),
907
                new Rectangle2D.Double(75, 100d/3+10, 25, 100d/3),
908
                new Rectangle2D.Double(0, 2*100d/3+10, 25, 100d/3),
909
                new Rectangle2D.Double(25, 2*100d/3+10, 25, 100d/3),
910
                new Rectangle2D.Double(50, 2*100d/3+10, 25, 100d/3),
911
                new Rectangle2D.Double(75, 2*100d/3+10, 25, 100d/3)
912

  
913
            },
914
            model.getCells()
915
        );
916
        
917
    }
918
    
919
    public void test23_MoveLastHorizontalLineDown() {
920
        MapBoxModel model= new MapBoxModel(new Dimension2DDouble(100d, 100d), 4, 3);
921
        model.sort();
922
        model.dump(null);
923
        
924
        checkCells(new Rectangle2D.Double[] {
925
                new Rectangle2D.Double(0, 0, 25, 100d/3),
926
                new Rectangle2D.Double(25, 0, 25, 100d/3),
927
                new Rectangle2D.Double(50, 0, 25, 100d/3),
928
                new Rectangle2D.Double(75, 0, 25, 100d/3),
929
                new Rectangle2D.Double(0, 100d/3, 25, 100d/3),
930
                new Rectangle2D.Double(25, 100d/3, 25, 100d/3),
931
                new Rectangle2D.Double(50, 100d/3, 25, 100d/3),
932
                new Rectangle2D.Double(75, 100d/3, 25, 100d/3),
933
                new Rectangle2D.Double(0, 2*100d/3, 25, 100d/3),
934
                new Rectangle2D.Double(25, 2*100d/3, 25, 100d/3),
935
                new Rectangle2D.Double(50, 2*100d/3, 25, 100d/3),
936
                new Rectangle2D.Double(75, 2*100d/3, 25, 100d/3)
937

  
938
            },
939
            model.getCells()
940
        );
941
        
942
        model.moveHorizontalLine(100d, 110d);
943
        
944
        model.sort();
945
        System.out.println("===================");
946
        model.dump(null);
947
        
948
        checkCells(new Rectangle2D.Double[] {
949
                new Rectangle2D.Double(0, 0, 25, 100d/3),
950
                new Rectangle2D.Double(25, 0, 25, 100d/3),
951
                new Rectangle2D.Double(50, 0, 25, 100d/3),
952
                new Rectangle2D.Double(75, 0, 25, 100d/3),
953
                new Rectangle2D.Double(0, 100d/3, 25, 100d/3),
954
                new Rectangle2D.Double(25, 100d/3, 25, 100d/3),
955
                new Rectangle2D.Double(50, 100d/3, 25, 100d/3),
956
                new Rectangle2D.Double(75, 100d/3, 25, 100d/3),
957
                new Rectangle2D.Double(0, 2*100d/3, 25, 100d/3+10),
958
                new Rectangle2D.Double(25, 2*100d/3, 25, 100d/3+10),
959
                new Rectangle2D.Double(50, 2*100d/3, 25, 100d/3+10),
960
                new Rectangle2D.Double(75, 2*100d/3, 25, 100d/3+10)
961

  
962
            },
963
            model.getCells()
964
        );
965
        
966
    }
967

  
968
    public void test24_MoveLastHorizontalLineUp() {
969
        MapBoxModel model= new MapBoxModel(new Dimension2DDouble(100d, 100d), 4, 3);
970
        model.sort();
971
        model.dump(null);
972
        
973
        checkCells(new Rectangle2D.Double[] {
974
                new Rectangle2D.Double(0, 0, 25, 100d/3),
975
                new Rectangle2D.Double(25, 0, 25, 100d/3),
976
                new Rectangle2D.Double(50, 0, 25, 100d/3),
977
                new Rectangle2D.Double(75, 0, 25, 100d/3),
978
                new Rectangle2D.Double(0, 100d/3, 25, 100d/3),
979
                new Rectangle2D.Double(25, 100d/3, 25, 100d/3),
980
                new Rectangle2D.Double(50, 100d/3, 25, 100d/3),
981
                new Rectangle2D.Double(75, 100d/3, 25, 100d/3),
982
                new Rectangle2D.Double(0, 2*100d/3, 25, 100d/3),
983
                new Rectangle2D.Double(25, 2*100d/3, 25, 100d/3),
984
                new Rectangle2D.Double(50, 2*100d/3, 25, 100d/3),
985
                new Rectangle2D.Double(75, 2*100d/3, 25, 100d/3)
986

  
987
            },
988
            model.getCells()
989
        );
990
        
991
        model.moveHorizontalLine(100d, 90d);
992
        
993
        model.sort();
994
        System.out.println("===================");
995
        model.dump(null);
996
        
997
        checkCells(new Rectangle2D.Double[] {
998
                new Rectangle2D.Double(0, 0, 25, 100d/3),
999
                new Rectangle2D.Double(25, 0, 25, 100d/3),
1000
                new Rectangle2D.Double(50, 0, 25, 100d/3),
1001
                new Rectangle2D.Double(75, 0, 25, 100d/3),
1002
                new Rectangle2D.Double(0, 100d/3, 25, 100d/3),
1003
                new Rectangle2D.Double(25, 100d/3, 25, 100d/3),
1004
                new Rectangle2D.Double(50, 100d/3, 25, 100d/3),
1005
                new Rectangle2D.Double(75, 100d/3, 25, 100d/3),
1006
                new Rectangle2D.Double(0, 2*100d/3, 25, 100d/3-10),
1007
                new Rectangle2D.Double(25, 2*100d/3, 25, 100d/3-10),
1008
                new Rectangle2D.Double(50, 2*100d/3, 25, 100d/3-10),
1009
                new Rectangle2D.Double(75, 2*100d/3, 25, 100d/3-10)
1010

  
1011
            },
1012
            model.getCells()
1013
        );
1014
        
1015
    }
1016

  
1017
    public void test25_MoveHorizontalLineDown() {
1018
        MapBoxModel model= new MapBoxModel(new Dimension2DDouble(100d, 100d), 4, 3);
1019
        model.sort();
1020
        model.dump(null);
1021
        
1022
        checkCells(new Rectangle2D.Double[] {
1023
                new Rectangle2D.Double(0, 0, 25, 100d/3),
1024
                new Rectangle2D.Double(25, 0, 25, 100d/3),
1025
                new Rectangle2D.Double(50, 0, 25, 100d/3),
1026
                new Rectangle2D.Double(75, 0, 25, 100d/3),
1027
                new Rectangle2D.Double(0, 100d/3, 25, 100d/3),
1028
                new Rectangle2D.Double(25, 100d/3, 25, 100d/3),
1029
                new Rectangle2D.Double(50, 100d/3, 25, 100d/3),
1030
                new Rectangle2D.Double(75, 100d/3, 25, 100d/3),
1031
                new Rectangle2D.Double(0, 2*100d/3, 25, 100d/3),
1032
                new Rectangle2D.Double(25, 2*100d/3, 25, 100d/3),
1033
                new Rectangle2D.Double(50, 2*100d/3, 25, 100d/3),
1034
                new Rectangle2D.Double(75, 2*100d/3, 25, 100d/3)
1035

  
1036
            },
1037
            model.getCells()
1038
        );
1039
        
1040
        model.moveHorizontalLine(100d/3, 100d/3+10);
1041
        
1042
        model.sort();
1043
        System.out.println("===================");
1044
        model.dump(null);
1045
        
1046
        checkCells(new Rectangle2D.Double[] {
1047
                new Rectangle2D.Double(0, 0, 25, 100d/3+10),
1048
                new Rectangle2D.Double(25, 0, 25, 100d/3+10),
1049
                new Rectangle2D.Double(50, 0, 25, 100d/3+10),
1050
                new Rectangle2D.Double(75, 0, 25, 100d/3+10),
1051
                new Rectangle2D.Double(0, 100d/3+10, 25, 100d/3-10),
1052
                new Rectangle2D.Double(25, 100d/3+10, 25, 100d/3-10),
1053
                new Rectangle2D.Double(50, 100d/3+10, 25, 100d/3-10),
1054
                new Rectangle2D.Double(75, 100d/3+10, 25, 100d/3-10),
1055
                new Rectangle2D.Double(0, 2*100d/3, 25, 100d/3),
1056
                new Rectangle2D.Double(25, 2*100d/3, 25, 100d/3),
1057
                new Rectangle2D.Double(50, 2*100d/3, 25, 100d/3),
1058
                new Rectangle2D.Double(75, 2*100d/3, 25, 100d/3)
1059

  
1060
            },
1061
            model.getCells()
1062
        );
1063
        
1064
    }
1065

  
1066
    public void test26_MoveHorizontalLineUp() {
1067
        MapBoxModel model= new MapBoxModel(new Dimension2DDouble(100d, 100d), 4, 3);
1068
        model.sort();
1069
        model.dump(null);
1070
        
1071
        checkCells(new Rectangle2D.Double[] {
1072
                new Rectangle2D.Double(0, 0, 25, 100d/3),
1073
                new Rectangle2D.Double(25, 0, 25, 100d/3),
1074
                new Rectangle2D.Double(50, 0, 25, 100d/3),
1075
                new Rectangle2D.Double(75, 0, 25, 100d/3),
1076
                new Rectangle2D.Double(0, 100d/3, 25, 100d/3),
1077
                new Rectangle2D.Double(25, 100d/3, 25, 100d/3),
1078
                new Rectangle2D.Double(50, 100d/3, 25, 100d/3),
1079
                new Rectangle2D.Double(75, 100d/3, 25, 100d/3),
1080
                new Rectangle2D.Double(0, 2*100d/3, 25, 100d/3),
1081
                new Rectangle2D.Double(25, 2*100d/3, 25, 100d/3),
1082
                new Rectangle2D.Double(50, 2*100d/3, 25, 100d/3),
1083
                new Rectangle2D.Double(75, 2*100d/3, 25, 100d/3)
1084

  
1085
            },
1086
            model.getCells()
1087
        );
1088
        
1089
        model.moveHorizontalLine(100d/3, 100d/3-10);
1090
        
1091
        model.sort();
1092
        System.out.println("===================");
1093
        model.dump(null);
1094
        
1095
        checkCells(new Rectangle2D.Double[] {
1096
                new Rectangle2D.Double(0, 0, 25, 100d/3-10),
1097
                new Rectangle2D.Double(25, 0, 25, 100d/3-10),
1098
                new Rectangle2D.Double(50, 0, 25, 100d/3-10),
1099
                new Rectangle2D.Double(75, 0, 25, 100d/3-10),
1100
                new Rectangle2D.Double(0, 100d/3-10, 25, 100d/3+10),
1101
                new Rectangle2D.Double(25, 100d/3-10, 25, 100d/3+10),
1102
                new Rectangle2D.Double(50, 100d/3-10, 25, 100d/3+10),
1103
                new Rectangle2D.Double(75, 100d/3-10, 25, 100d/3+10),
1104
                new Rectangle2D.Double(0, 2*100d/3, 25, 100d/3),
1105
                new Rectangle2D.Double(25, 2*100d/3, 25, 100d/3),
1106
                new Rectangle2D.Double(50, 2*100d/3, 25, 100d/3),
1107
                new Rectangle2D.Double(75, 2*100d/3, 25, 100d/3)
1108

  
1109
            },
1110
            model.getCells()
1111
        );
1112
        
1113
    }
1114
    
1115
}
trunk/org.gvsig.app.document.layout2.app/org.gvsig.app.document.layout2.app.mainplugin/src/main/java/org/gvsig/layout/mapbox/MapBoxUtils.java
1
/*
2
 * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
3
 * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
4
 */
5
package org.gvsig.layout.mapbox;
6

  
7
import org.gvsig.andami.IconThemeHelper;
8
import org.gvsig.app.project.documents.layout.DefaultLayoutManager;
9
import org.gvsig.app.project.documents.layout.LayoutControl;
10
import org.gvsig.app.project.documents.layout.gui.LayoutPanel;
11
import org.gvsig.app.project.documents.layout.tools.behavior.LayoutRectangleBehavior;
12
import org.gvsig.layout.mapbox.fframe.FFrameMapBox;
13
import org.gvsig.layout.mapbox.fframe.FFrameMapBoxFactory;
14
import org.gvsig.layout.mapbox.model.CellImpl;
15
import org.gvsig.layout.mapbox.model.MapBoxModel;
16
import org.gvsig.layout.mapbox.model.SelectionCellImpl;
17
import org.gvsig.layout.mapbox.panel.FFrameMapBoxPanel;
18
import org.gvsig.layout.mapbox.tools.LayoutAddMapBoxListenerImpl;
19
import org.gvsig.layout.mapbox.tools.LayoutEditMapBoxBehavior;
20
import org.gvsig.layout.mapbox.tools.LayoutEditMapBoxListenerImpl;
21

  
22
/**
23
 *
24
 * @author fdiaz
25
 */
26
public class MapBoxUtils {
27
    
28
    public static void register(DefaultLayoutManager layoutManager) {
29
        layoutManager.registerFrameFactory(new FFrameMapBoxFactory());
30
        layoutManager.registerFFrameDialog(
31
                FFrameMapBox.PERSISTENCE_DEFINITION_NAME, FFrameMapBoxPanel.class);
32
        IconThemeHelper.registerIcon("action", "layout-insert-mapbox", MapBoxUtils.class);
33
    }
34
    
35
    public static void addLayoutTool(LayoutPanel layoutPanel, LayoutControl control) {
36
        LayoutAddMapBoxListenerImpl labl = new LayoutAddMapBoxListenerImpl(layoutPanel);
37
        control.addLayoutTool("layoutaddmapbox", new LayoutRectangleBehavior(labl));
38
        LayoutEditMapBoxListenerImpl leditMapBoxListener = new LayoutEditMapBoxListenerImpl(layoutPanel);
39
        control.addLayoutTool("layouteditmapbox", new LayoutEditMapBoxBehavior(leditMapBoxListener));
40
    }
41
    
42
    public static void registerPersistence() {
43
        FFrameMapBox.registerPersistent();
44
        MapBoxModel.registerPersistent();
45
        SelectionCellImpl.registerPersistent();
46
        CellImpl.registerPersistent();
47
    }
48
    
49
}
trunk/org.gvsig.app.document.layout2.app/org.gvsig.app.document.layout2.app.mainplugin/src/main/java/org/gvsig/layout/mapbox/panel/FFrameMapBoxPanelView.xml
1
<?xml version="1.0" encoding="UTF-8"?>
2

  
3
<object classname="com.jeta.forms.store.memento.FormPackage">
4
 <at name="fileversion">
5
  <object classname="com.jeta.forms.store.memento.FormsVersion2">
6
   <at name="major">2</at>
7
   <at name="minor">0</at>
8
   <at name="sub">0</at>
9
  </object>
10
 </at>
11
 <at name="form">
12
  <object classname="com.jeta.forms.store.memento.FormMemento">
13
   <super classname="com.jeta.forms.store.memento.ComponentMemento">
14
    <at name="cellconstraints">
15
     <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
16
      <at name="column">1</at>
17
      <at name="row">1</at>
18
      <at name="colspan">1</at>
19
      <at name="rowspan">1</at>
20
      <at name="halign">default</at>
21
      <at name="valign">default</at>
22
      <at name="insets" object="insets">0,0,0,0</at>
23
     </object>
24
    </at>
25
    <at name="componentclass">com.jeta.forms.gui.form.FormComponent</at>
26
   </super>
27
   <at name="id">/home/fdiaz/projects/gvSIG/org.gvsig.app.document.layout2.app/org.gvsig.app.document.layout2.app.mainplugin/src/main/java/org/gvsig/app/project/documents/layout/fframes/gui/dialogs/FFrameMapBoxView.xml</at>
28
   <at name="path">org.gvsig.app.document.layout2.app/org.gvsig.app.document.layout2.app.mainplugin/src/main/java/org/gvsig/app/project/documents/layout/fframes/gui/dialogs/FFrameMapBoxView.xml</at>
29
   <at name="rowspecs">CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:GROW(1.0),CENTER:2DLU:NONE</at>
30
   <at name="colspecs">FILL:4DLU:NONE,FILL:DEFAULT:NONE,FILL:4DLU:NONE,FILL:DEFAULT:NONE,FILL:4DLU:NONE,FILL:DEFAULT:GROW(1.0),FILL:4DLU:NONE</at>
31
   <at name="components">
32
    <object classname="java.util.LinkedList">
33
     <item >
34
      <at name="value">
35
       <object classname="com.jeta.forms.store.memento.BeanMemento">
36
        <super classname="com.jeta.forms.store.memento.ComponentMemento">
37
         <at name="cellconstraints">
38
          <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
39
           <at name="column">2</at>
40
           <at name="row">2</at>
41
           <at name="colspan">1</at>
42
           <at name="rowspan">1</at>
43
           <at name="halign">default</at>
44
           <at name="valign">default</at>
45
           <at name="insets" object="insets">0,0,0,0</at>
46
          </object>
47
         </at>
48
         <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
49
        </super>
50
        <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
51
        <at name="beanclass">com.jeta.forms.components.label.JETALabel</at>
52
        <at name="beanproperties">
53
         <object classname="com.jeta.forms.store.memento.PropertiesMemento">
54
          <at name="classname">com.jeta.forms.components.label.JETALabel</at>
55
          <at name="properties">
56
           <object classname="com.jeta.forms.store.support.PropertyMap">
57
            <at name="border">
58
             <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
59
              <super classname="com.jeta.forms.store.properties.BorderProperty">
60
               <at name="name">border</at>
61
              </super>
62
              <at name="borders">
63
               <object classname="java.util.LinkedList">
64
                <item >
65
                 <at name="value">
66
                  <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
67
                   <super classname="com.jeta.forms.store.properties.BorderProperty">
68
                    <at name="name">border</at>
69
                   </super>
70
                  </object>
71
                 </at>
72
                </item>
73
               </object>
74
              </at>
75
             </object>
76
            </at>
77
            <at name="name">lblRows</at>
78
            <at name="width">86</at>
79
            <at name="text">_Num_rows</at>
80
            <at name="fill">
81
             <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
82
              <at name="name">fill</at>
83
             </object>
84
            </at>
85
            <at name="height">14</at>
86
           </object>
87
          </at>
88
         </object>
89
        </at>
90
       </object>
91
      </at>
92
     </item>
93
     <item >
94
      <at name="value">
95
       <object classname="com.jeta.forms.store.memento.BeanMemento">
96
        <super classname="com.jeta.forms.store.memento.ComponentMemento">
97
         <at name="cellconstraints">
98
          <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
99
           <at name="column">2</at>
100
           <at name="row">4</at>
101
           <at name="colspan">1</at>
102
           <at name="rowspan">1</at>
103
           <at name="halign">default</at>
104
           <at name="valign">default</at>
105
           <at name="insets" object="insets">0,0,0,0</at>
106
          </object>
107
         </at>
108
         <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
109
        </super>
110
        <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
111
        <at name="beanclass">com.jeta.forms.components.label.JETALabel</at>
112
        <at name="beanproperties">
113
         <object classname="com.jeta.forms.store.memento.PropertiesMemento">
114
          <at name="classname">com.jeta.forms.components.label.JETALabel</at>
115
          <at name="properties">
116
           <object classname="com.jeta.forms.store.support.PropertyMap">
117
            <at name="border">
118
             <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
119
              <super classname="com.jeta.forms.store.properties.BorderProperty">
120
               <at name="name">border</at>
121
              </super>
122
              <at name="borders">
123
               <object classname="java.util.LinkedList">
124
                <item >
125
                 <at name="value">
126
                  <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
127
                   <super classname="com.jeta.forms.store.properties.BorderProperty">
128
                    <at name="name">border</at>
129
                   </super>
130
                  </object>
131
                 </at>
132
                </item>
133
               </object>
134
              </at>
135
             </object>
136
            </at>
137
            <at name="name">lblColumns</at>
138
            <at name="width">86</at>
139
            <at name="text">_Num_columns</at>
140
            <at name="fill">
141
             <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
142
              <at name="name">fill</at>
143
             </object>
144
            </at>
145
            <at name="height">14</at>
146
           </object>
147
          </at>
148
         </object>
149
        </at>
150
       </object>
151
      </at>
152
     </item>
153
     <item >
154
      <at name="value">
155
       <object classname="com.jeta.forms.store.memento.BeanMemento">
156
        <super classname="com.jeta.forms.store.memento.ComponentMemento">
157
         <at name="cellconstraints">
158
          <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
159
           <at name="column">2</at>
160
           <at name="row">6</at>
161
           <at name="colspan">1</at>
162
           <at name="rowspan">1</at>
163
           <at name="halign">default</at>
164
           <at name="valign">default</at>
165
           <at name="insets" object="insets">0,0,0,0</at>
166
          </object>
167
         </at>
168
         <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
169
        </super>
170
        <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
171
        <at name="beanclass">com.jeta.forms.components.label.JETALabel</at>
172
        <at name="beanproperties">
173
         <object classname="com.jeta.forms.store.memento.PropertiesMemento">
174
          <at name="classname">com.jeta.forms.components.label.JETALabel</at>
175
          <at name="properties">
176
           <object classname="com.jeta.forms.store.support.PropertyMap">
177
            <at name="border">
178
             <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
179
              <super classname="com.jeta.forms.store.properties.BorderProperty">
180
               <at name="name">border</at>
181
              </super>
182
              <at name="borders">
183
               <object classname="java.util.LinkedList">
184
                <item >
185
                 <at name="value">
186
                  <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
187
                   <super classname="com.jeta.forms.store.properties.BorderProperty">
188
                    <at name="name">border</at>
189
                   </super>
190
                  </object>
191
                 </at>
192
                </item>
193
               </object>
194
              </at>
195
             </object>
196
            </at>
197
            <at name="name">lblDegrees</at>
198
            <at name="width">86</at>
199
            <at name="text">_Degrees</at>
200
            <at name="fill">
201
             <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
202
              <at name="name">fill</at>
203
             </object>
204
            </at>
205
            <at name="height">14</at>
206
           </object>
207
          </at>
208
         </object>
209
        </at>
210
       </object>
211
      </at>
212
     </item>
213
     <item >
214
      <at name="value">
215
       <object classname="com.jeta.forms.store.memento.BeanMemento">
216
        <super classname="com.jeta.forms.store.memento.ComponentMemento">
217
         <at name="cellconstraints">
218
          <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
219
           <at name="column">4</at>
220
           <at name="row">2</at>
221
           <at name="colspan">1</at>
222
           <at name="rowspan">1</at>
223
           <at name="halign">default</at>
224
           <at name="valign">default</at>
225
           <at name="insets" object="insets">0,0,0,0</at>
226
          </object>
227
         </at>
228
         <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
229
        </super>
230
        <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
231
        <at name="beanclass">javax.swing.JSpinner</at>
232
        <at name="beanproperties">
233
         <object classname="com.jeta.forms.store.memento.PropertiesMemento">
234
          <at name="classname">javax.swing.JSpinner</at>
235
          <at name="properties">
236
           <object classname="com.jeta.forms.store.support.PropertyMap">
237
            <at name="name">spnRows</at>
238
            <at name="width">30</at>
239
            <at name="height">20</at>
240
           </object>
241
          </at>
242
         </object>
243
        </at>
244
       </object>
245
      </at>
246
     </item>
247
     <item >
248
      <at name="value">
249
       <object classname="com.jeta.forms.store.memento.BeanMemento">
250
        <super classname="com.jeta.forms.store.memento.ComponentMemento">
251
         <at name="cellconstraints">
252
          <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
253
           <at name="column">4</at>
254
           <at name="row">4</at>
255
           <at name="colspan">1</at>
256
           <at name="rowspan">1</at>
257
           <at name="halign">default</at>
258
           <at name="valign">default</at>
259
           <at name="insets" object="insets">0,0,0,0</at>
260
          </object>
261
         </at>
262
         <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
263
        </super>
264
        <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
265
        <at name="beanclass">javax.swing.JSpinner</at>
266
        <at name="beanproperties">
267
         <object classname="com.jeta.forms.store.memento.PropertiesMemento">
268
          <at name="classname">javax.swing.JSpinner</at>
269
          <at name="properties">
270
           <object classname="com.jeta.forms.store.support.PropertyMap">
271
            <at name="name">spnColumns</at>
272
            <at name="width">30</at>
273
            <at name="height">20</at>
274
           </object>
275
          </at>
276
         </object>
277
        </at>
278
       </object>
279
      </at>
280
     </item>
281
     <item >
282
      <at name="value">
283
       <object classname="com.jeta.forms.store.memento.BeanMemento">
284
        <super classname="com.jeta.forms.store.memento.ComponentMemento">
285
         <at name="cellconstraints">
286
          <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
287
           <at name="column">4</at>
288
           <at name="row">6</at>
289
           <at name="colspan">1</at>
290
           <at name="rowspan">1</at>
291
           <at name="halign">default</at>
292
           <at name="valign">default</at>
293
           <at name="insets" object="insets">0,0,0,0</at>
294
          </object>
295
         </at>
296
         <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
297
        </super>
298
        <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
299
        <at name="beanclass">javax.swing.JSpinner</at>
300
        <at name="beanproperties">
301
         <object classname="com.jeta.forms.store.memento.PropertiesMemento">
302
          <at name="classname">javax.swing.JSpinner</at>
303
          <at name="properties">
304
           <object classname="com.jeta.forms.store.support.PropertyMap">
305
            <at name="name">spnDegrees</at>
306
            <at name="width">30</at>
307
            <at name="height">20</at>
308
           </object>
309
          </at>
310
         </object>
311
        </at>
312
       </object>
313
      </at>
314
     </item>
315
     <item >
316
      <at name="value">
317
       <object classname="com.jeta.forms.store.memento.BeanMemento">
318
        <super classname="com.jeta.forms.store.memento.ComponentMemento">
319
         <at name="cellconstraints">
320
          <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
321
           <at name="column">2</at>
322
           <at name="row">8</at>
... This diff was truncated because it exceeds the maximum size that can be displayed.

Also available in: Unified diff