Statistics
| Revision:

svn-gvsig-desktop / trunk / org.gvsig.desktop / org.gvsig.desktop.compat.cdc / org.gvsig.fmap.dal / org.gvsig.fmap.dal.swing / org.gvsig.fmap.dal.swing.impl / src / main / java / org / gvsig / fmap / dal / swing / impl / dataStoreParameters / DataStoreDynObjectParametersPanel.java @ 43720

History | View | Annotate | Download (1.45 KB)

1

    
2
package org.gvsig.fmap.dal.swing.impl.dataStoreParameters;
3

    
4
import java.awt.Dimension;
5
import javax.swing.JComponent;
6
import org.gvsig.fmap.dal.swing.dataStoreParameters.AbstractDataStoreParametersPanel;
7
import org.gvsig.tools.dynform.DynFormLocator;
8
import org.gvsig.tools.dynform.JDynForm;
9
import org.gvsig.tools.dynobject.DynObject;
10
import org.gvsig.tools.service.ServiceException;
11

    
12

    
13
public class DataStoreDynObjectParametersPanel extends AbstractDataStoreParametersPanel {
14
    private final DynObject parameters;
15
    private JDynForm form;
16

    
17
    public DataStoreDynObjectParametersPanel(DynObject paramters) {
18
             this.parameters = paramters;
19
        try {
20
            this.form = DynFormLocator.getDynFormManager().createJDynForm(this.parameters);
21
        } catch (ServiceException ex) {
22
            throw new RuntimeException("Can't create JDynForm from '"+this.parameters.getDynClass().getFullName()+"'.", ex);
23
        }
24
            this.form.setLayoutMode(this.form.USE_TABS);
25

    
26
    }
27

    
28
    @Override
29
    public void putParameters(DynObject parameters) {
30
        this.form.setValues(parameters);
31
    }
32

    
33
    @Override
34
    public void fetchParameters(DynObject parameters) {
35
        this.form.getValues(parameters);
36
    }
37

    
38
    @Override
39
    public JComponent asJComponent() {
40
        JComponent x = this.form.asJComponent();
41
        x.setPreferredSize(new Dimension(500,250));
42
        return x;
43
    }
44

    
45
    @Override
46
    public JDynForm getForm() {
47
        return this.form;
48
    }
49

    
50
}