Statistics
| Revision:

root / org.gvsig.legend.vectorfilterexpression.app.mainplugin / trunk / org.gvsig.legend.vectorfilterexpression.app.mainplugin / src / main / java / org / gvsig / symbology / gui / layerproperties / ExpressionSymbolPanel.java @ 3373

History | View | Annotate | Download (2.19 KB)

1
package org.gvsig.symbology.gui.layerproperties;
2

    
3
import java.awt.BorderLayout;
4
import java.awt.Dimension;
5
import org.gvsig.expressionevaluator.Expression;
6
import org.gvsig.expressionevaluator.swing.JExpressionBuilder;
7
import org.gvsig.fmap.dal.feature.FeatureStore;
8
import org.gvsig.fmap.dal.swing.DALSwingLocator;
9
import org.gvsig.fmap.dal.swing.DataSwingManager;
10
import org.gvsig.fmap.mapcontext.rendering.symbols.ISymbol;
11
import org.gvsig.tools.swing.api.ToolsSwingLocator;
12
import org.gvsig.tools.swing.api.ToolsSwingManager;
13
import org.gvsig.tools.swing.api.pickercontroller.PickerController;
14

    
15

    
16
public class ExpressionSymbolPanel extends ExpressionSymbolPanelView
17
  {
18

    
19
  private final FeatureStore store;
20
  private PickerController<ISymbol> pickerSymbolController;
21
  private JExpressionBuilder expressionPanel;
22
  private final ISymbol symbol;
23
  private final int symbolType;
24
  
25
  public ExpressionSymbolPanel(FeatureStore store,  int symbolType, ISymbol symbol) {
26
    this.store = store;
27
    this.symbolType = symbolType;
28
    this.symbol = symbol;
29
    this.initComponents();
30
  }
31

    
32
  private void initComponents() {
33
    ToolsSwingManager toolsSwingManager = ToolsSwingLocator.getToolsSwingManager();
34
    DataSwingManager dataSwingManager = DALSwingLocator.getDataSwingManager();
35
    
36
    toolsSwingManager.translate(this.lblExpression);
37
    toolsSwingManager.translate(this.lblSymbolAndDescriptor);
38
    
39
    this.expressionPanel = dataSwingManager.createQueryFilterExpresion(this.store);
40
    this.pnlExpression.setLayout(new BorderLayout());
41
    this.pnlExpression.add(expressionPanel.asJComponent(), BorderLayout.CENTER);
42
    
43
    this.pickerSymbolController = new SymbolPickerController(
44
            this.btnSymbolPreview, 
45
            this.txtSymbolDescription,
46
            this.symbolType,
47
            this.symbol
48
    );
49
    this.setPreferredSize(new Dimension(800,500));
50
  }
51
  
52
  public String getExpression() {
53
    Expression exp = this.expressionPanel.getExpression();
54
    if( exp == null ) {
55
      return null;
56
    }
57
    return exp.getPhrase();
58
  }
59

    
60
  public ISymbol getSymbol() {
61
      ISymbol theSymbol = this.pickerSymbolController.get();
62
      if( theSymbol == null ) {
63
        return null;
64
      }
65
      return theSymbol;
66
  }
67
  
68
}