Revision 44707

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.api/src/main/java/org/gvsig/fmap/dal/swing/DataSwingManager.java
52 52
import org.gvsig.fmap.dal.swing.DALActionFactory.DALActionContext;
53 53
import org.gvsig.fmap.dal.swing.expressionevaluator.FeatureStoreElement;
54 54
import org.gvsig.fmap.dal.swing.featuretype.AttributeDescriptorPickerController;
55
import org.gvsig.fmap.dal.swing.featuretype.FeatureAttributeSelectionPanel;
55 56
import org.gvsig.fmap.dal.swing.featuretype.FeatureTypeAttributePanel;
56 57
import org.gvsig.fmap.dal.swing.featuretype.FeatureTypePanel;
57 58
import org.gvsig.fmap.dal.swing.jdbc.JDBCConnectionPanel;
......
60 61
import org.gvsig.tools.swing.api.pickercontroller.PickerController;
61 62
import org.gvsig.fmap.dal.swing.jdbc.JDBCConnectionDialog;
62 63
import org.gvsig.fmap.dal.swing.orderpanel.FeatureStoreOrderPanel;
64
import org.gvsig.fmap.dal.swing.searchpanel.SearchConditionPanel;
65
import org.gvsig.fmap.dal.swing.searchpanel.SearchConditionPanel.SearchConditionPanelFactory;
63 66

  
64 67
/**
65 68
 * @author fdiaz
......
133 136
    public ListCellRenderer createDefaultFeatureAttributeListCellRenderer();
134 137
    
135 138
    public FeatureStoreOrderPanel createFeatureStoreOrderPanel();
139

  
140
    public Iterable<SearchConditionPanelFactory> getSearchConditionPanels();
141
    
142
    public void registerSearchConditionPanel(SearchConditionPanelFactory factory);
143
    
144
    public FeatureAttributeSelectionPanel createFeatureAttributeSelectionPanel();
136 145
}
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/FeatureAttributeSelectionPanel.java
1
package org.gvsig.fmap.dal.swing.featuretype;
2

  
3
import java.util.List;
4
import org.gvsig.fmap.dal.feature.FeatureQueryOrder;
5
import org.gvsig.fmap.dal.feature.FeatureStore;
6
import org.gvsig.fmap.dal.feature.FeatureType;
7
import org.gvsig.tools.swing.api.ActionListenerSupport;
8
import org.gvsig.tools.swing.api.Component;
9

  
10
/**
11
 *
12
 * @author jjdelcerro
13
 */
14
public interface FeatureAttributeSelectionPanel extends  Component, ActionListenerSupport {
15
    
16
    public static final String CONFIGURABLE_PANEL_ID = "FeatureAttributeSelectionPanel";
17
    
18
    public static final int DEFAULT_WIDTH = 500;
19
    public static final int DEFAULT_HEIGHT = 350;
20
    
21
    public void setStore(FeatureStore store);
22
    
23
    public void setFeatureType(FeatureType featureType);
24

  
25
    public void setSelectedNames(List<String> names);
26
    
27
    public List<String> getSelectedNames();
28
    
29
    public FeatureType getFeatureType();
30
        
31
}
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/searchpanel/SearchConditionPanel.java
1
package org.gvsig.fmap.dal.swing.searchpanel;
2

  
3
import org.gvsig.expressionevaluator.Expression;
4
import org.gvsig.fmap.dal.feature.FeatureStore;
5
import org.gvsig.tools.util.Factory;
6

  
7
/**
8
 *
9
 * @author jjdelcerro
10
 */
11
public interface SearchConditionPanel {
12

  
13
  public interface SearchConditionPanelFactory extends Factory {
14
    public boolean isApplicable(FeatureStore store);
15

  
16
    @Override
17
    public SearchConditionPanel create(Object... os);
18
    
19
  }
20
  
21
  void clear();
22

  
23
  Expression get();
24

  
25
  boolean set(Expression filter);
26

  
27
  void setEnabled(boolean enabled);
28
  
29
}
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/searchpanel/FeatureStoreSearchPanel.java
1 1
package org.gvsig.fmap.dal.swing.searchpanel;
2 2

  
3
import java.util.List;
3 4
import javax.swing.JComponent;
4 5
import org.gvsig.expressionevaluator.Expression;
5 6
import org.gvsig.fmap.dal.feature.FeatureQueryOrder;
......
42 43
    
43 44
    public boolean isShowActions();
44 45
    
46
    public List<SearchConditionPanel> getConditionPanels();
47
    
45 48
}
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
24 24

  
25 25
import java.util.Collection;
26 26
import java.util.Collections;
27
import java.util.HashMap;
27 28
import java.util.LinkedHashMap;
28 29
import java.util.List;
29 30
import java.util.Map;
......
88 89
import org.gvsig.tools.exception.BaseException;
89 90
import org.gvsig.fmap.dal.swing.DALActionFactory;
90 91
import org.gvsig.fmap.dal.swing.DALActionFactory.DALActionContext;
92
import org.gvsig.fmap.dal.swing.featuretype.FeatureAttributeSelectionPanel;
91 93
import org.gvsig.fmap.dal.swing.impl.featuretable.SimpleFeaturesTableModel;
92 94
import org.gvsig.fmap.dal.swing.impl.featuretype.DefaultFeatureAttributeListCellRenderer;
95
import org.gvsig.fmap.dal.swing.impl.featuretype.DefaultFeatureAttributeSelectionPanel;
93 96
import org.gvsig.fmap.dal.swing.impl.jdbc.DefaultJDBCConnectionDialog;
94 97
import org.gvsig.fmap.dal.swing.impl.jdbc.JDBCConnectionPickerController;
95 98
import org.gvsig.fmap.dal.swing.impl.orderpanel.DefaultFeatureStoreOrderPanel;
96 99
import org.gvsig.fmap.dal.swing.jdbc.JDBCConnectionDialog;
97 100
import org.gvsig.fmap.dal.swing.orderpanel.FeatureStoreOrderPanel;
101
import org.gvsig.fmap.dal.swing.searchpanel.SearchConditionPanel.SearchConditionPanelFactory;
98 102
import org.gvsig.tools.swing.api.pickercontroller.PickerController;
99 103

  
100 104

  
......
106 110
public class DefaultDataSwingManager implements DataSwingManager {
107 111

  
108 112
    private final Map<String,DALActionFactory> featureStoreSearchActions;
113
    private Map<String,SearchConditionPanelFactory> searchConditionPanelFactories;
109 114
    
110 115
    public DefaultDataSwingManager() {
111 116
        this.featureStoreSearchActions = new LinkedHashMap<>();
......
372 377
        return p;
373 378
    }
374 379
    
380
    @Override
381
    public Iterable<SearchConditionPanelFactory> getSearchConditionPanels() {
382
      if( this.searchConditionPanelFactories==null ) {
383
        return Collections.EMPTY_LIST;
384
      }
385
      return this.searchConditionPanelFactories.values();
386
    }
387

  
388
    @Override
389
    public void registerSearchConditionPanel(SearchConditionPanelFactory factory) {
390
      if( this.searchConditionPanelFactories==null ) {
391
        this.searchConditionPanelFactories = new HashMap<>();
392
      }
393
      this.searchConditionPanelFactories.put(factory.getName(), factory);
394
    }
395

  
396
  @Override
397
  public FeatureAttributeSelectionPanel createFeatureAttributeSelectionPanel() {
398
    FeatureAttributeSelectionPanel p = new DefaultFeatureAttributeSelectionPanel();
399
    return p;
400
  }
401

  
375 402
}
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/SearchConditionPanelAdvanced.java
1
package org.gvsig.fmap.dal.swing.impl.searchpanel;
2

  
3
import javax.swing.JButton;
4
import javax.swing.text.JTextComponent;
5
import org.gvsig.expressionevaluator.Expression;
6
import org.gvsig.expressionevaluator.swing.ExpressionEvaluatorSwingLocator;
7
import org.gvsig.expressionevaluator.swing.ExpressionEvaluatorSwingManager;
8
import org.gvsig.expressionevaluator.swing.ExpressionPickerController;
9
import org.gvsig.fmap.dal.feature.FeatureStore;
10
import org.gvsig.fmap.dal.swing.DALSwingLocator;
11
import org.gvsig.fmap.dal.swing.searchpanel.SearchConditionPanel;
12

  
13
/**
14
 *
15
 * @author jjdelcerro
16
 */
17
public class SearchConditionPanelAdvanced implements SearchConditionPanel {
18
  
19
  private final ExpressionPickerController advancedExpression;
20
  private final FeatureStore store;
21
  
22
  public SearchConditionPanelAdvanced(
23
          FeatureStore store,
24
          JTextComponent text, 
25
          JButton button, 
26
          JButton bookmarks, 
27
          JButton history
28
    ) {
29
      this.store = store;
30
      ExpressionEvaluatorSwingManager expressionSwingManager = ExpressionEvaluatorSwingLocator.getManager();
31
      this.advancedExpression = expressionSwingManager.createExpressionPickerController(
32
              text, 
33
              button,
34
              bookmarks,
35
              history
36
      );
37
      this.advancedExpression.addElement(
38
          DALSwingLocator.getSwingManager().createFeatureStoreElement(store)
39
      );
40
    initComponents();
41
  }
42
  
43
  private void initComponents() {
44
  }
45

  
46
  @Override
47
  public void clear() {
48
        this.advancedExpression.set(null);
49
  }
50

  
51
  @Override
52
  public Expression get() {
53
    return this.advancedExpression.get();
54
  }
55

  
56
  @Override
57
  public boolean set(Expression filter) {
58
    this.advancedExpression.set(filter);
59
    return true;
60
  }
61

  
62
  @Override
63
  public void setEnabled(boolean enabled) {
64
        this.advancedExpression.setEnabled(enabled);
65
  }
66
  
67
  
68
}
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/SearchConditionPanelSimplified.java
1
package org.gvsig.fmap.dal.swing.impl.searchpanel;
2

  
3
import java.awt.event.ActionEvent;
4
import java.util.ArrayList;
5
import java.util.List;
6
import javax.swing.JButton;
7
import javax.swing.JComboBox;
8
import javax.swing.JLabel;
9
import org.apache.commons.lang3.StringUtils;
10
import org.gvsig.expressionevaluator.Code;
11
import org.gvsig.expressionevaluator.Expression;
12
import org.gvsig.expressionevaluator.ExpressionBuilder;
13
import static org.gvsig.expressionevaluator.ExpressionBuilder.OPERATOR_AND;
14
import static org.gvsig.expressionevaluator.ExpressionBuilder.OPERATOR_OR;
15
import org.gvsig.expressionevaluator.ExpressionUtils;
16
import org.gvsig.expressionevaluator.swing.JExpressionBuilder;
17
import org.gvsig.fmap.dal.complements.Search;
18
import org.gvsig.fmap.dal.exception.DataException;
19
import org.gvsig.fmap.dal.feature.FeatureStore;
20
import org.gvsig.fmap.dal.swing.DALSwingLocator;
21
import org.gvsig.fmap.dal.swing.DataSwingManager;
22
import org.gvsig.fmap.dal.swing.searchpanel.SearchConditionPanel;
23
import org.gvsig.tools.ToolsLocator;
24
import org.gvsig.tools.i18n.I18nManager;
25
import org.gvsig.tools.swing.api.ToolsSwingLocator;
26
import org.gvsig.tools.swing.api.windowmanager.Dialog;
27
import org.gvsig.tools.swing.api.windowmanager.WindowManager;
28
import org.gvsig.tools.swing.api.windowmanager.WindowManager_v2;
29
import org.slf4j.Logger;
30
import org.slf4j.LoggerFactory;
31

  
32
/**
33
 *
34
 * @author jjdelcerro
35
 */
36
public class SearchConditionPanelSimplified implements SearchConditionPanel {
37

  
38
  private static final Logger LOGGER = LoggerFactory.getLogger(SearchConditionPanelSimplified.class);
39

  
40
  private final FeatureStore store;
41
  private final List<SearchFieldController> searchFields;
42
  private int maxSearhFields = 4;
43
  private String accumulatedFilter;
44
  private final JButton btnAddAccumulatedFilter;
45
  private final JButton btnRemoveAccumulatedFilter;
46
  private final JButton btnViewAccumulatedFilter;
47
  private final String baseToolTip;
48

  
49
  public SearchConditionPanelSimplified(
50
          FeatureStore store,
51
          JButton btnAddToAccumulatedFilter,
52
          JButton btnRemoveAccumulatedFilter,
53
          JButton btnViewAccumulatedFilter,
54
          JLabel lblField1,
55
          JLabel lblExtraFields1,
56
          JLabel lblRelationalOperator1,
57
          JComboBox cboValue1,
58
          JLabel lblLogicalOperators1,
59
          JLabel lblField2,
60
          JLabel lblExtraFields2,
61
          JLabel lblRelationalOperator2,
62
          JComboBox cboValue2,
63
          JLabel lblLogicalOperators2,
64
          JLabel lblField3,
65
          JLabel lblExtraFields3,
66
          JLabel lblRelationalOperator3,
67
          JComboBox cboValue3,
68
          JLabel lblLogicalOperators3,
69
          JLabel lblField4,
70
          JLabel lblExtraFields4,
71
          JLabel lblRelationalOperator4,
72
          JComboBox cboValue4,
73
          JLabel lblLogicalOperators4
74
  ) {
75
    this.store = store;
76
    this.searchFields = new ArrayList<>();
77
    SearchFieldController controller = new SearchFieldController(
78
            store,
79
            lblField1,
80
            lblExtraFields1,
81
            lblRelationalOperator1,
82
            cboValue1,
83
            lblLogicalOperators1
84
    );
85
    this.searchFields.add(controller);
86
    controller = new SearchFieldController(
87
            store,
88
            lblField2,
89
            lblExtraFields2,
90
            lblRelationalOperator2,
91
            cboValue2,
92
            lblLogicalOperators2
93
    );
94
    this.searchFields.add(controller);
95
    controller = new SearchFieldController(
96
            store,
97
            lblField3,
98
            lblExtraFields3,
99
            lblRelationalOperator3,
100
            cboValue3,
101
            lblLogicalOperators3
102
    );
103
    this.searchFields.add(controller);
104
    controller = new SearchFieldController(
105
            store,
106
            lblField4,
107
            lblExtraFields4,
108
            lblRelationalOperator4,
109
            cboValue4,
110
            null
111
    );
112
    this.searchFields.add(controller);
113
    this.accumulatedFilter = null;
114
    this.btnAddAccumulatedFilter = btnAddToAccumulatedFilter;
115
    this.btnRemoveAccumulatedFilter = btnRemoveAccumulatedFilter;
116
    this.btnViewAccumulatedFilter = btnViewAccumulatedFilter;
117
    this.baseToolTip = this.btnAddAccumulatedFilter.getToolTipText();
118
    initComponents();
119
  }
120

  
121
  private void initComponents() {
122
    try {
123
      Search search = (Search) ToolsLocator.getComplementsManager().get(
124
              Search.COMPLEMENT_MANE, this.store.getDefaultFeatureType()
125
      );
126
      List<Search.OrderedAttribute> orderedAttributes = search.getOrderedAttributes(
127
              Search.BASIC_TYPES_FILTER,
128
              Search.STR_INT_LONG_LABEL_ORDER,
129
              5
130
      );
131
      this.maxSearhFields = Integer.min(orderedAttributes.size(), 4);
132
      int n = 0;
133
      for (SearchFieldController searchField : searchFields) {
134
        if (n < this.maxSearhFields) {
135
          searchField.setAttribute(orderedAttributes.get(n++).getDescriptor().getName());
136
        } else {
137
          searchField.setEnabled(false);
138
        }
139
      }
140
    } catch (DataException ex) {
141
      LOGGER.warn("Can't determine order of attributes", ex);
142
    }
143
    this.btnAddAccumulatedFilter.addActionListener((ActionEvent e) -> {
144
      addToAccumulatedFilter(this.getCurrentFilter());
145
    });
146
    this.btnRemoveAccumulatedFilter.addActionListener((ActionEvent e) -> {
147
      clearAccumulatedFilter();
148
    });
149
    this.btnViewAccumulatedFilter.addActionListener((ActionEvent e) -> {
150
      showAccumulatedFilter();
151
    });
152
    this.btnRemoveAccumulatedFilter.setEnabled(false);
153
    this.btnViewAccumulatedFilter.setEnabled(false);
154
    this.btnAddAccumulatedFilter.setEnabled(true);
155
  }
156

  
157
  public void addToAccumulatedFilter(String filter) {
158
    if( StringUtils.isBlank(filter) ) {
159
      return;
160
    }
161
    String theAccumulatedFilter = this.accumulatedFilter;
162
    this.clear();
163
    if( !StringUtils.isBlank(theAccumulatedFilter) ) {
164
      filter = "( " + theAccumulatedFilter + ") AND \n( " + filter + ")";
165
    }
166
    this.btnAddAccumulatedFilter.setToolTipText("<html><b>"+this.baseToolTip + "</b><br><br>" + filter.replaceAll("\\n", "<br>")+"</html>");
167
    this.accumulatedFilter = filter;
168
    this.btnRemoveAccumulatedFilter.setEnabled(true);
169
    this.btnViewAccumulatedFilter.setEnabled(true);
170
  }
171
  
172
  public void clearAccumulatedFilter() {
173
    this.accumulatedFilter = null;
174
    this.btnRemoveAccumulatedFilter.setEnabled(false);
175
    this.btnViewAccumulatedFilter.setEnabled(false);
176
  }
177
  
178
  public void showAccumulatedFilter() {
179
    WindowManager_v2 winmanager = (WindowManager_v2) ToolsSwingLocator.getWindowManager();
180
    DataSwingManager manager = DALSwingLocator.getDataSwingManager();
181
    I18nManager i18n = ToolsLocator.getI18nManager();
182

  
183
    JExpressionBuilder panel = manager.createQueryFilterExpresion(store);
184
    panel.setExpression(ExpressionUtils.createExpression(this.getAccumulatedFilter()));
185
    Dialog dialog = winmanager.createDialog(
186
            panel.asJComponent(),
187
            i18n.getTranslation("_Expression_builder"),
188
            null, 
189
            WindowManager_v2.BUTTONS_OK_CANCEL
190
    );
191
    dialog.addActionListener((ActionEvent e) -> {
192
      if( dialog.getAction()==WindowManager_v2.BUTTON_OK ) {
193
        this.clearAccumulatedFilter();
194
        this.addToAccumulatedFilter(panel.getExpression().getPhrase());
195
      }
196
    });
197
    dialog.show(WindowManager.MODE.DIALOG);
198
  }
199
  
200
  @Override
201
  public void setEnabled(boolean enabled) {
202
    if (this.searchFields == null) {
203
      initComponents();
204
    }
205
    int n = 0;
206
    for (SearchFieldController searchField : searchFields) {
207
      if (n < this.maxSearhFields) {
208
        searchField.setEnabled(enabled);
209
      } else {
210
        searchField.setEnabled(false);
211
      }
212
      n++;
213
    }
214
  }
215

  
216
  @Override
217
  public void clear() {
218
    if (this.searchFields == null) {
219
      return;
220
    }
221
    for (SearchFieldController searchField : searchFields) {
222
      searchField.clear();
223
    }
224
    this.clearAccumulatedFilter();
225
  }
226

  
227
  @Override
228
  public Expression get() {
229
    String currentFilter = this.getCurrentFilter();
230
    if( StringUtils.isBlank(accumulatedFilter) ) {
231
      if( StringUtils.isBlank(currentFilter) ) {
232
        return null;
233
      }
234
      return ExpressionUtils.createExpression(currentFilter);
235
    }
236
    if( StringUtils.isBlank(currentFilter) ) {
237
      return ExpressionUtils.createExpression(accumulatedFilter);
238
    }
239
    return ExpressionUtils.createExpression("( " + accumulatedFilter + " ) AND ( "+ currentFilter +" )");
240
  }
241
  
242
  public String getAccumulatedFilter() {
243
    return this.accumulatedFilter;
244
  }
245
  
246
  public String getCurrentFilter() {
247
    ExpressionBuilder builder = ExpressionUtils.createExpressionBuilder();
248
    String relational = OPERATOR_OR;
249
    for (SearchFieldController searchField : searchFields) {
250
      if (searchField.getAttribute() != null && searchField.getValue() != null) {
251
        ExpressionBuilder.BinaryOperator cond = builder.binaryOperator(
252
                searchField.getRelationalOperator(),
253
                searchField.isAttributeAnExpression()
254
                ? builder.custom(searchField.getAttribute())
255
                : builder.column(searchField.getAttribute()),
256
                builder.constant(searchField.getValue())
257
        );
258
        if (relational.equals(OPERATOR_AND)) {
259
          builder.and(cond);
260
        } else {
261
          builder.or(cond);
262
        }
263
        relational = searchField.getLogicalOperator();
264
      }
265
    }
266
    if (builder.isEmpty()) {
267
      return null;
268
    }
269
    return builder.toString();
270
  }
271

  
272
  @Override
273
  public boolean set(Expression filter) {
274
    Code code = filter.getCode();
275
    if (code.code() == Code.CALLER) {
276
      SearchFieldController searchField = this.searchFields.get(0);
277
      Code.Caller caller = (Code.Caller) code;
278
      if (searchField.isAValidRelationOperator(caller.name())) {
279
        Code op1 = caller.parameters().get(0);
280
        Code op2 = caller.parameters().get(1);
281
        if (op1.code() == Code.IDENTIFIER && op2.code() == Code.CONSTANT) {
282
          if (searchField.setAttribute(((Code.Identifier) op1).name()) >= 0) {
283
            searchField.setRelationalOperator(caller.name());
284
            searchField.setValue(((Code.Constant) op2).value());
285
            return true;
286
          }
287
        }
288
      }
289
    }
290
    return false;
291
  }
292
}
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/DefaultSearchPanelView.xml
24 24
    </at>
25 25
    <at name="componentclass">com.jeta.forms.gui.form.FormComponent</at>
26 26
   </super>
27
   <at name="id">/home/osc/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/DefaultSearchPanelView.xml</at>
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/DefaultSearchPanelView.xml</at>
28
   <at name="path">src/main/java/org/gvsig/fmap/dal/swing/impl/searchpanel/DefaultSearchPanelView.xml</at>
28 29
   <at name="rowspecs">CENTER:4DLU:NONE,CENTER:DEFAULT:NONE,CENTER:DEFAULT:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,FILL:DEFAULT:GROW(1.0),CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE</at>
29 30
   <at name="colspecs">FILL:4DLU:NONE,FILL:DEFAULT:GROW(1.0),FILL:4DLU:NONE</at>
30 31
   <at name="components">
......
113 114
                      </at>
114 115
                      <at name="componentclass">com.jeta.forms.gui.form.FormComponent</at>
115 116
                     </super>
116
                     <at name="id">embedded.607488925</at>
117
                     <at name="rowspecs">CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:4DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE</at>
117
                     <at name="id">embedded.997251819</at>
118
                     <at name="rowspecs">CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:4DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE</at>
118 119
                     <at name="colspecs">FILL:4DLU:NONE,FILL:12DLU:GROW(1.0),FILL:4DLU:NONE,FILL:DEFAULT:NONE,FILL:4DLU:NONE,FILL:DEFAULT:NONE,FILL:4DLU:NONE,FILL:12DLU:GROW(1.0),FILL:4DLU:NONE,FILL:DEFAULT:NONE,FILL:4DLU:NONE,FILL:DEFAULT:NONE,FILL:4DLU:NONE,FILL:12DLU:GROW(1.0),FILL:4DLU:NONE,FILL:DEFAULT:NONE,FILL:4DLU:NONE,FILL:DEFAULT:NONE,FILL:4DLU:NONE,FILL:12DLU:GROW(1.0),FILL:DEFAULT:NONE,FILL:4DLU:NONE</at>
119 120
                     <at name="components">
120 121
                      <object classname="java.util.LinkedList">
......
166 167
                              <at name="editable">true</at>
167 168
                              <at name="requestFocusEnabled">false</at>
168 169
                              <at name="name">cboValue1</at>
169
                              <at name="width">75</at>
170
                              <at name="width">167</at>
170 171
                              <at name="items">
171 172
                               <object classname="com.jeta.forms.store.properties.ItemsProperty">
172 173
                                <at name="name">items</at>
......
228 229
                              <at name="editable">true</at>
229 230
                              <at name="requestFocusEnabled">false</at>
230 231
                              <at name="name">cboValue2</at>
231
                              <at name="width">75</at>
232
                              <at name="width">168</at>
232 233
                              <at name="items">
233 234
                               <object classname="com.jeta.forms.store.properties.ItemsProperty">
234 235
                                <at name="name">items</at>
......
290 291
                              <at name="editable">true</at>
291 292
                              <at name="requestFocusEnabled">false</at>
292 293
                              <at name="name">cboValue3</at>
293
                              <at name="width">74</at>
294
                              <at name="width">167</at>
294 295
                              <at name="items">
295 296
                               <object classname="com.jeta.forms.store.properties.ItemsProperty">
296 297
                                <at name="name">items</at>
......
352 353
                              <at name="editable">true</at>
353 354
                              <at name="requestFocusEnabled">false</at>
354 355
                              <at name="name">cboValue4</at>
355
                              <at name="width">68</at>
356
                              <at name="width">160</at>
356 357
                              <at name="items">
357 358
                               <object classname="com.jeta.forms.store.properties.ItemsProperty">
358 359
                                <at name="name">items</at>
......
412 413
                              </at>
413 414
                              <at name="horizontalAlignment">0</at>
414 415
                              <at name="name">lblRelationalOperator1</at>
415
                              <at name="width">48</at>
416
                              <at name="width">140</at>
416 417
                              <at name="text">Igual</at>
417 418
                              <at name="fill">
418 419
                               <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
......
473 474
                              </at>
474 475
                              <at name="horizontalAlignment">0</at>
475 476
                              <at name="name">lblRelationalOperator2</at>
476
                              <at name="width">48</at>
477
                              <at name="width">141</at>
477 478
                              <at name="text">Igual</at>
478 479
                              <at name="fill">
479 480
                               <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
......
534 535
                              </at>
535 536
                              <at name="horizontalAlignment">0</at>
536 537
                              <at name="name">lblRelationalOperator3</at>
537
                              <at name="width">47</at>
538
                              <at name="width">140</at>
538 539
                              <at name="text">Igual</at>
539 540
                              <at name="fill">
540 541
                               <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
......
595 596
                              </at>
596 597
                              <at name="horizontalAlignment">0</at>
597 598
                              <at name="name">lblRelationalOperator4</at>
598
                              <at name="width">48</at>
599
                              <at name="width">140</at>
599 600
                              <at name="text">Igual</at>
600 601
                              <at name="fill">
601 602
                               <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
......
839 840
                              </at>
840 841
                              <at name="horizontalAlignment">0</at>
841 842
                              <at name="name">lblField1</at>
842
                              <at name="width">48</at>
843
                              <at name="width">140</at>
843 844
                              <at name="fill">
844 845
                               <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
845 846
                                <at name="name">fill</at>
......
899 900
                              </at>
900 901
                              <at name="horizontalAlignment">0</at>
901 902
                              <at name="name">lblField2</at>
902
                              <at name="width">48</at>
903
                              <at name="width">141</at>
903 904
                              <at name="fill">
904 905
                               <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
905 906
                                <at name="name">fill</at>
......
959 960
                              </at>
960 961
                              <at name="horizontalAlignment">0</at>
961 962
                              <at name="name">lblField3</at>
962
                              <at name="width">47</at>
963
                              <at name="width">140</at>
963 964
                              <at name="fill">
964 965
                               <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
965 966
                                <at name="name">fill</at>
......
1019 1020
                              </at>
1020 1021
                              <at name="horizontalAlignment">0</at>
1021 1022
                              <at name="name">lblField4</at>
1022
                              <at name="width">48</at>
1023
                              <at name="width">140</at>
1023 1024
                              <at name="fill">
1024 1025
                               <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
1025 1026
                                <at name="name">fill</at>
......
1080 1081
                              <at name="icon">
1081 1082
                               <object classname="com.jeta.forms.store.properties.IconProperty">
1082 1083
                                <at name="embedded">false</at>
1083
                                <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/resources/org/gvsig/fmap/dal/swing/impl/searchpanel/featurestore-column.png</at>
1084
                                <at name="path">src/main/resources/org/gvsig/fmap/dal/swing/impl/searchpanel/featurestore-column.png</at>
1084 1085
                                <at name="description">featurestore-column.png</at>
1085 1086
                                <at name="width">16</at>
1086 1087
                                <at name="height">16</at>
......
1148 1149
                              <at name="icon">
1149 1150
                               <object classname="com.jeta.forms.store.properties.IconProperty">
1150 1151
                                <at name="embedded">false</at>
1151
                                <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/resources/org/gvsig/fmap/dal/swing/impl/searchpanel/featurestore-column.png</at>
1152
                                <at name="path">src/main/resources/org/gvsig/fmap/dal/swing/impl/searchpanel/featurestore-column.png</at>
1152 1153
                                <at name="description">featurestore-column.png</at>
1153 1154
                                <at name="width">16</at>
1154 1155
                                <at name="height">16</at>
......
1216 1217
                              <at name="icon">
1217 1218
                               <object classname="com.jeta.forms.store.properties.IconProperty">
1218 1219
                                <at name="embedded">false</at>
1219
                                <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/resources/org/gvsig/fmap/dal/swing/impl/searchpanel/featurestore-column.png</at>
1220
                                <at name="path">src/main/resources/org/gvsig/fmap/dal/swing/impl/searchpanel/featurestore-column.png</at>
1220 1221
                                <at name="description">featurestore-column.png</at>
1221 1222
                                <at name="width">16</at>
1222 1223
                                <at name="height">16</at>
......
1284 1285
                              <at name="icon">
1285 1286
                               <object classname="com.jeta.forms.store.properties.IconProperty">
1286 1287
                                <at name="embedded">false</at>
1287
                                <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/resources/org/gvsig/fmap/dal/swing/impl/searchpanel/featurestore-column.png</at>
1288
                                <at name="path">src/main/resources/org/gvsig/fmap/dal/swing/impl/searchpanel/featurestore-column.png</at>
1288 1289
                                <at name="description">featurestore-column.png</at>
1289 1290
                                <at name="width">16</at>
1290 1291
                                <at name="height">16</at>
......
1305 1306
                         </object>
1306 1307
                        </at>
1307 1308
                       </item>
1309
                       <item >
1310
                        <at name="value">
1311
                         <object classname="com.jeta.forms.store.memento.FormMemento">
1312
                          <super classname="com.jeta.forms.store.memento.ComponentMemento">
1313
                           <at name="cellconstraints">
1314
                            <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
1315
                             <at name="column">2</at>
1316
                             <at name="row">8</at>
1317
                             <at name="colspan">20</at>
1318
                             <at name="rowspan">1</at>
1319
                             <at name="halign">default</at>
1320
                             <at name="valign">default</at>
1321
                             <at name="insets" object="insets">0,0,0,0</at>
1322
                            </object>
1323
                           </at>
1324
                           <at name="componentclass">com.jeta.forms.gui.form.FormComponent</at>
1325
                          </super>
1326
                          <at name="id">embedded.1805798070</at>
1327
                          <at name="rowspecs">CENTER:DEFAULT:NONE</at>
1328
                          <at name="colspecs">FILL:DEFAULT:GROW(1.0),FILL:4DLU:NONE,FILL:DEFAULT:NONE,FILL:4DLU:NONE,FILL:DEFAULT:NONE,FILL:4DLU:NONE,FILL:DEFAULT:NONE</at>
1329
                          <at name="components">
1330
                           <object classname="java.util.LinkedList">
1331
                            <item >
1332
                             <at name="value">
1333
                              <object classname="com.jeta.forms.store.memento.BeanMemento">
1334
                               <super classname="com.jeta.forms.store.memento.ComponentMemento">
1335
                                <at name="cellconstraints">
1336
                                 <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
1337
                                  <at name="column">3</at>
1338
                                  <at name="row">1</at>
1339
                                  <at name="colspan">1</at>
1340
                                  <at name="rowspan">1</at>
1341
                                  <at name="halign">default</at>
1342
                                  <at name="valign">default</at>
1343
                                  <at name="insets" object="insets">0,0,0,0</at>
1344
                                 </object>
1345
                                </at>
1346
                                <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
1347
                               </super>
1348
                               <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
1349
                               <at name="beanclass">javax.swing.JButton</at>
1350
                               <at name="beanproperties">
1351
                                <object classname="com.jeta.forms.store.memento.PropertiesMemento">
1352
                                 <at name="classname">javax.swing.JButton</at>
1353
                                 <at name="properties">
1354
                                  <object classname="com.jeta.forms.store.support.PropertyMap">
1355
                                   <at name="border">
1356
                                    <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
1357
                                     <super classname="com.jeta.forms.store.properties.BorderProperty">
1358
                                      <at name="name">border</at>
1359
                                     </super>
1360
                                     <at name="borders">
1361
                                      <object classname="java.util.LinkedList">
1362
                                       <item >
1363
                                        <at name="value">
1364
                                         <object classname="com.jeta.forms.store.properties.EmptyBorderProperty">
1365
                                          <super classname="com.jeta.forms.store.properties.BorderProperty">
1366
                                           <at name="name">border</at>
1367
                                          </super>
1368
                                          <at name="top">2</at>
1369
                                          <at name="left">2</at>
1370
                                          <at name="bottom">2</at>
1371
                                          <at name="right">2</at>
1372
                                         </object>
1373
                                        </at>
1374
                                       </item>
1375
                                      </object>
1376
                                     </at>
1377
                                    </object>
1378
                                   </at>
1379
                                   <at name="actionCommand">...</at>
1380
                                   <at name="icon">
1381
                                    <object classname="com.jeta.forms.store.properties.IconProperty">
1382
                                     <at name="embedded">false</at>
1383
                                     <at name="path">src/main/resources/org/gvsig/fmap/dal/swing/impl/searchpanel/search-simplifiedcondition-clear-accumulate.png</at>
1384
                                     <at name="description">search-simplifiedcondition-clear-accumulate.png</at>
1385
                                     <at name="width">16</at>
1386
                                     <at name="height">16</at>
1387
                                    </object>
1388
                                   </at>
1389
                                   <at name="name">btnRemoveAccumulatedFilter</at>
1390
                                   <at name="width">20</at>
1391
                                   <at name="toolTipText">_Remove_accumulated_filter</at>
1392
                                   <at name="height">20</at>
1393
                                  </object>
1394
                                 </at>
1395
                                </object>
1396
                               </at>
1397
                              </object>
1398
                             </at>
1399
                            </item>
1400
                            <item >
1401
                             <at name="value">
1402
                              <object classname="com.jeta.forms.store.memento.BeanMemento">
1403
                               <super classname="com.jeta.forms.store.memento.ComponentMemento">
1404
                                <at name="cellconstraints">
1405
                                 <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
1406
                                  <at name="column">7</at>
1407
                                  <at name="row">1</at>
1408
                                  <at name="colspan">1</at>
1409
                                  <at name="rowspan">1</at>
1410
                                  <at name="halign">default</at>
1411
                                  <at name="valign">default</at>
1412
                                  <at name="insets" object="insets">0,0,0,0</at>
1413
                                 </object>
1414
                                </at>
1415
                                <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
1416
                               </super>
1417
                               <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
1418
                               <at name="beanclass">javax.swing.JButton</at>
1419
                               <at name="beanproperties">
1420
                                <object classname="com.jeta.forms.store.memento.PropertiesMemento">
1421
                                 <at name="classname">javax.swing.JButton</at>
1422
                                 <at name="properties">
1423
                                  <object classname="com.jeta.forms.store.support.PropertyMap">
1424
                                   <at name="border">
1425
                                    <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
1426
                                     <super classname="com.jeta.forms.store.properties.BorderProperty">
1427
                                      <at name="name">border</at>
1428
                                     </super>
1429
                                     <at name="borders">
1430
                                      <object classname="java.util.LinkedList">
1431
                                       <item >
1432
                                        <at name="value">
1433
                                         <object classname="com.jeta.forms.store.properties.EmptyBorderProperty">
1434
                                          <super classname="com.jeta.forms.store.properties.BorderProperty">
1435
                                           <at name="name">border</at>
1436
                                          </super>
1437
                                          <at name="top">2</at>
1438
                                          <at name="left">2</at>
1439
                                          <at name="bottom">2</at>
1440
                                          <at name="right">2</at>
1441
                                         </object>
1442
                                        </at>
1443
                                       </item>
1444
                                      </object>
1445
                                     </at>
1446
                                    </object>
1447
                                   </at>
1448
                                   <at name="actionCommand">...</at>
1449
                                   <at name="icon">
1450
                                    <object classname="com.jeta.forms.store.properties.IconProperty">
1451
                                     <at name="embedded">false</at>
1452
                                     <at name="path">src/main/resources/org/gvsig/fmap/dal/swing/impl/searchpanel/search-simplifiedcondition-add-accumulate.png</at>
1453
                                     <at name="description">search-simplifiedcondition-add-accumulate.png</at>
1454
                                     <at name="width">16</at>
1455
                                     <at name="height">16</at>
1456
                                    </object>
1457
                                   </at>
1458
                                   <at name="name">btnAddAccumulatedFilter</at>
1459
                                   <at name="width">20</at>
1460
                                   <at name="toolTipText">_Accumulate_filter</at>
1461
                                   <at name="height">20</at>
1462
                                  </object>
1463
                                 </at>
1464
                                </object>
1465
                               </at>
1466
                              </object>
1467
                             </at>
1468
                            </item>
1469
                            <item >
1470
                             <at name="value">
1471
                              <object classname="com.jeta.forms.store.memento.BeanMemento">
1472
                               <super classname="com.jeta.forms.store.memento.ComponentMemento">
1473
                                <at name="cellconstraints">
1474
                                 <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
1475
                                  <at name="column">5</at>
1476
                                  <at name="row">1</at>
1477
                                  <at name="colspan">1</at>
1478
                                  <at name="rowspan">1</at>
1479
                                  <at name="halign">default</at>
1480
                                  <at name="valign">default</at>
1481
                                  <at name="insets" object="insets">0,0,0,0</at>
1482
                                 </object>
1483
                                </at>
1484
                                <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
1485
                               </super>
1486
                               <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
1487
                               <at name="beanclass">javax.swing.JButton</at>
1488
                               <at name="beanproperties">
1489
                                <object classname="com.jeta.forms.store.memento.PropertiesMemento">
1490
                                 <at name="classname">javax.swing.JButton</at>
1491
                                 <at name="properties">
1492
                                  <object classname="com.jeta.forms.store.support.PropertyMap">
1493
                                   <at name="border">
1494
                                    <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
1495
                                     <super classname="com.jeta.forms.store.properties.BorderProperty">
1496
                                      <at name="name">border</at>
1497
                                     </super>
1498
                                     <at name="borders">
1499
                                      <object classname="java.util.LinkedList">
1500
                                       <item >
1501
                                        <at name="value">
1502
                                         <object classname="com.jeta.forms.store.properties.EmptyBorderProperty">
1503
                                          <super classname="com.jeta.forms.store.properties.BorderProperty">
1504
                                           <at name="name">border</at>
1505
                                          </super>
1506
                                          <at name="top">2</at>
1507
                                          <at name="left">2</at>
1508
                                          <at name="bottom">2</at>
1509
                                          <at name="right">2</at>
1510
                                         </object>
1511
                                        </at>
1512
                                       </item>
1513
                                      </object>
1514
                                     </at>
1515
                                    </object>
1516
                                   </at>
1517
                                   <at name="actionCommand">...</at>
1518
                                   <at name="icon">
1519
                                    <object classname="com.jeta.forms.store.properties.IconProperty">
1520
                                     <at name="embedded">false</at>
1521
                                     <at name="path">src/main/resources/org/gvsig/fmap/dal/swing/impl/searchpanel/search-simplifiedcondition-edit-accumulate.png</at>
1522
                                     <at name="description">search-simplifiedcondition-edit-accumulate.png</at>
1523
                                     <at name="width">16</at>
1524
                                     <at name="height">16</at>
1525
                                    </object>
1526
                                   </at>
1527
                                   <at name="name">btnViewAccumulatedFilter</at>
1528
                                   <at name="width">20</at>
1529
                                   <at name="toolTipText">_View_accumulated_filter</at>
1530
                                   <at name="height">20</at>
1531
                                  </object>
1532
                                 </at>
1533
                                </object>
1534
                               </at>
1535
                              </object>
1536
                             </at>
1537
                            </item>
1538
                           </object>
1539
                          </at>
1540
                          <at name="properties">
1541
                           <object classname="com.jeta.forms.store.memento.PropertiesMemento">
1542
                            <at name="classname">com.jeta.forms.gui.form.GridView</at>
1543
                            <at name="properties">
1544
                             <object classname="com.jeta.forms.store.support.PropertyMap">
1545
                              <at name="border">
1546
                               <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
1547
                                <super classname="com.jeta.forms.store.properties.BorderProperty">
1548
                                 <at name="name">border</at>
1549
                                </super>
1550
                                <at name="borders">
1551
                                 <object classname="java.util.LinkedList"/>
1552
                                </at>
1553
                               </object>
1554
                              </at>
1555
                              <at name="name"/>
1556
                              <at name="fill">
1557
                               <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
1558
                                <at name="name">fill</at>
1559
                               </object>
1560
                              </at>
1561
                              <at name="scollBars">
1562
                               <object classname="com.jeta.forms.store.properties.ScrollBarsProperty">
1563
                                <at name="name">scollBars</at>
1564
                                <at name="verticalpolicy">21</at>
1565
                                <at name="horizontalpolicy">31</at>
1566
                                <at name="border">
1567
                                 <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
1568
                                  <super classname="com.jeta.forms.store.properties.BorderProperty">
1569
                                   <at name="name">border</at>
1570
                                  </super>
1571
                                  <at name="borders">
1572
                                   <object classname="java.util.LinkedList">
1573
                                    <item >
1574
                                     <at name="value">
1575
                                      <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
1576
                                       <super classname="com.jeta.forms.store.properties.BorderProperty">
1577
                                        <at name="name">border</at>
1578
                                       </super>
1579
                                      </object>
1580
                                     </at>
1581
                                    </item>
1582
                                   </object>
1583
                                  </at>
1584
                                 </object>
1585
                                </at>
1586
                               </object>
1587
                              </at>
1588
                             </object>
1589
                            </at>
1590
                           </object>
1591
                          </at>
1592
                          <at name="cellpainters">
1593
                           <object classname="com.jeta.forms.store.support.Matrix">
1594
                            <at name="rows">
1595
                             <object classname="[Ljava.lang.Object;" size="1">
1596
                              <at name="item" index="0">
1597
                               <object classname="[Ljava.lang.Object;" size="7"/>
1598
                              </at>
1599
                             </object>
1600
                            </at>
1601
                           </object>
1602
                          </at>
1603
                          <at name="rowgroups">
1604
                           <object classname="com.jeta.forms.store.memento.FormGroupSet">
1605
                            <at name="groups">
1606
                             <object classname="java.util.HashMap"/>
1607
                            </at>
1608
                           </object>
1609
                          </at>
1610
                          <at name="colgroups">
1611
                           <object classname="com.jeta.forms.store.memento.FormGroupSet">
1612
                            <at name="groups">
1613
                             <object classname="java.util.HashMap"/>
1614
                            </at>
1615
                           </object>
1616
                          </at>
1617
                         </object>
1618
                        </at>
1619
                       </item>
1308 1620
                      </object>
1309 1621
                     </at>
1310 1622
                     <at name="properties">
......
1362 1674
                     <at name="cellpainters">
1363 1675
                      <object classname="com.jeta.forms.store.support.Matrix">
1364 1676
                       <at name="rows">
1365
                        <object classname="[Ljava.lang.Object;" size="7">
1677
                        <object classname="[Ljava.lang.Object;" size="9">
1366 1678
                         <at name="item" index="0">
1367 1679
                          <object classname="[Ljava.lang.Object;" size="22"/>
1368 1680
                         </at>
......
1384 1696
                         <at name="item" index="6">
1385 1697
                          <object classname="[Ljava.lang.Object;" size="22"/>
1386 1698
                         </at>
1699
                         <at name="item" index="7">
1700
                          <object classname="[Ljava.lang.Object;" size="22"/>
1701
                         </at>
1702
                         <at name="item" index="8">
1703
                          <object classname="[Ljava.lang.Object;" size="22"/>
1704
                         </at>
1387 1705
                        </object>
1388 1706
                       </at>
1389 1707
                      </object>
......
1435 1753
                      </at>
1436 1754
                      <at name="componentclass">com.jeta.forms.gui.form.FormComponent</at>
1437 1755
                     </super>
1438
                     <at name="id">embedded.1257561441</at>
1439
                     <at name="rowspecs">CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE</at>
1756
                     <at name="id">embedded.1995293221</at>
1757
                     <at name="rowspecs">CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,FILL:DEFAULT:GROW(1.0),CENTER:2DLU:NONE</at>
1440 1758
                     <at name="colspecs">FILL:4DLU:NONE,FILL:DEFAULT:GROW(1.0),FILL:4DLU:NONE,FILL:DEFAULT:NONE,FILL:4DLU:NONE,FILL:DEFAULT:NONE,FILL:4DLU:NONE,FILL:DEFAULT:NONE,FILL:4DLU:NONE</at>
1441 1759
                     <at name="components">
1442 1760
                      <object classname="java.util.LinkedList">
......
1447 1765
                           <at name="cellconstraints">
1448 1766
                            <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
1449 1767
                             <at name="column">2</at>
1450
                             <at name="row">4</at>
1768
                             <at name="row">2</at>
1451 1769
                             <at name="colspan">1</at>
1452 1770
                             <at name="rowspan">1</at>
1453 1771
                             <at name="halign">default</at>
......
1458 1776
                           <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
1459 1777
                          </super>
1460 1778
                          <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
1461
                          <at name="beanclass">javax.swing.JTextField</at>
1779
                          <at name="beanclass">com.jeta.forms.components.label.JETALabel</at>
1462 1780
                          <at name="beanproperties">
1463 1781
                           <object classname="com.jeta.forms.store.memento.PropertiesMemento">
1464
                            <at name="classname">javax.swing.JTextField</at>
1782
                            <at name="classname">com.jeta.forms.components.label.JETALabel</at>
1465 1783
                            <at name="properties">
1466 1784
                             <object classname="com.jeta.forms.store.support.PropertyMap">
1467 1785
                              <at name="border">
......
1484 1802
                                </at>
1485 1803
                               </object>
1486 1804
                              </at>
1487
                              <at name="name">txtAdvancedExpression</at>
1488
                              <at name="width">424</at>
1489
                              <at name="height">20</at>
1805
                              <at name="name">lblExpressionDeBusqueda</at>
1806
                              <at name="width">794</at>
1807
                              <at name="text">_Insert_a_search_expression</at>
1808
                              <at name="fill">
1809
                               <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
1810
                                <at name="name">fill</at>
1811
                               </object>
1812
                              </at>
1813
                              <at name="height">14</at>
1490 1814
                             </object>
1491 1815
                            </at>
1492 1816
                           </object>
......
1500 1824
                          <super classname="com.jeta.forms.store.memento.ComponentMemento">
1501 1825
                           <at name="cellconstraints">
1502 1826
                            <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
1503
                             <at name="column">2</at>
1504
                             <at name="row">2</at>
1827
                             <at name="column">4</at>
1828
                             <at name="row">4</at>
1505 1829
                             <at name="colspan">1</at>
1506 1830
                             <at name="rowspan">1</at>
1507 1831
                             <at name="halign">default</at>
1508
                             <at name="valign">default</at>
1832
                             <at name="valign">top</at>
1509 1833
                             <at name="insets" object="insets">0,0,0,0</at>
1510 1834
                            </object>
1511 1835
                           </at>
1512 1836
                           <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
1513 1837
                          </super>
1514 1838
                          <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
1515
                          <at name="beanclass">com.jeta.forms.components.label.JETALabel</at>
1839
                          <at name="beanclass">javax.swing.JButton</at>
1516 1840
                          <at name="beanproperties">
1517 1841
                           <object classname="com.jeta.forms.store.memento.PropertiesMemento">
1518
                            <at name="classname">com.jeta.forms.components.label.JETALabel</at>
1842
                            <at name="classname">javax.swing.JButton</at>
1519 1843
                            <at name="properties">
1520 1844
                             <object classname="com.jeta.forms.store.support.PropertyMap">
1521 1845
                              <at name="border">
......
1527 1851
                                 <object classname="java.util.LinkedList">
1528 1852
                                  <item >
1529 1853
                                   <at name="value">
1530
                                    <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
1854
                                    <object classname="com.jeta.forms.store.properties.EmptyBorderProperty">
1531 1855
                                     <super classname="com.jeta.forms.store.properties.BorderProperty">
1532 1856
                                      <at name="name">border</at>
1533 1857
                                     </super>
1858
                                     <at name="top">2</at>
1859
                                     <at name="left">2</at>
1860
                                     <at name="bottom">2</at>
1861
                                     <at name="right">2</at>
1534 1862
                                    </object>
1535 1863
                                   </at>
1536 1864
                                  </item>
......
1538 1866
                                </at>
1539 1867
                               </object>
1540 1868
                              </at>
1541
                              <at name="name">lblExpressionDeBusqueda</at>
1542
                              <at name="width">424</at>
1543
                              <at name="text">_Insert_a_search_expression</at>
1544
                              <at name="fill">
1545
                               <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
1546
                                <at name="name">fill</at>
1547
                               </object>
1548
                              </at>
1549
                              <at name="height">14</at>
1869
                              <at name="actionCommand">...</at>
1870
                              <at name="name">btnAdvancedExpression</at>
1871
                              <at name="width">12</at>
1872
                              <at name="height">12</at>
1550 1873
                             </object>
1551 1874
                            </at>
1552 1875
                           </object>
......
1560 1883
                          <super classname="com.jeta.forms.store.memento.ComponentMemento">
1561 1884
                           <at name="cellconstraints">
1562 1885
                            <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
1563
                             <at name="column">4</at>
1886
                             <at name="column">6</at>
1564 1887
                             <at name="row">4</at>
1565 1888
                             <at name="colspan">1</at>
1566 1889
                             <at name="rowspan">1</at>
1567 1890
                             <at name="halign">default</at>
1568
                             <at name="valign">default</at>
1891
                             <at name="valign">top</at>
1569 1892
                             <at name="insets" object="insets">0,0,0,0</at>
1570 1893
                            </object>
1571 1894
                           </at>
......
1603 1926
                               </object>
1604 1927
                              </at>
1605 1928
                              <at name="actionCommand">...</at>
1606
                              <at name="name">btnAdvancedExpression</at>
1929
                              <at name="name">btnAdvancedExpressionHistory</at>
1607 1930
                              <at name="width">12</at>
1608 1931
                              <at name="height">12</at>
1609 1932
                             </object>
......
1619 1942
                          <super classname="com.jeta.forms.store.memento.ComponentMemento">
1620 1943
                           <at name="cellconstraints">
1621 1944
                            <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
1622
                             <at name="column">6</at>
1945
                             <at name="column">8</at>
1623 1946
                             <at name="row">4</at>
1624 1947
                             <at name="colspan">1</at>
1625 1948
                             <at name="rowspan">1</at>
1626 1949
                             <at name="halign">default</at>
1627
                             <at name="valign">default</at>
1950
                             <at name="valign">top</at>
1628 1951
                             <at name="insets" object="insets">0,0,0,0</at>
1629 1952
                            </object>
1630 1953
                           </at>
......
1662 1985
                               </object>
1663 1986
                              </at>
1664 1987
                              <at name="actionCommand">...</at>
1665
                              <at name="name">btnAdvancedExpressionHistory</at>
1988
                              <at name="name">btnAdvancedExpressionBookmarks</at>
1666 1989
                              <at name="width">12</at>
1667 1990
                              <at name="height">12</at>
1668 1991
                             </object>
......
1678 2001
                          <super classname="com.jeta.forms.store.memento.ComponentMemento">
1679 2002
                           <at name="cellconstraints">
1680 2003
                            <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
1681
                             <at name="column">8</at>
2004
                             <at name="column">2</at>
1682 2005
                             <at name="row">4</at>
1683 2006
                             <at name="colspan">1</at>
1684 2007
                             <at name="rowspan">1</at>
......
1690 2013
                           <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
1691 2014
                          </super>
1692 2015
                          <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
1693
                          <at name="beanclass">javax.swing.JButton</at>
2016
                          <at name="beanclass">javax.swing.JTextArea</at>
1694 2017
                          <at name="beanproperties">
1695 2018
                           <object classname="com.jeta.forms.store.memento.PropertiesMemento">
1696
                            <at name="classname">javax.swing.JButton</at>
2019
                            <at name="classname">javax.swing.JTextArea</at>
1697 2020
                            <at name="properties">
1698 2021
                             <object classname="com.jeta.forms.store.support.PropertyMap">
1699 2022
                              <at name="border">
......
1705 2028
                                 <object classname="java.util.LinkedList">
1706 2029
                                  <item >
1707 2030
                                   <at name="value">
1708
                                    <object classname="com.jeta.forms.store.properties.EmptyBorderProperty">
2031
                                    <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
1709 2032
                                     <super classname="com.jeta.forms.store.properties.BorderProperty">
1710 2033
                                      <at name="name">border</at>
1711 2034
                                     </super>
1712
                                     <at name="top">2</at>
1713
                                     <at name="left">2</at>
1714
                                     <at name="bottom">2</at>
1715
                                     <at name="right">2</at>
1716 2035
                                    </object>
1717 2036
                                   </at>
1718 2037
                                  </item>
......
1720 2039
                                </at>
1721 2040
                               </object>
1722 2041
                              </at>
1723
                              <at name="actionCommand">...</at>
1724
                              <at name="name">btnAdvancedExpressionBookmarks</at>
1725
                              <at name="width">12</at>
1726
                              <at name="height">12</at>
2042
                              <at name="scrollableTracksViewportHeight">true</at>
2043
                              <at name="scrollableTracksViewportWidth">true</at>
2044
                              <at name="name">txtAdvancedExpression</at>
2045
                              <at name="width">792</at>
2046
                              <at name="scollBars">
2047
                               <object classname="com.jeta.forms.store.properties.ScrollBarsProperty">
2048
                                <at name="name">scollBars</at>
2049
                                <at name="verticalpolicy">20</at>
2050
                                <at name="horizontalpolicy">30</at>
2051
                               </object>
2052
                              </at>
2053
                              <at name="height">98</at>
1727 2054
                             </object>
1728 2055
                            </at>
1729 2056
                           </object>
......
1748 2075
                           </at>
1749 2076
                          </object>
1750 2077
                         </at>
1751
                         <at name="name"></at>
2078
                         <at name="name"/>
1752 2079
                         <at name="fill">
1753 2080
                          <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
1754 2081
                           <at name="name">fill</at>
......
1831 2158
              </at>
1832 2159
             </object>
1833 2160
            </at>
1834
            <at name="width">542</at>
2161
            <at name="width">912</at>
1835 2162
            <at name="tabCount">2</at>
1836
            <at name="height">154</at>
2163
            <at name="height">208</at>
1837 2164
           </object>
1838 2165
          </at>
1839 2166
         </object>
......
1886 2213
             </object>
1887 2214
            </at>
1888 2215
            <at name="name">tblResults</at>
1889
            <at name="width">540</at>
2216
            <at name="width">910</at>
1890 2217
            <at name="scollBars">
1891 2218
             <object classname="com.jeta.forms.store.properties.ScrollBarsProperty">
1892 2219
              <at name="name">scollBars</at>
......
1939 2266
         </at>
1940 2267
         <at name="componentclass">com.jeta.forms.gui.form.FormComponent</at>
1941 2268
        </super>
1942
        <at name="id">embedded.730061379</at>
2269
        <at name="id">embedded.50862362</at>
1943 2270
        <at name="rowspecs">CENTER:DEFAULT:NONE</at>
1944 2271
        <at name="colspecs">FILL:DEFAULT:GROW(1.0),FILL:DEFAULT:NONE,FILL:4DLU:NONE,FILL:DEFAULT:NONE</at>
1945 2272
        <at name="components">
......
2155 2482
         </at>
2156 2483
         <at name="componentclass">com.jeta.forms.gui.form.FormComponent</at>
2157 2484
        </super>
2158
        <at name="id">embedded.835443061</at>
2485
        <at name="id">embedded.542168954</at>
2159 2486
        <at name="rowspecs">CENTER:DEFAULT:NONE</at>
2160 2487
        <at name="colspecs">FILL:DEFAULT:GROW(1.0),FILL:4DLU:NONE,FILL:DEFAULT:NONE</at>
2161 2488
        <at name="components">
......
2205 2532
                  </object>
2206 2533
                 </at>
2207 2534
                 <at name="name">lblMsg</at>
2208
                 <at name="width">514</at>
2535
                 <at name="width">884</at>
2209 2536
                 <at name="fill">
2210 2537
                  <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
2211 2538
                   <at name="name">fill</at>
......
2352 2679
         </at>
2353 2680
         <at name="componentclass">com.jeta.forms.gui.form.FormComponent</at>
2354 2681
        </super>
2355
        <at name="id">embedded.15882479</at>
2682
        <at name="id">embedded.1710162884</at>
2356 2683
        <at name="rowspecs">CENTER:DEFAULT:NONE</at>
2357 2684
        <at name="colspecs">FILL:DEFAULT:GROW(1.0),FILL:DEFAULT:NONE</at>
2358 2685
        <at name="components">
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/DefaultSearchPanelView.java
7 7
import java.awt.ComponentOrientation;
8 8
import java.awt.Container;
9 9
import java.awt.Dimension;
10
import java.awt.event.WindowAdapter;
11
import java.awt.event.WindowEvent;
12 10
import javax.swing.Box;
13 11
import javax.swing.ImageIcon;
14 12
import javax.swing.JButton;
......
19 17
import javax.swing.JScrollPane;
20 18
import javax.swing.JTabbedPane;
21 19
import javax.swing.JTable;
22
import javax.swing.JTextField;
20
import javax.swing.JTextArea;
23 21
import javax.swing.border.EmptyBorder;
24 22

  
25 23

  
......
45 43
   JLabel lblExtraFields2 = new JLabel();
46 44
   JLabel lblExtraFields3 = new JLabel();
47 45
   JLabel lblExtraFields4 = new JLabel();
48
   JTextField txtAdvancedExpression = new JTextField();
46
   JButton btnRemoveAccumulatedFilter = new JButton();
47
   JButton btnAddAccumulatedFilter = new JButton();
48
   JButton btnViewAccumulatedFilter = new JButton();
49 49
   JLabel lblExpressionDeBusqueda = new JLabel();
50 50
   JButton btnAdvancedExpression = new JButton();
51 51
   JButton btnAdvancedExpressionHistory = new JButton();
52 52
   JButton btnAdvancedExpressionBookmarks = new JButton();
53
   JTextArea txtAdvancedExpression = new JTextArea();
53 54
   JTable tblResults = new JTable();
54 55
   JButton btnSearch = new JButton();
55 56
   JButton btnClear = new JButton();
......
66 67
   }
67 68

  
68 69
   /**
69
    * Main method for panel
70
    */
71
   public static void main(String[] args)
72
   {
73
      JFrame frame = new JFrame();
74
      frame.setSize(600, 400);
75
      frame.setLocation(100, 100);
76
      frame.getContentPane().add(new DefaultSearchPanelView());
77
      frame.setVisible(true);
78

  
79
      frame.addWindowListener( new WindowAdapter()
80
      {
81
         public void windowClosing( WindowEvent evt )
82
         {
83
            System.exit(0);
84
         }
85
      });
86
   }
87

  
88
   /**
89 70
    * Adds fill components to empty cells in the first row and first column of the grid.
90 71
    * This ensures that the grid spacing will be the same as shown in the designer.
91 72
    * @param cols an array of column indices in the first row where fill components should be added.
......
176 157
      tabSearchMode.setBorder(emptyborder1);
177 158
      tabSearchMode.setTabPlacement(JTabbedPane.BOTTOM);
178 159
      tabSearchMode.addTab("_Simplified",null,createPanel1());
179
      tabSearchMode.addTab("_Advanced",null,createPanel2());
160
      tabSearchMode.addTab("_Advanced",null,createPanel3());
180 161
      jpanel1.add(tabSearchMode,cc.xy(2,3));
181 162

  
182 163
      tblResults.setName("tblResults");
......
186 167
      jscrollpane1.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
187 168
      jpanel1.add(jscrollpane1,cc.xy(2,6));
188 169

  
189
      jpanel1.add(createPanel3(),cc.xy(2,4));
190
      jpanel1.add(createPanel4(),cc.xy(2,8));
191
      jpanel1.add(createPanel5(),cc.xy(2,2));
170
      jpanel1.add(createPanel4(),cc.xy(2,4));
171
      jpanel1.add(createPanel5(),cc.xy(2,8));
172
      jpanel1.add(createPanel6(),cc.xy(2,2));
192 173
      addFillComponents(jpanel1,new int[]{ 1,2,3 },new int[]{ 1,2,3,4,5,6,7,8,9 });
193 174
      return jpanel1;
194 175
   }
......
196 177
   public JPanel createPanel1()
197 178
   {
198 179
      JPanel jpanel1 = new JPanel();
199
      FormLayout formlayout1 = new FormLayout("FILL:4DLU:NONE,FILL:12DLU:GROW(1.0),FILL:4DLU:NONE,FILL:DEFAULT:NONE,FILL:4DLU:NONE,FILL:DEFAULT:NONE,FILL:4DLU:NONE,FILL:12DLU:GROW(1.0),FILL:4DLU:NONE,FILL:DEFAULT:NONE,FILL:4DLU:NONE,FILL:DEFAULT:NONE,FILL:4DLU:NONE,FILL:12DLU:GROW(1.0),FILL:4DLU:NONE,FILL:DEFAULT:NONE,FILL:4DLU:NONE,FILL:DEFAULT:NONE,FILL:4DLU:NONE,FILL:12DLU:GROW(1.0),FILL:DEFAULT:NONE,FILL:4DLU:NONE","CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:4DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE");
180
      FormLayout formlayout1 = new FormLayout("FILL:4DLU:NONE,FILL:12DLU:GROW(1.0),FILL:4DLU:NONE,FILL:DEFAULT:NONE,FILL:4DLU:NONE,FILL:DEFAULT:NONE,FILL:4DLU:NONE,FILL:12DLU:GROW(1.0),FILL:4DLU:NONE,FILL:DEFAULT:NONE,FILL:4DLU:NONE,FILL:DEFAULT:NONE,FILL:4DLU:NONE,FILL:12DLU:GROW(1.0),FILL:4DLU:NONE,FILL:DEFAULT:NONE,FILL:4DLU:NONE,FILL:DEFAULT:NONE,FILL:4DLU:NONE,FILL:12DLU:GROW(1.0),FILL:DEFAULT:NONE,FILL:4DLU:NONE","CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:4DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE");
200 181
      CellConstraints cc = new CellConstraints();
201 182
      jpanel1.setLayout(formlayout1);
202 183

  
......
271 252
      lblField4.setHorizontalAlignment(JLabel.CENTER);
272 253
      jpanel1.add(lblField4,cc.xy(20,2));
273 254

  
274
      lblExtraFields1.setIcon(loadImage("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/resources/org/gvsig/fmap/dal/swing/impl/searchpanel/featurestore-column.png"));
255
      lblExtraFields1.setIcon(loadImage("src/main/resources/org/gvsig/fmap/dal/swing/impl/searchpanel/featurestore-column.png"));
275 256
      lblExtraFields1.setName("lblExtraFields1");
276 257
      jpanel1.add(lblExtraFields1,cc.xy(4,2));
277 258

  
278
      lblExtraFields2.setIcon(loadImage("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/resources/org/gvsig/fmap/dal/swing/impl/searchpanel/featurestore-column.png"));
259
      lblExtraFields2.setIcon(loadImage("src/main/resources/org/gvsig/fmap/dal/swing/impl/searchpanel/featurestore-column.png"));
279 260
      lblExtraFields2.setName("lblExtraFields2");
280 261
      jpanel1.add(lblExtraFields2,cc.xy(10,2));
281 262

  
282
      lblExtraFields3.setIcon(loadImage("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/resources/org/gvsig/fmap/dal/swing/impl/searchpanel/featurestore-column.png"));
263
      lblExtraFields3.setIcon(loadImage("src/main/resources/org/gvsig/fmap/dal/swing/impl/searchpanel/featurestore-column.png"));
283 264
      lblExtraFields3.setName("lblExtraFields3");
... This diff was truncated because it exceeds the maximum size that can be displayed.

Also available in: Unified diff