Statistics
| Revision:

svn-gvsig-desktop / trunk / org.gvsig.desktop / org.gvsig.desktop.compat.cdc / org.gvsig.fmap.dal / org.gvsig.fmap.dal.swing / org.gvsig.fmap.dal.swing.impl / src / main / java / org / gvsig / fmap / dal / swing / impl / searchpanel / SearchConditionPanelAdvanced.java @ 44750

History | View | Annotate | Download (3.53 KB)

1
package org.gvsig.fmap.dal.swing.impl.searchpanel;
2

    
3
import javax.swing.JButton;
4
import javax.swing.JComponent;
5
import javax.swing.event.ChangeListener;
6
import javax.swing.text.JTextComponent;
7
import org.gvsig.expressionevaluator.Expression;
8
import org.gvsig.expressionevaluator.swing.ExpressionEvaluatorSwingLocator;
9
import org.gvsig.expressionevaluator.swing.ExpressionEvaluatorSwingManager;
10
import org.gvsig.expressionevaluator.swing.ExpressionPickerController;
11
import org.gvsig.fmap.dal.feature.FeatureStore;
12
import org.gvsig.fmap.dal.swing.DALSwingLocator;
13
import org.gvsig.fmap.dal.swing.searchpanel.SearchConditionPanel;
14
import org.gvsig.tools.swing.api.ChangeListenerHelper;
15
import org.gvsig.tools.swing.api.ToolsSwingLocator;
16

    
17
/**
18
 *
19
 * @author jjdelcerro
20
 */
21
public class SearchConditionPanelAdvanced implements SearchConditionPanel {
22

    
23
    @Override
24
    public JComponent asJComponent() {
25
        return null;
26
    }
27

    
28
  private static class SearchConditionPanelAdvancedFactory 
29
     implements SearchConditionPanelFactory
30
  {
31

    
32
    @Override
33
    public boolean isApplicable(FeatureStore store) {
34
      return true;
35
    }
36

    
37
    @Override
38
    public SearchConditionPanel create(Object... os) {
39
      return null;
40
    }
41

    
42
    @Override
43
    public String getName() {
44
      return "Advanced";
45
    }
46
    
47
  }
48
  
49
  private static final SearchConditionPanelFactory FACTORY = new SearchConditionPanelAdvancedFactory();
50
  
51
  private final ExpressionPickerController advancedExpression;
52
  private final FeatureStore store;
53
  private final ChangeListenerHelper changeListenerHelper;
54
  
55
  public SearchConditionPanelAdvanced(
56
          FeatureStore store,
57
          JTextComponent text, 
58
          JButton button, 
59
          JButton bookmarks, 
60
          JButton history
61
    ) {
62
      this.changeListenerHelper = ToolsSwingLocator.getToolsSwingManager().createChangeListenerHelper();
63
      this.store = store;
64
      ExpressionEvaluatorSwingManager expressionSwingManager = ExpressionEvaluatorSwingLocator.getManager();
65
      this.advancedExpression = expressionSwingManager.createExpressionPickerController(
66
              text, 
67
              button,
68
              bookmarks,
69
              history
70
      );
71
      this.advancedExpression.addElement(
72
          DALSwingLocator.getSwingManager().createFeatureStoreElement(store)
73
      );
74
    initComponents();
75
  }
76

    
77
  @Override
78
  public SearchConditionPanelFactory getFactory() {
79
    return FACTORY;
80
  }
81
  
82
  private void initComponents() {
83
  }
84

    
85
  @Override
86
  public void clear() {
87
        this.advancedExpression.set(null);
88
        this.changeListenerHelper.fireEvent();
89
  }
90

    
91
  @Override
92
  public Expression get() {
93
    return this.advancedExpression.get();
94
  }
95

    
96
  @Override
97
  public boolean set(Expression filter) {
98
    this.advancedExpression.set(filter);
99
    this.changeListenerHelper.fireEvent();
100
    return true;
101
  }
102

    
103
  @Override
104
  public void setEnabled(boolean enabled) {
105
        this.advancedExpression.setEnabled(enabled);
106
  }
107
  
108
  @Override
109
  public void addChangeListener(ChangeListener listener) {
110
    this.changeListenerHelper.addChangeListener(listener);
111
  }
112

    
113
  @Override
114
  public ChangeListener[] getChangeListeners() {
115
    return this.changeListenerHelper.getChangeListeners();
116
  }
117

    
118
  @Override
119
  public void removeChangeListener(ChangeListener listener) {
120
    this.changeListenerHelper.removeChangeListener(listener);
121
  }
122

    
123
  @Override
124
  public void removeAllChangeListener() {
125
    this.changeListenerHelper.removeAllChangeListener();
126
  }
127

    
128
  @Override
129
  public boolean hasChangeListeners() {
130
    return this.changeListenerHelper.hasChangeListeners();
131
  }
132
  
133
}