Revision 47618

View differences:

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/featureform/swing/impl/DefaultJFeaturesForm.java
760 760
                    theFormSet.message(i18n.getTranslation("Data saving has been cancelled."));
761 761
                    return;
762 762
                }                
763
                if (!editingManager.canWriteFeature(newFeature)) {
763
                if (!editingManager.validateFeature(newFeature)) {
764 764
                    theFormSet.message(i18n.getTranslation("The data cannot be saved. Check that all the required fields are filled out.."));
765 765
                    return;
766 766
                }
......
788 788
                if( notification.isCanceled() ) {
789 789
                    theFormSet.message(i18n.getTranslation("Data saving has been cancelled."));
790 790
                    return;
791
                }                
792
                if (!editingManager.canWriteFeature(feature)) {
791
                }              
792
                if (!editingManager.validateFeature(feature)) {
793 793
                    theFormSet.message(i18n.getTranslation("The data cannot be saved. Check that all the required fields are filled out.."));
794 794
                    return;
795 795
                }
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/DefaultDataSwingManager.java
32 32
import java.util.List;
33 33
import java.util.Map;
34 34
import java.util.function.Predicate;
35
import java.util.function.Supplier;
35 36
import javax.json.JsonObject;
36 37
import javax.swing.AbstractButton;
37 38
import javax.swing.Action;
......
151 152
import org.gvsig.fmap.dal.swing.storesrepository.StoresRepositoryController;
152 153
import org.gvsig.fmap.dal.swing.storesrepository.StoresRepositoryTreeModel;
153 154
import org.gvsig.fmap.geom.Geometry;
155
import org.gvsig.fmap.geom.primitive.Envelope;
154 156
import org.gvsig.tools.ToolsLocator;
155 157
import org.gvsig.tools.dynform.DynFormDefinition;
156 158
import org.gvsig.tools.dynform.DynFormLocator;
......
181 183
    private Map<String,SearchConditionPanelFactory> searchConditionPanelFactories;
182 184
    private Integer useLabels;
183 185
    private HashMap<String, SearchResultsPanelFactory> searchResultsPanelFactories;
186
    private Supplier<Envelope> currentBoundingBox;
184 187
    
185 188
    public DefaultDataSwingManager() {
186 189
        this.featureStoreActions = new LinkedHashMap<>();
......
1000 1003
    public List<ReportAction> getReportActions(DataStore store, Predicate filter) {
1001 1004
        return ReportUtils.getReportActions(store, filter);
1002 1005
    }
1006
    
1007
    @Override
1008
    public void setCurrentBoundingBox(Supplier<Envelope> boundingBoxSupplier) {
1009
        this.currentBoundingBox = boundingBoxSupplier;
1010
    }
1011
    
1012
    @Override
1013
    public Supplier<Envelope> getCurrentBoundingBox() {
1014
        return this.currentBoundingBox;
1015
    }
1003 1016
}
1004 1017
        
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/searchpanel/SearchConditionFieldController.java
19 19
import java.util.Locale;
20 20
import java.util.Map;
21 21
import java.util.Objects;
22
import java.util.function.Supplier;
22 23
import javax.json.JsonArray;
23 24
import javax.json.JsonObject;
24 25
import javax.swing.ComboBoxModel;
......
54 55
import org.gvsig.fmap.dal.feature.FeatureType;
55 56
import org.gvsig.fmap.dal.feature.ForeingKey;
56 57
import org.gvsig.fmap.dal.swing.DALSwingLocator;
58
import org.gvsig.fmap.dal.swing.DataSwingManager;
57 59
import org.gvsig.fmap.dal.swing.impl.featuretype.DefaultFeatureAttributeSelectionPanel;
58 60
import static org.gvsig.fmap.dal.swing.impl.searchpanel.SearchConditionPanelSimplified.PANEL_NAME;
59 61
import static org.gvsig.fmap.dal.swing.searchpanel.FeatureStoreSearchPanel.NOT_HANDLE_NULL;
......
62 64
import org.gvsig.fmap.dal.swing.searchpanel.SearchParameters;
63 65
import org.gvsig.fmap.geom.Geometry;
64 66
import org.gvsig.fmap.geom.GeometryUtils;
67
import org.gvsig.fmap.geom.primitive.Envelope;
65 68
import org.gvsig.json.Json;
66 69
import org.gvsig.json.JsonArrayBuilder;
67 70
import org.gvsig.json.JsonObjectBuilder;
......
108 111
    /*friend*/ static final int GEOM_OPERAND_MODE_CLIPBOARD = 1;
109 112
    /*friend*/ static final int GEOM_OPERAND_MODE_LAYER_SELECTION = 2;
110 113
    /*friend*/ static final int GEOM_OPERAND_MODE_CONSTANT = 3;
114
    /*friend*/ static final int GEOM_OPERAND_MODE_CURRENT_BOUNDINGBOX = 4;
111 115
    
112 116
    private static final String OPERATOR_CONTAINS = "CONTAINS";
113 117

  
......
618 622
                        case GEOM_OPERAND_MODE_CLIPBOARD:
619 623
                            this.txtValue.setText("Contenido del portapapeles"); // i18n.getTranslation("_Clipboard_content"));
620 624
                            break;
625
                        case GEOM_OPERAND_MODE_CURRENT_BOUNDINGBOX:
626
                            DataSwingManager dataSwingManager = DALSwingLocator.getDataSwingManager();
627
                            Supplier<Envelope> bbox = dataSwingManager.getCurrentBoundingBox();
628
                            if( bbox!=null ) {
629
                                Envelope env = bbox.get();
630
                                if( env != null && !env.isEmpty() && !env.isCollapsed() ) {
631
                                    this.txtValue.setText(Objects.toString(GeometryUtils.toWKT(env.getGeometry()), ""));
632
                                } else {
633
                                    this.txtValue.setText("");
634
                                }
635
                            } else {
636
                                this.txtValue.setText("");
637
                            }
638
                            break;
621 639
                    }
622 640
                    break;
623 641
                default:
......
1740 1758
            case GEOM_OPERAND_MODE_CLIPBOARD:
1741 1759
                geoms = this.getGeometryOperandFromClipboard(proj, warnings);
1742 1760
                break;
1761
            case GEOM_OPERAND_MODE_CURRENT_BOUNDINGBOX:
1762
                geoms = this.getCurrentBoundingBoxGeometry(proj, warnings);
1763
                break;
1743 1764
            case GEOM_OPERAND_MODE_EMPTY:
1744 1765
            default:
1745 1766
                return null;
......
1872 1893
        }
1873 1894
        return s;
1874 1895
    }
1896
    private List<Geometry> getCurrentBoundingBoxGeometry(IProjection proj, StringBuilder warnings) {
1897
        DataSwingManager dataSwingManager = DALSwingLocator.getDataSwingManager();
1898
        Supplier<Envelope> bbox = dataSwingManager.getCurrentBoundingBox();
1899
        if( bbox!=null ) {
1900
            Envelope env = bbox.get();
1901
            if( env != null && !env.isEmpty() && !env.isCollapsed() ) {
1902
                return Collections.singletonList(env.getGeometry());
1903
            }
1904
        }    
1905
        return null;
1906
    }
1907

  
1875 1908
}
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/searchpanel/SelectGeometryPanelView.xml
26 26
   </super>
27 27
   <at name="id">/home/jjdelcerro/datos/devel/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/searchpanel/SelectGeometryPanelView.xml</at>
28 28
   <at name="path">datos/devel/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/searchpanel/SelectGeometryPanelView.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,FILL:DEFAULT:GROW(0.9),CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,FILL:DEFAULT:GROW(0.1),CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE</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:NONE,CENTER:2DLU:NONE,FILL:DEFAULT:GROW(0.9),CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,FILL:DEFAULT:GROW(0.1),CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE</at>
30 30
   <at name="colspecs">FILL:4DLU:NONE,FILL:8DLU:NONE,FILL:DEFAULT:GROW(1.0),FILL:4DLU:NONE</at>
31 31
   <at name="components">
32 32
    <object classname="java.util.LinkedList">
......
37 37
         <at name="cellconstraints">
38 38
          <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
39 39
           <at name="column">2</at>
40
           <at name="row">2</at>
40
           <at name="row">4</at>
41 41
           <at name="colspan">2</at>
42 42
           <at name="rowspan">1</at>
43 43
           <at name="halign">default</at>
......
82 82
             </object>
83 83
            </at>
84 84
            <at name="name">rdbUseGeomsFromClipbard</at>
85
            <at name="width">1418</at>
85
            <at name="width">1189</at>
86 86
            <at name="text">_Use_geometries_from_clipboard</at>
87 87
            <at name="height">18</at>
88 88
           </object>
......
99 99
         <at name="cellconstraints">
100 100
          <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
101 101
           <at name="column">2</at>
102
           <at name="row">4</at>
102
           <at name="row">6</at>
103 103
           <at name="colspan">2</at>
104 104
           <at name="rowspan">1</at>
105 105
           <at name="halign">default</at>
......
144 144
             </object>
145 145
            </at>
146 146
            <at name="name">rdbUseGeomsFromLayerSelection</at>
147
            <at name="width">1418</at>
147
            <at name="width">1189</at>
148 148
            <at name="text">_Use_geometries_from_layer_selection</at>
149 149
            <at name="height">18</at>
150 150
           </object>
......
161 161
         <at name="cellconstraints">
162 162
          <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
163 163
           <at name="column">2</at>
164
           <at name="row">10</at>
164
           <at name="row">12</at>
165 165
           <at name="colspan">2</at>
166 166
           <at name="rowspan">1</at>
167 167
           <at name="halign">default</at>
......
206 206
             </object>
207 207
            </at>
208 208
            <at name="name">rdbConstantGeometry</at>
209
            <at name="width">1418</at>
209
            <at name="width">1189</at>
210 210
            <at name="text">_Use_the_following_geometry</at>
211 211
            <at name="height">18</at>
212 212
           </object>
......
223 223
         <at name="cellconstraints">
224 224
          <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
225 225
           <at name="column">3</at>
226
           <at name="row">8</at>
226
           <at name="row">10</at>
227 227
           <at name="colspan">1</at>
228 228
           <at name="rowspan">1</at>
229 229
           <at name="halign">default</at>
......
263 263
            <at name="scrollableTracksViewportHeight">true</at>
264 264
            <at name="scrollableTracksViewportWidth">true</at>
265 265
            <at name="name">treeStores</at>
266
            <at name="width">1404</at>
266
            <at name="width">1175</at>
267 267
            <at name="scollBars">
268 268
             <object classname="com.jeta.forms.store.properties.ScrollBarsProperty">
269 269
              <at name="name">scollBars</at>
......
291 291
              </at>
292 292
             </object>
293 293
            </at>
294
            <at name="height">578</at>
294
            <at name="height">555</at>
295 295
           </object>
296 296
          </at>
297 297
         </object>
......
306 306
         <at name="cellconstraints">
307 307
          <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
308 308
           <at name="column">3</at>
309
           <at name="row">12</at>
309
           <at name="row">14</at>
310 310
           <at name="colspan">1</at>
311 311
           <at name="rowspan">1</at>
312 312
           <at name="halign">default</at>
......
346 346
            <at name="scrollableTracksViewportHeight">true</at>
347 347
            <at name="scrollableTracksViewportWidth">true</at>
348 348
            <at name="name">txtGeometry</at>
349
            <at name="width">1404</at>
349
            <at name="width">1175</at>
350 350
            <at name="scollBars">
351 351
             <object classname="com.jeta.forms.store.properties.ScrollBarsProperty">
352 352
              <at name="name">scollBars</at>
......
374 374
              </at>
375 375
             </object>
376 376
            </at>
377
            <at name="height">133</at>
377
            <at name="height">131</at>
378 378
           </object>
379 379
          </at>
380 380
         </object>
......
389 389
         <at name="cellconstraints">
390 390
          <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
391 391
           <at name="column">3</at>
392
           <at name="row">14</at>
392
           <at name="row">16</at>
393 393
           <at name="colspan">1</at>
394 394
           <at name="rowspan">1</at>
395 395
           <at name="halign">default</at>
......
399 399
         </at>
400 400
         <at name="componentclass">com.jeta.forms.gui.form.FormComponent</at>
401 401
        </super>
402
        <at name="id">embedded.1945238884</at>
402
        <at name="id">embedded.400599432</at>
403 403
        <at name="rowspecs">CENTER:DEFAULT:NONE</at>
404 404
        <at name="colspecs">FILL:DEFAULT:NONE,FILL:4DLU:NONE,FILL:DEFAULT:GROW(1.0),FILL:4DLU:NONE,FILL:DEFAULT:NONE</at>
405 405
        <at name="components">
......
449 449
                  </object>
450 450
                 </at>
451 451
                 <at name="name">txtProjection</at>
452
                 <at name="width">1309</at>
452
                 <at name="width">1080</at>
453 453
                 <at name="height">22</at>
454 454
                </object>
455 455
               </at>
......
667 667
         <at name="cellconstraints">
668 668
          <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
669 669
           <at name="column">3</at>
670
           <at name="row">6</at>
670
           <at name="row">8</at>
671 671
           <at name="colspan">1</at>
672 672
           <at name="rowspan">1</at>
673 673
           <at name="halign">default</at>
......
706 706
            </at>
707 707
            <at name="actionCommand">_Use_the_geometry_bounding_box</at>
708 708
            <at name="name">chkUseTheGeometryBoundingBox</at>
709
            <at name="width">1406</at>
709
            <at name="width">1177</at>
710 710
            <at name="text">_Use_the_geometry_bounding_box</at>
711 711
            <at name="height">18</at>
712 712
           </object>
......
716 716
       </object>
717 717
      </at>
718 718
     </item>
719
     <item >
720
      <at name="value">
721
       <object classname="com.jeta.forms.store.memento.BeanMemento">
722
        <super classname="com.jeta.forms.store.memento.ComponentMemento">
723
         <at name="cellconstraints">
724
          <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
725
           <at name="column">2</at>
726
           <at name="row">2</at>
727
           <at name="colspan">2</at>
728
           <at name="rowspan">1</at>
729
           <at name="halign">default</at>
730
           <at name="valign">default</at>
731
           <at name="insets" object="insets">0,0,0,0</at>
732
          </object>
733
         </at>
734
         <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
735
        </super>
736
        <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
737
        <at name="beanclass">javax.swing.JRadioButton</at>
738
        <at name="beanproperties">
739
         <object classname="com.jeta.forms.store.memento.PropertiesMemento">
740
          <at name="classname">javax.swing.JRadioButton</at>
741
          <at name="properties">
742
           <object classname="com.jeta.forms.store.support.PropertyMap">
743
            <at name="border">
744
             <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
745
              <super classname="com.jeta.forms.store.properties.BorderProperty">
746
               <at name="name">border</at>
747
              </super>
748
              <at name="borders">
749
               <object classname="java.util.LinkedList">
750
                <item >
751
                 <at name="value">
752
                  <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
753
                   <super classname="com.jeta.forms.store.properties.BorderProperty">
754
                    <at name="name">border</at>
755
                   </super>
756
                  </object>
757
                 </at>
758
                </item>
759
               </object>
760
              </at>
761
             </object>
762
            </at>
763
            <at name="actionCommand">_Use_geometries_from_clipboard</at>
764
            <at name="buttonGroup">
765
             <object classname="com.jeta.forms.store.properties.ButtonGroupProperty">
766
              <at name="name">buttonGroup</at>
767
              <at name="groupname">1</at>
768
             </object>
769
            </at>
770
            <at name="name">rdbUseCurrentBoundingBox</at>
771
            <at name="width">1189</at>
772
            <at name="text">_Use_current_boundingbox</at>
773
            <at name="height">18</at>
774
           </object>
775
          </at>
776
         </object>
777
        </at>
778
       </object>
779
      </at>
780
     </item>
719 781
    </object>
720 782
   </at>
721 783
   <at name="properties">
......
773 835
   <at name="cellpainters">
774 836
    <object classname="com.jeta.forms.store.support.Matrix">
775 837
     <at name="rows">
776
      <object classname="[Ljava.lang.Object;" size="15">
838
      <object classname="[Ljava.lang.Object;" size="17">
777 839
       <at name="item" index="0">
778 840
        <object classname="[Ljava.lang.Object;" size="4"/>
779 841
       </at>
......
819 881
       <at name="item" index="14">
820 882
        <object classname="[Ljava.lang.Object;" size="4"/>
821 883
       </at>
884
       <at name="item" index="15">
885
        <object classname="[Ljava.lang.Object;" size="4"/>
886
       </at>
887
       <at name="item" index="16">
888
        <object classname="[Ljava.lang.Object;" size="4"/>
889
       </at>
822 890
      </object>
823 891
     </at>
824 892
    </object>
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/searchpanel/SelectGeometryPanelView.java
35 35
   JButton btnProjection = new JButton();
36 36
   JLabel lblProjection = new JLabel();
37 37
   JCheckBox chkUseTheGeometryBoundingBox = new JCheckBox();
38
   JRadioButton rdbUseCurrentBoundingBox = new JRadioButton();
38 39

  
39 40
   /**
40 41
    * Default constructor
......
126 127
   public JPanel createPanel()
127 128
   {
128 129
      JPanel jpanel1 = new JPanel();
129
      FormLayout formlayout1 = new FormLayout("FILL:4DLU:NONE,FILL:8DLU:NONE,FILL:DEFAULT:GROW(1.0),FILL:4DLU:NONE","CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,FILL:DEFAULT:GROW(0.9),CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,FILL:DEFAULT:GROW(0.1),CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE");
130
      FormLayout formlayout1 = new FormLayout("FILL:4DLU:NONE,FILL:8DLU:NONE,FILL:DEFAULT:GROW(1.0),FILL:4DLU:NONE","CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,FILL:DEFAULT:GROW(0.9),CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,FILL:DEFAULT:GROW(0.1),CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE");
130 131
      CellConstraints cc = new CellConstraints();
131 132
      jpanel1.setLayout(formlayout1);
132 133

  
......
134 135
      rdbUseGeomsFromClipbard.setName("rdbUseGeomsFromClipbard");
135 136
      rdbUseGeomsFromClipbard.setText("_Use_geometries_from_clipboard");
136 137
      buttongroup1.add(rdbUseGeomsFromClipbard);
137
      jpanel1.add(rdbUseGeomsFromClipbard,cc.xywh(2,2,2,1));
138
      jpanel1.add(rdbUseGeomsFromClipbard,cc.xywh(2,4,2,1));
138 139

  
139 140
      rdbUseGeomsFromLayerSelection.setActionCommand("_Use_geometries_from_layer_selection");
140 141
      rdbUseGeomsFromLayerSelection.setName("rdbUseGeomsFromLayerSelection");
141 142
      rdbUseGeomsFromLayerSelection.setText("_Use_geometries_from_layer_selection");
142 143
      buttongroup1.add(rdbUseGeomsFromLayerSelection);
143
      jpanel1.add(rdbUseGeomsFromLayerSelection,cc.xywh(2,4,2,1));
144
      jpanel1.add(rdbUseGeomsFromLayerSelection,cc.xywh(2,6,2,1));
144 145

  
145 146
      rdbConstantGeometry.setActionCommand("_Use_next_geometry");
146 147
      rdbConstantGeometry.setName("rdbConstantGeometry");
147 148
      rdbConstantGeometry.setText("_Use_the_following_geometry");
148 149
      buttongroup1.add(rdbConstantGeometry);
149
      jpanel1.add(rdbConstantGeometry,cc.xywh(2,10,2,1));
150
      jpanel1.add(rdbConstantGeometry,cc.xywh(2,12,2,1));
150 151

  
151 152
      treeStores.setName("treeStores");
152 153
      JScrollPane jscrollpane1 = new JScrollPane();
153 154
      jscrollpane1.setViewportView(treeStores);
154 155
      jscrollpane1.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
155 156
      jscrollpane1.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
156
      jpanel1.add(jscrollpane1,cc.xy(3,8));
157
      jpanel1.add(jscrollpane1,cc.xy(3,10));
157 158

  
158 159
      txtGeometry.setName("txtGeometry");
159 160
      JScrollPane jscrollpane2 = new JScrollPane();
160 161
      jscrollpane2.setViewportView(txtGeometry);
161 162
      jscrollpane2.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
162 163
      jscrollpane2.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
163
      jpanel1.add(jscrollpane2,cc.xy(3,12));
164
      jpanel1.add(jscrollpane2,cc.xy(3,14));
164 165

  
165
      jpanel1.add(createPanel1(),cc.xy(3,14));
166
      jpanel1.add(createPanel1(),cc.xy(3,16));
166 167
      chkUseTheGeometryBoundingBox.setActionCommand("_Use_the_geometry_bounding_box");
167 168
      chkUseTheGeometryBoundingBox.setName("chkUseTheGeometryBoundingBox");
168 169
      chkUseTheGeometryBoundingBox.setText("_Use_the_geometry_bounding_box");
169
      jpanel1.add(chkUseTheGeometryBoundingBox,cc.xy(3,6));
170
      jpanel1.add(chkUseTheGeometryBoundingBox,cc.xy(3,8));
170 171

  
171
      addFillComponents(jpanel1,new int[]{ 1,2,3,4 },new int[]{ 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15 });
172
      rdbUseCurrentBoundingBox.setActionCommand("_Use_geometries_from_clipboard");
173
      rdbUseCurrentBoundingBox.setName("rdbUseCurrentBoundingBox");
174
      rdbUseCurrentBoundingBox.setText("_Use_current_boundingbox");
175
      buttongroup1.add(rdbUseCurrentBoundingBox);
176
      jpanel1.add(rdbUseCurrentBoundingBox,cc.xywh(2,2,2,1));
177

  
178
      addFillComponents(jpanel1,new int[]{ 1,2,3,4 },new int[]{ 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17 });
172 179
      return jpanel1;
173 180
   }
174 181

  
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/searchpanel/SelectGeometryPanel.java
10 10
import org.gvsig.fmap.dal.swing.ProjectionPickerController;
11 11
import static org.gvsig.fmap.dal.swing.impl.searchpanel.SearchConditionFieldController.GEOM_OPERAND_MODE_CLIPBOARD;
12 12
import static org.gvsig.fmap.dal.swing.impl.searchpanel.SearchConditionFieldController.GEOM_OPERAND_MODE_CONSTANT;
13
import static org.gvsig.fmap.dal.swing.impl.searchpanel.SearchConditionFieldController.GEOM_OPERAND_MODE_CURRENT_BOUNDINGBOX;
13 14
import static org.gvsig.fmap.dal.swing.impl.searchpanel.SearchConditionFieldController.GEOM_OPERAND_MODE_LAYER_SELECTION;
14 15
import org.gvsig.fmap.dal.swing.storesrepository.StoresRepositoryController;
15 16
import org.gvsig.fmap.geom.Geometry;
......
62 63
        this.rdbUseGeomsFromLayerSelection.addChangeListener((ChangeEvent e) -> {
63 64
            doUpdateEnableComponents();
64 65
        });
66
        this.rdbUseCurrentBoundingBox.addChangeListener((ChangeEvent e) -> {
67
            doUpdateEnableComponents();
68
        });
65 69
        this.rdbUseGeomsFromClipbard.setSelected(true);
66 70
        
67 71
        toolsSwingManager.setDefaultPopupMenu(txtGeometry);
......
78 82
        toolsSwingManager.translate(this.rdbConstantGeometry);
79 83
        toolsSwingManager.translate(this.rdbUseGeomsFromClipbard);
80 84
        toolsSwingManager.translate(this.rdbUseGeomsFromLayerSelection);
85
        toolsSwingManager.translate(this.rdbUseCurrentBoundingBox);
81 86
        toolsSwingManager.translate(this.lblProjection);
82 87
        toolsSwingManager.translate(this.chkUseTheGeometryBoundingBox);
83 88
    }
......
92 97
            return GEOM_OPERAND_MODE_CLIPBOARD;
93 98
        } else if( this.rdbUseGeomsFromLayerSelection.isSelected() ) {
94 99
            return GEOM_OPERAND_MODE_LAYER_SELECTION;
100
        } else if( this.rdbUseCurrentBoundingBox.isSelected() ) {
101
            return GEOM_OPERAND_MODE_CURRENT_BOUNDINGBOX;
95 102
        } else if( this.rdbConstantGeometry.isSelected() ) {
96 103
            return GEOM_OPERAND_MODE_CONSTANT;
97 104
        }
......
138 145
            this.pickerProjection.setEnabled(false);
139 146
            this.txtGeometry.setEnabled(false);
140 147
            this.chkUseTheGeometryBoundingBox.setEnabled(true);
148
        } else if( this.rdbUseCurrentBoundingBox.isSelected() ) {
149
            this.treeStores.setEnabled(false);
150
            this.pickerProjection.setEnabled(false);
151
            this.txtGeometry.setEnabled(false);
152
            this.chkUseTheGeometryBoundingBox.setEnabled(false);
141 153
        } else if( this.rdbConstantGeometry.isSelected() ) {
142 154
            this.treeStores.setEnabled(false);
143 155
            this.pickerProjection.setEnabled(true);
......
149 161
    void setMode(int mode) {
150 162
        switch(mode) {
151 163
            case GEOM_OPERAND_MODE_LAYER_SELECTION:
164
                this.rdbUseCurrentBoundingBox.setSelected(false);
152 165
                this.rdbUseGeomsFromClipbard.setSelected(false);
153 166
                this.rdbUseGeomsFromLayerSelection.setSelected(true);
154 167
                this.rdbConstantGeometry.setSelected(false);
155 168
                break;
156 169
            case GEOM_OPERAND_MODE_CONSTANT:
170
                this.rdbUseCurrentBoundingBox.setSelected(false);
157 171
                this.rdbUseGeomsFromClipbard.setSelected(false);
158 172
                this.rdbUseGeomsFromLayerSelection.setSelected(false);
159 173
                this.rdbConstantGeometry.setSelected(true);
160 174
                break;
175
            case GEOM_OPERAND_MODE_CURRENT_BOUNDINGBOX:
176
                this.rdbUseCurrentBoundingBox.setSelected(true);
177
                this.rdbUseGeomsFromClipbard.setSelected(false);
178
                this.rdbUseGeomsFromLayerSelection.setSelected(false);
179
                this.rdbConstantGeometry.setSelected(false);
180
                break;
161 181
            case GEOM_OPERAND_MODE_CLIPBOARD:
162 182
            default:
183
                this.rdbUseCurrentBoundingBox.setSelected(false);
163 184
                this.rdbUseGeomsFromClipbard.setSelected(true);
164 185
                this.rdbUseGeomsFromLayerSelection.setSelected(false);
165 186
                this.rdbConstantGeometry.setSelected(false);
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/DataSwingManager.java
28 28
import java.util.List;
29 29
import java.util.Map;
30 30
import java.util.function.Predicate;
31
import java.util.function.Supplier;
31 32
import javax.json.JsonObject;
32 33
import javax.swing.AbstractButton;
33 34
import javax.swing.Icon;
......
83 84
import org.gvsig.fmap.dal.swing.searchpanel.SearchConditionPanel.SearchConditionPanelFactory;
84 85
import org.gvsig.fmap.dal.swing.searchpanel.SearchParameters;
85 86
import org.gvsig.fmap.dal.swing.storesrepository.StoresRepositoryController;
87
import org.gvsig.fmap.geom.primitive.Envelope;
86 88
import org.gvsig.tools.dynform.DynFormDefinition;
87 89
import org.gvsig.tools.dynobject.DynStruct;
88 90
import org.gvsig.tools.util.Factory;
......
270 272
    public void registerSearchResultsPanel(SearchResultsPanelFactory factory);
271 273

  
272 274
    public Iterable<SearchResultsPanelFactory> getSearchResultsPanels();
273
}
275

  
276
    public void setCurrentBoundingBox(Supplier<Envelope> boundingBoxSupplier);
277
    
278
    public Supplier<Envelope> getCurrentBoundingBox();
279
       
280
    }

Also available in: Unified diff