Revision 45526 trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.symbology/org.gvsig.symbology.swing/org.gvsig.symbology.swing.api/src/main/java/org/gvsig/app/gui/styling/PictureMarker.java

View differences:

PictureMarker.java
35 35
import javax.swing.JPanel;
36 36
import javax.swing.SpinnerNumberModel;
37 37
import javax.swing.event.ChangeEvent;
38
import javax.swing.event.ChangeListener;
39
import org.gvsig.expressionevaluator.Expression;
38 40
import org.gvsig.expressionevaluator.swing.ExpressionEvaluatorSwingLocator;
39 41
import org.gvsig.expressionevaluator.swing.ExpressionEvaluatorSwingManager;
40 42
import org.gvsig.expressionevaluator.swing.ExpressionPickerController;
......
140 142
        view.txtX.setModel(new SpinnerNumberModel(0, Integer.MIN_VALUE, Integer.MAX_VALUE, 1));
141 143
        view.txtY.setModel(new SpinnerNumberModel(0, Integer.MIN_VALUE, Integer.MAX_VALUE, 1));
142 144

  
143
//        view.txtSize.addActionListener(() -> {fireSymbolChangedEvent();});
144
//        view.txtX.addActionListener(() -> {fireSymbolChangedEvent();});
145
//        view.txtY.addActionListener(() -> {fireSymbolChangedEvent();});
146 145

  
147 146
        this.colorLinePicker = toolsSwingManager.createColorPickerController(view.txtColorLine, view.btnColorLine);
148 147

  
148
        
149 149
        this.xoffsetExpPicker = expressionSwingManager.createExpressionPickerController(
150 150
                view.txtXOffset, 
151 151
                view.btnXOffsetExpression, 
......
170 170
                view.btnColorLineExpressionBookmarks, 
171 171
                view.btnColorLineExpressionHistory
172 172
        );
173
        
174
        view.txtSize.addChangeListener((ChangeEvent e) -> {fireSymbolChangedEvent();});
175
        view.txtX.addChangeListener((ChangeEvent e) -> {fireSymbolChangedEvent();});
176
        view.txtY.addChangeListener((ChangeEvent e) -> {fireSymbolChangedEvent();});
177
        this.colorLinePicker.addChangeListener((ChangeEvent e) -> {fireSymbolChangedEvent();});
178
        this.xoffsetExpPicker.addChangeListener((ChangeEvent e) -> {fireSymbolChangedEvent();});
179
        this.yoffsetExpPicker.addChangeListener((ChangeEvent e) -> {fireSymbolChangedEvent();});
180
        this.rotationExpPicker.addChangeListener((ChangeEvent e) -> {fireSymbolChangedEvent();});
181
        this.colorExpPicker.addChangeListener((ChangeEvent e) -> {fireSymbolChangedEvent();});
182
        view.chkDrawLineToOffset.addChangeListener((ChangeEvent e) -> {fireSymbolChangedEvent();});
183
        
173 184
        tabs.add(view);
174 185
    }
175 186

  
......
186 197
                );
187 198
                layer.setSize(getSize());
188 199
                layer.setOffset(new Point2D.Double(getX(),getY()));
200
                layer.setLineToOffsetColor(this.colorLinePicker.get());
201
                if(this.colorExpPicker.get() != null){
202
                    layer.setLineToOffsetColorExpression(getPhrase(this.colorExpPicker.get()));
203
                }
204
                layer.setOffsetXExpression(getPhrase(this.xoffsetExpPicker.get()));
205
                layer.setOffsetYExpression(getPhrase(this.yoffsetExpPicker.get()));
206
                layer.setRotationExpression(getPhrase(this.rotationExpPicker.get()));
207
                layer.setDrawLineToOffset(view.chkDrawLineToOffset.isSelected());
208
                
209
                
189 210
            }
190 211

  
191 212
            return layer;
......
201 222
        }
202 223

  
203 224
    }
225
    
226
    private String getPhrase(Expression expression){
227
        if(expression == null){
228
            return null;
229
        }
230
        return expression.getPhrase();
231
    }
204 232

  
205 233
    @Override
206 234
    public String getName() {
......
216 244
    public void refreshControls(ISymbol layer) {
217 245
        try {
218 246
            if (layer == null) {
219
                setValues(1d, 0d, 0d, null, null);
247
                setValues(1d, 0d, 0d, null, null, "", "", null, "", "", false);
220 248
            } else {
221 249
                IPictureMarkerSymbol sym = (IPictureMarkerSymbol) layer;
222 250
                setValues(
......
224 252
                        sym.getOffset().getX(), 
225 253
                        sym.getOffset().getY(), 
226 254
                        sym.getSource(), 
227
                        sym.getSelectedSource()
255
                        sym.getSelectedSource(),
256
                        sym.getOffsetXExpression(),
257
                        sym.getOffsetYExpression(),
258
                        sym.getLineToOffsetColor(),
259
                        sym.getLineToOffsetColorExpression(),
260
                        sym.getRotationExpression(),
261
                        sym.isDrawLineToOffset()
228 262
                );
229 263
            }
230 264
        } catch (Exception ex) {
......
232 266
        }
233 267
    }
234 268

  
235
    protected void setValues(double size, double xOffset, double yOffset, URL picture, URL selectedPicture) {
269
    protected void setValues(
270
            double size, 
271
            double xOffset, 
272
            double yOffset, 
273
            URL picture, 
274
            URL selectedPicture, 
275
            String offsetXExpression, 
276
            String offsetYExpression, 
277
            Color lineToOffsetColor, 
278
            String lineToOffsetColorExpression, 
279
            String rotationExpression,
280
            boolean isDrawLineToOffset) {
281
        
236 282
        setSize(size);
237 283
        setX(xOffset);
238 284
        setY(yOffset);
239 285
        
240 286
        setPicture(picture);
241 287
        setSelectedPicture(selectedPicture);
288
        
289
        xoffsetExpPicker.coerceAndSet(offsetXExpression);
290
        yoffsetExpPicker.coerceAndSet(offsetYExpression);
291
        rotationExpPicker.coerceAndSet(rotationExpression);
292
        colorLinePicker.coerceAndSet(lineToOffsetColor);
293
        colorExpPicker.coerceAndSet(lineToOffsetColorExpression);
294
        view.chkDrawLineToOffset.setSelected(isDrawLineToOffset);
295
        
242 296
    }
243 297

  
244 298
    @Override

Also available in: Unified diff