Revision 43806 branches/org.gvsig.desktop-2018a/org.gvsig.desktop.library/org.gvsig.raster/org.gvsig.raster.swing/org.gvsig.raster.swing.buffer/org.gvsig.raster.swing.buffer.impl/src/main/java/org/gvsig/raster/swing/buffer/impl/operations/dynformfield/JDynFormFieldKernel.java

View differences:

JDynFormFieldKernel.java
1 1
package org.gvsig.raster.swing.buffer.impl.operations.dynformfield;
2 2

  
3 3
import javax.swing.JPanel;
4
import javax.swing.JTable;
4 5

  
6
import org.gvsig.raster.lib.buffer.api.BufferLocator;
7
import org.gvsig.raster.lib.buffer.api.BufferManager;
8
import org.gvsig.raster.lib.buffer.api.Kernel;
5 9
import org.gvsig.tools.dynform.JDynFormField;
6 10
import org.gvsig.tools.dynform.spi.dynformfield.AbstractJDynFormField;
7 11
import org.gvsig.tools.dynobject.DynObject;
8 12
import org.gvsig.tools.service.spi.ServiceManager;
9 13

  
10 14

  
15
/**
16
 * @author fdiaz
17
 *
18
 */
11 19
public class JDynFormFieldKernel extends AbstractJDynFormField implements JDynFormField {
12 20

  
13 21
    private static String RasterOperation_kernelSizeFieldName = "RasterOperation.kernelSizeFieldName";
14 22
    private JDynFormField kernelSizeField;
23
    private JTable matrix;
15 24

  
25
    /**
26
     * @param parameters
27
     * @param serviceManager
28
     */
16 29
    public JDynFormFieldKernel(DynObject parameters, ServiceManager serviceManager) {
17 30
        super(parameters, serviceManager);
18
        // TODO Auto-generated constructor stub
31
        if (this.getParameterValue() != null) {
32
            setValue((Kernel) this.getParameterValue());
33
        }
19 34
    }
20 35

  
21 36
    @Override
22 37
    public Object getValue() {
23
        // Aqui devuelve un kernel con los valores del grid
24
        return null;
38
        if(matrix==null){
39
            return null;
40
        }
41
        return ((KernelTableModel)matrix.getModel()).getKernel();
25 42
    }
26 43

  
27 44
    @Override
28 45
    public boolean hasValidValue() {
29
        // TODO Auto-generated method stub
30
        return false;
46
        //FIXME: Ver las condiciones para devolver true
47
        return true;
31 48
    }
32 49

  
33 50
    @Override
34 51
    public void setValue(Object arg0) {
35
        // Aqui recibe un Kernel, y debe llenar el grid.
36

  
52
        KernelTableModel model = new KernelTableModel((Kernel) arg0);
53
        matrix.setModel(model);
37 54
    }
38 55

  
39 56
    @Override
......
56 73

  
57 74
            @Override
58 75
            public void fieldChanged(JDynFormField arg0) {
59
                // TODO Auto-generated method stub
76
                doChangeSizeMatrix((Integer)kernelSizeField.getValue());
60 77

  
61 78
            }
62 79
        });
63 80

  
64 81
        JPanel panel = new JPanel();
65 82

  
66
        // ...
67
        // LLenar panel
68
        // ...
83
        matrix = new JTable();
84
        matrix.setTableHeader(null);
85
        panel.add(matrix);
69 86

  
70 87
        this.contents = panel;
71 88
    }
72 89

  
90
    protected void doChangeSizeMatrix(Integer value) {
91

  
92
        BufferManager manager = BufferLocator.getBufferManager();
93

  
94
        double[][] k = new double[value][value];
95
        for (int i = 0; i < value; i++) {
96
            for (int j = 0; j < value; j++) {
97
                k[i][j]=0d;
98
            }
99
        }
100

  
101
        Kernel kernel = manager.createKernel(k);
102

  
103
        KernelTableModel model = new KernelTableModel(kernel);
104
        matrix.setModel(model);
105

  
106
    }
107

  
73 108
    @Override
74 109
    public Object getAssignedValue() {
75 110
        // TODO Auto-generated method stub

Also available in: Unified diff