Revision 47433

View differences:

trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.newlayer/org.gvsig.newlayer.lib/org.gvsig.newlayer.lib.impl/src/main/java/org/gvsig/newlayer/impl/DefaultNewLayerService.java
28 28
import java.util.LinkedHashSet;
29 29
import java.util.List;
30 30
import java.util.Set;
31
import org.cresques.cts.IProjection;
31 32

  
32 33
import org.gvsig.fmap.dal.DataServerExplorer;
33 34
import org.gvsig.fmap.dal.DataStoreParameters;
......
53 54
    private NewLayerProviderFactory type;
54 55
    private NewLayerProvider provider;
55 56
    private boolean addTableToProject = true;
57
    private IProjection defaultProjection;
56 58

  
57 59
    /**
58 60
     * {@link DefaultNewLayerService} constructor
......
282 284
            }
283 285
        }
284 286
    }
287

  
288
    @Override
289
    public void setDefaultProjection(IProjection projection) {
290
        this.defaultProjection = projection;
291
    }
292

  
293
    @Override
294
    public IProjection getDefaultProjection() {
295
        return this.defaultProjection;
296
    }
297
    
298
    
285 299
}
trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.newlayer/org.gvsig.newlayer.lib/org.gvsig.newlayer.lib.impl/src/main/java/org/gvsig/newlayer/impl/DefaultNewLayerWizard.java
80 80
        this.setFinishButtonEnabled(false);
81 81
        this.setBackButtonEnabled(false);
82 82
        this.setNextButtonEnabled(false);
83
        ToolsSwingUtils.ensureRowsCols(this, 25, 100, 35, 140);
83
//        ToolsSwingUtils.ensureRowsCols(this, 25, 100, 35, 140);
84
        
85
        Dimension screensize = ToolsSwingUtils.getDesktopPanelSize();
86
        ToolsSwingUtils.ensureHeightWitdh(
87
                this, 
88
                Math.max(3*(screensize.height/4), ToolsSwingUtils.rows2px(35)),
89
                Math.max(2*(screensize.width/4), ToolsSwingUtils.cols2px(140)), 
90
                7*(screensize.height/8), 
91
                3*(screensize.width/4)
92
        );           
84 93
    }
85 94

  
86 95
    @Override
trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.newlayer/org.gvsig.newlayer.lib/org.gvsig.newlayer.lib.impl/src/main/java/org/gvsig/newlayer/impl/panels/FeatureTypePanel.java
60 60
        DataSwingManager dataSwingManager = DALSwingLocator.getSwingManager();
61 61
        EditableFeatureType ft = dataManager.createFeatureType();
62 62
        this.featureTypeEditor = dataSwingManager.createFeatureTypePanel();
63
        this.featureTypeEditor.setDefaultProjection(this.wizard.getService().getDefaultProjection());
63 64
        this.featureTypeEditor.setMode(MODE_EDIT_ALL);
64 65
        this.featureTypeEditor.put(ft);
65 66
    }
......
72 73

  
73 74
    @Override
74 75
    public void enterPanel() {
76
        this.featureTypeEditor.setDefaultProjection(this.wizard.getService().getDefaultProjection());
75 77
        EditableFeatureType ft = this.provider.getFeatureType();
76 78
        if (ft!= null) {
77 79
            this.featureTypeEditor.put(ft);
trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.newlayer/org.gvsig.newlayer.lib/org.gvsig.newlayer.lib.api/src/main/java/org/gvsig/newlayer/NewLayerService.java
24 24
package org.gvsig.newlayer;
25 25

  
26 26
import java.util.List;
27
import org.cresques.cts.IProjection;
27 28

  
28 29
import org.gvsig.fmap.dal.DataServerExplorer;
29 30
import org.gvsig.fmap.dal.DataStoreParameters;
......
106 107
//    public MapContext getMapContext();
107 108

  
108 109
    public void addNewLayerServiceListener(NewLayerServiceListener listener);
110
    
111
    public IProjection getDefaultProjection();
112
    
113
    public void setDefaultProjection(IProjection projection);
109 114
}
trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.newlayer/org.gvsig.newlayer.prov/org.gvsig.newlayer.prov.shape/src/main/java/org/gvsig/newlayer/prov/shape/NewLayerShapeProviderParameters.java
25 25
import org.gvsig.fmap.dal.DataTypes;
26 26
import org.gvsig.fmap.dal.feature.EditableFeatureAttributeDescriptor;
27 27
import org.gvsig.fmap.geom.Geometry;
28
import org.gvsig.newlayer.NewLayerService;
28 29
import org.gvsig.newlayer.prov.file.NewLayerFileProviderParameters;
29 30

  
30 31
/**
......
33 34
 */
34 35
public class NewLayerShapeProviderParameters extends NewLayerFileProviderParameters {
35 36

  
36
    public NewLayerShapeProviderParameters() {
37
        super();
37
    public NewLayerShapeProviderParameters(NewLayerService service) {
38
        super(service);
38 39
        EditableFeatureAttributeDescriptor attr = this.featureType.add("GEOMETRY", DataTypes.GEOMETRY);
39
        attr.setSRS("EPSG:4326");
40
        if( service.getDefaultProjection()==null ) {
41
            attr.setSRS("EPSG:4326");
42
        } else {
43
            attr.setSRS(service.getDefaultProjection());
44
        }
40 45
        attr.setGeometryType(Geometry.TYPES.LINE, Geometry.SUBTYPES.GEOM2D);
41 46
    }
42 47
    
trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.newlayer/org.gvsig.newlayer.prov/org.gvsig.newlayer.prov.shape/src/main/java/org/gvsig/newlayer/prov/shape/NewLayerShapeProvider.java
44 44
    
45 45
    protected NewLayerShapeProvider(NewLayerService service) {
46 46
        super(service);
47
        this.parameters = new NewLayerShapeProviderParameters();
47
        this.parameters = new NewLayerShapeProviderParameters(service);
48 48
    }
49 49

  
50 50
    @Override
trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.newlayer/org.gvsig.newlayer.prov/org.gvsig.newlayer.prov.csv/src/main/java/org/gvsig/newlayer/prov/csv/NewLayerCSVProvider.java
37 37
    
38 38
    protected NewLayerCSVProvider(NewLayerService service) {
39 39
        super(service);
40
        this.parameters = new NewLayerCSVProviderParameters();
40
        this.parameters = new NewLayerCSVProviderParameters(service);
41 41
    }
42 42

  
43 43
    @Override
trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.newlayer/org.gvsig.newlayer.prov/org.gvsig.newlayer.prov.csv/src/main/java/org/gvsig/newlayer/prov/csv/NewLayerCSVProviderParameters.java
25 25
import org.gvsig.fmap.dal.DataTypes;
26 26
import org.gvsig.fmap.dal.feature.EditableFeatureAttributeDescriptor;
27 27
import org.gvsig.fmap.geom.Geometry;
28
import org.gvsig.newlayer.NewLayerService;
28 29
import org.gvsig.newlayer.prov.file.NewLayerFileProviderParameters;
29 30

  
30 31
/**
......
33 34
 */
34 35
public class NewLayerCSVProviderParameters extends NewLayerFileProviderParameters {
35 36

  
36
    public NewLayerCSVProviderParameters() {
37
        super();
37
    public NewLayerCSVProviderParameters(NewLayerService service) {
38
        super(service);
38 39
        EditableFeatureAttributeDescriptor attr = this.featureType.add("GEOMETRY", DataTypes.GEOMETRY);
39
        attr.setSRS("EPSG:4326");
40
        if( service.getDefaultProjection()==null ) {
41
            attr.setSRS("EPSG:4326");
42
        } else {
43
            attr.setSRS(service.getDefaultProjection());
44
        }
40 45
        attr.setGeometryType(Geometry.TYPES.POINT, Geometry.SUBTYPES.GEOM2D);
41 46
    }
42 47
    
trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.newlayer/org.gvsig.newlayer.prov/org.gvsig.newlayer.prov.file/src/main/java/org/gvsig/newlayer/prov/file/AbstractNewLayerFileProvider.java
55 55

  
56 56
    protected AbstractNewLayerFileProvider(NewLayerService service) {
57 57
        super(service);
58
        this.parameters = new NewLayerFileProviderParameters();
58
        this.parameters = new NewLayerFileProviderParameters(service);
59 59
    }
60 60

  
61 61
    @Override
trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.newlayer/org.gvsig.newlayer.prov/org.gvsig.newlayer.prov.file/src/main/java/org/gvsig/newlayer/prov/file/NewLayerFileProviderParameters.java
25 25
import java.io.File;
26 26
import org.gvsig.fmap.dal.DALLocator;
27 27
import org.gvsig.fmap.dal.feature.EditableFeatureType;
28
import org.gvsig.newlayer.NewLayerService;
28 29

  
29 30
/**
30 31
 *
......
35 36
    private File file;
36 37
    protected EditableFeatureType featureType;
37 38

  
38
    public NewLayerFileProviderParameters() {
39
    public NewLayerFileProviderParameters(NewLayerService service) {
39 40
        this.featureType = DALLocator.getDataManager().createFeatureType();
40 41
    }
41 42
    
trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.swing/org.gvsig.fmap.dal.swing.api/src/main/java/org/gvsig/fmap/dal/swing/featuretype/FeatureTypePanel.java
1 1
package org.gvsig.fmap.dal.swing.featuretype;
2 2

  
3
import org.cresques.cts.IProjection;
3 4
import org.gvsig.fmap.dal.feature.EditableFeatureType;
4 5
import org.gvsig.fmap.dal.feature.FeatureType;
5 6
import org.gvsig.tools.swing.api.ChangeListenerSupport;
......
43 44
    public int getMode();
44 45

  
45 46
    public boolean isEditing();
47
    
48
    public void setDefaultProjection(IProjection projection);
46 49
}
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/featuretype/DefaultFeatureAttributePanel.java
134 134
    private ToManyController toManyController;
135 135
    private JSplitPane splAttrTags;
136 136
    private FeatureType featureType;
137
    private IProjection defaultProjection;
137 138

  
138 139
    private static class ToOneController {
139 140

  
......
1505 1506
            descriptor.setDataProfileName((String) ListElement.getSelected(this.cboDataProfile));
1506 1507
            switch (descriptor.getType()) {
1507 1508
                case DataTypes.GEOMETRY:
1509
                    if( ListElement.getSelected(this.cboGeometryType)==null 
1510
                            || ListElement.getSelected(this.cboGeometrySubtype)==null
1511
                            || this.pickerCRS.get() == null ){
1512
                            ThreadSafeDialogsManager dialogs = ToolsSwingLocator.getThreadSafeDialogsManager();
1513
                            dialogs.messageDialog(
1514
                                    i18n.getTranslation("_Geometry_not_configured"),
1515
                                    null,
1516
                                    i18n.getTranslation("_Warning"),
1517
                                    JOptionPane.WARNING_MESSAGE
1518
                            );
1519
                            return null;
1520
                    }                    
1508 1521
                    GeometryManager geomManager = GeometryLocator.getGeometryManager();
1509 1522
                    GeometryType geomType = geomManager.getGeometryType(
1510 1523
                            (int) ListElement.getSelected(this.cboGeometryType),
......
1701 1714
        this.availableValuesController.clean();
1702 1715
        this.tagsController.clean();
1703 1716
        this.toOneController.clean();
1717
        
1718
        this.pickerCRS.set(defaultProjection);
1704 1719
    }
1705 1720

  
1706 1721
    @Override
......
1713 1728
        FeatureType featureType = descriptor.getFeatureType();
1714 1729
        DefaultComboBoxModel groupModel = new DefaultComboBoxModel();
1715 1730

  
1731
        this.pickerCRS.set(defaultProjection);
1732
        
1716 1733
        if (featureType != null) {
1717 1734
            FeatureStore store = descriptor.getFeatureType().getStore();
1718 1735
            this.featureStoreElement.setFeatureStore(store);
......
1801 1818
        Expression expression = descriptor.getAvailableValuesFilter();
1802 1819
        this.pickerValuesFilter.set(expression);
1803 1820

  
1804
        this.pickerCRS.set(descriptor.getSRS());
1805

  
1806
        if (descriptor.getGeomType() != null) {
1807
            ListElement.setSelected(cboGeometryType, descriptor.getGeomType().getType());
1808
            ListElement.setSelected(cboGeometrySubtype, descriptor.getGeomType().getSubType());
1821
        if( descriptor.getType() == DataTypes.GEOMETRY ) {
1822
            if( descriptor.getSRS()==null ) {
1823
                this.pickerCRS.set(defaultProjection);
1824
            } else {
1825
                this.pickerCRS.set(descriptor.getSRS());
1826
            }
1827
            if (descriptor.getGeomType() != null) {
1828
                ListElement.setSelected(cboGeometryType, descriptor.getGeomType().getType());
1829
                ListElement.setSelected(cboGeometrySubtype, descriptor.getGeomType().getSubType());
1830
            }
1831
        } else {
1832
            this.pickerCRS.set(defaultProjection);
1833
            ListElement.setSelected(cboGeometryType, null);
1834
            ListElement.setSelected(cboGeometrySubtype, null);
1809 1835
        }
1810 1836
        ListElement.setSelected(cboFieldType, dataType.getType());
1811 1837
        if( ListElement.getSelected(cboFieldType)==null ) {
......
1939 1965
            this.pickerIntervalEnd.setEditable(false);
1940 1966
            this.tabAditionalFields.setEnabledAt(1, true);
1941 1967
            this.tabAditionalFields.setEnabledAt(2, false);
1968
            
1942 1969
            break;
1943 1970
          case DataTypes.INSTANT:
1944 1971
          case DataTypes.INTERVAL:
......
2270 2297
    );      
2271 2298
  }
2272 2299

  
2300
  public void setDefaultProjection(IProjection projection) {
2301
      this.defaultProjection = projection;
2302
  }
2273 2303
}
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/featuretype/DefaultFeatureTypePanel.java
22 22
import javax.swing.event.TableModelEvent;
23 23
import javax.swing.table.AbstractTableModel;
24 24
import org.apache.commons.lang3.StringUtils;
25
import org.cresques.cts.IProjection;
25 26
import org.gvsig.configurableactions.ConfigurableActionsMamager;
26 27
import org.gvsig.expressionevaluator.ExpressionUtils;
27 28
import org.gvsig.featureform.swing.impl.DefaultJFeatureForm;
......
67 68
    private JSplitPane splAttributes;
68 69
    private FeatureRuleController ruleController;
69 70
    private JSplitPane splTags;
71
    private IProjection defaultProjection;
70 72

  
71 73
    private class FeatureTypeTableModel extends AbstractTableModel {
72 74

  
......
393 395
            }
394 396
        });
395 397
        this.descriptorPanel = new DefaultFeatureAttributePanel();
398
        this.descriptorPanel.setDefaultProjection(this.defaultProjection);
396 399
        this.pnlField.setLayout(new BorderLayout());
397 400
        this.pnlField.add(this.descriptorPanel, BorderLayout.CENTER);
398 401
        this.descriptorPanel.setEnabled(false);
......
822 825
        cfgActionsManager.addConfigurableAction(CONFIGURABLE_PANEL_ID, new PreviewFormAction());
823 826
        cfgActionsManager.addConfigurableAction(CONFIGURABLE_PANEL_ID, new ForceSynchronizeAction());        
824 827
  }
828

  
829
    @Override
830
    public void setDefaultProjection(IProjection projection) {
831
        this.defaultProjection = projection;
832
        if( this.descriptorPanel!=null ) {
833
            this.descriptorPanel.setDefaultProjection(projection);
834
        }
835
    }
836
  
837
  
825 838
}
trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.app.document.table.app/org.gvsig.app.document.table.app.mainplugin/src/main/java/org/gvsig/app/extension/TableEditAttributes.java
49 49
import org.gvsig.app.ApplicationManager;
50 50
import org.gvsig.app.project.Project;
51 51
import org.gvsig.app.project.ProjectManager;
52
import org.gvsig.app.project.documents.Document;
52 53
import org.gvsig.app.project.documents.table.TableDocument;
53 54
import org.gvsig.app.project.documents.table.TableManager;
54 55
import org.gvsig.app.project.documents.table.gui.FeatureTableDocumentPanel;
56
import org.gvsig.app.project.documents.view.ViewDocument;
55 57
import org.gvsig.configurableactions.ConfigurableActionsMamager;
56 58
import org.gvsig.fmap.dal.DALLocator;
57 59
import org.gvsig.fmap.dal.DataManager;
......
128 130
                final FeatureType featureType = featureStore.getDefaultFeatureType();
129 131
                final EditableFeatureType editableFeatureType = featureType.getEditable();
130 132
                final FeatureTypePanel panel = dataSwingManager.createFeatureTypePanel();
133
                ViewDocument viewdoc = (ViewDocument) application.getCurrentProject().getFirstDocument(ViewDocument.class);
134
                if( viewdoc != null ) {
135
                    panel.setDefaultProjection(viewdoc.getProjection());
136
                }
131 137
                final ConfigurableActionsMamager cfgActionsManager = ToolsUtilLocator.getConfigurableActionsMamager();
132 138

  
133 139
                ConfigurableActionsMamager.ActionsController actionController = 
trunk/org.gvsig.desktop/org.gvsig.desktop.plugin/org.gvsig.newlayer.app/org.gvsig.newlayer.app.mainplugin/src/main/java/org/gvsig/newlayer/app/extension/NewLayerExtension.java
71 71
        if (view != null) {
72 72
            NewLayerManager manager = NewLayerLocator.getManager();
73 73
            NewLayerService service = manager.createNewLayerService();
74
            service.setDefaultProjection(view.getProjection());
74 75
            service.addNewLayerServiceListener(new NewLayerServiceAdapter() {
75 76
                @Override
76 77
                public void postCreateTable(NewLayerService service) {

Also available in: Unified diff