Revision 44750 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

View differences:

SearchConditionPanelSimplified.java
7 7
import javax.swing.JComboBox;
8 8
import javax.swing.JComponent;
9 9
import javax.swing.JLabel;
10
import javax.swing.event.ChangeListener;
10 11
import org.apache.commons.lang3.StringUtils;
11 12
import org.gvsig.expressionevaluator.Code;
12 13
import org.gvsig.expressionevaluator.Expression;
......
23 24
import org.gvsig.fmap.dal.swing.searchpanel.SearchConditionPanel;
24 25
import org.gvsig.tools.ToolsLocator;
25 26
import org.gvsig.tools.i18n.I18nManager;
27
import org.gvsig.tools.swing.api.ChangeListenerHelper;
26 28
import org.gvsig.tools.swing.api.ToolsSwingLocator;
27 29
import org.gvsig.tools.swing.api.windowmanager.Dialog;
28 30
import org.gvsig.tools.swing.api.windowmanager.WindowManager;
......
75 77
  private final JButton btnViewAccumulatedFilter;
76 78
  private final String baseToolTip;
77 79
  private SearchConditionPanelFactory factory;
80
  private final ChangeListenerHelper changeListenerHelper;
78 81

  
79 82
  public SearchConditionPanelSimplified(
80 83
          FeatureStore store,
......
102 105
          JComboBox cboValue4,
103 106
          JLabel lblLogicalOperators4
104 107
  ) {
108
    this.changeListenerHelper = ToolsSwingLocator.getToolsSwingManager().createChangeListenerHelper();
105 109
    this.store = store;
106 110
    this.searchFields = new ArrayList<>();
107 111
    SearchConditionFieldController controller = new SearchConditionFieldController(
......
202 206
    this.accumulatedFilter = filter;
203 207
    this.btnRemoveAccumulatedFilter.setEnabled(true);
204 208
    this.btnViewAccumulatedFilter.setEnabled(true);
209
    this.changeListenerHelper.fireEvent();
205 210
  }
206 211
  
207 212
  public void clearAccumulatedFilter() {
......
209 214
    this.btnRemoveAccumulatedFilter.setEnabled(false);
210 215
    this.btnViewAccumulatedFilter.setEnabled(false);
211 216
    this.btnAddAccumulatedFilter.setToolTipText(this.baseToolTip);
217
    this.changeListenerHelper.fireEvent();
212 218
  }
213 219
  
214 220
  public void showAccumulatedFilter() {
......
301 307

  
302 308
  @Override
303 309
  public boolean set(Expression filter) {
304
    Code code = filter.getCode();
305
    if (code.code() == Code.CALLER) {
306
      SearchConditionFieldController searchField = this.searchFields.get(0);
307
      Code.Caller caller = (Code.Caller) code;
308
      if (searchField.isAValidRelationOperator(caller.name())) {
309
        Code op1 = caller.parameters().get(0);
310
        Code op2 = caller.parameters().get(1);
311
        if (op1.code() == Code.IDENTIFIER && op2.code() == Code.CONSTANT) {
312
          if (searchField.setAttribute(((Code.Identifier) op1).name()) >= 0) {
313
            searchField.setRelationalOperator(caller.name());
314
            searchField.setValue(((Code.Constant) op2).value());
315
            return true;
310
    try {
311
      Code code = filter.getCode();
312
      if (code.code() == Code.CALLER) {
313
        SearchConditionFieldController searchField = this.searchFields.get(0);
314
        Code.Caller caller = (Code.Caller) code;
315
        if (searchField.isAValidRelationOperator(caller.name())) {
316
          Code op1 = caller.parameters().get(0);
317
          Code op2 = caller.parameters().get(1);
318
          if (op1.code() == Code.IDENTIFIER && op2.code() == Code.CONSTANT) {
319
            if (searchField.setAttribute(((Code.Identifier) op1).name()) >= 0) {
320
              searchField.setRelationalOperator(caller.name());
321
              searchField.setValue(((Code.Constant) op2).value());
322
              return true;
323
            }
316 324
          }
317 325
        }
318 326
      }
327
      return false;
328
    } finally {
329
      this.changeListenerHelper.fireEvent();
319 330
    }
320
    return false;
321 331
  }
332

  
333
  @Override
334
  public void addChangeListener(ChangeListener listener) {
335
    this.changeListenerHelper.addChangeListener(listener);
336
  }
337

  
338
  @Override
339
  public ChangeListener[] getChangeListeners() {
340
    return this.changeListenerHelper.getChangeListeners();
341
  }
342

  
343
  @Override
344
  public void removeChangeListener(ChangeListener listener) {
345
    this.changeListenerHelper.removeChangeListener(listener);
346
  }
347

  
348
  @Override
349
  public void removeAllChangeListener() {
350
    this.changeListenerHelper.removeAllChangeListener();
351
  }
352

  
353
  @Override
354
  public boolean hasChangeListeners() {
355
    return this.changeListenerHelper.hasChangeListeners();
356
  }
322 357
}

Also available in: Unified diff