Revision 44257 trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.symbology/org.gvsig.symbology.lib/org.gvsig.symbology.lib.impl/src/main/java/org/gvsig/symbology/fmap/mapcontext/rendering/dynamiclegend/DefaultDynamicLabelingStrategy.java

View differences:

DefaultDynamicLabelingStrategy.java
5 5
 */
6 6
package org.gvsig.symbology.fmap.mapcontext.rendering.dynamiclegend;
7 7

  
8

  
9 8
import java.awt.Color;
10 9
import java.awt.Font;
11 10
import java.awt.Graphics2D;
......
61 60
public class DefaultDynamicLabelingStrategy extends DynamicLabelingStrategy {
62 61

  
63 62
    private Feature feature;
64
    public  String LROTATION = "LROTATION";
65
    public  String LTEXT = "LTEXT";
66
    public  String LHEIGHT = "LHEIGHT";
67
    public  String LCOLOR = "LCOLOR";
68
    public  String LFONT = "LFONT";
69
    public  String LFONTSTYLE = "LFONTS";
63
    public String LROTATION = "LROTATION";
64
    public String LTEXT = "LTEXT";
65
    public String LHEIGHT = "LHEIGHT";
66
    public String LCOLOR = "LCOLOR";
67
    public String LFONT = "LFONT";
68
    public String LFONTSTYLE = "LFONTS";
69

  
70
    public static Expression expRotation = null;
71
    public static Expression expText = null;
72
    public static Expression expHeight = null;
73
    public static Expression expColor = null;
74
    public static Expression expFont = null;
75
    public static Expression expFontStyle = null;
76
    public static Expression expUnit;
77
    public static Expression expReferenceSystem;
78

  
70 79
    private MutableSymbolTable symbolTable = null;
80
    private FeatureSymbolTable featureSymbolTable = null;
71 81
    private FLyrVect layer;
72 82
    private List<Geometry> drawnGeometryLabels;
73 83
    private boolean printMode = false;
......
79 89
    public SymbolTable getFeatureSymbolTable() {
80 90
        if (symbolTable == null) {
81 91
            MutableSymbolTable s = ExpressionEvaluatorLocator.getManager().createSymbolTable();
82
            FeatureSymbolTable fst = DALLocator.getDataManager().createFeatureSymbolTable();
83
            s.addSymbolTable(fst);
84
            fst.setFeature(feature);
92
            featureSymbolTable = DALLocator.getDataManager().createFeatureSymbolTable();
93
            s.addSymbolTable(featureSymbolTable);
94
            if (feature!=null) {
95
                featureSymbolTable.setFeature(feature);
96
            }
85 97
            symbolTable = s;
86 98
        }
87 99
        return symbolTable;
88 100

  
89 101
    }
90 102

  
91
    private Expression getExpressionFromString(String value) {
92
        Expression expression = ExpressionEvaluatorLocator.getManager().createExpression();
93
        expression.setPhrase(value);
94
        return expression;
95
    }
96

  
103
//    private Expression getExpressionFromString(String value) {
104
//        Expression expression = ExpressionEvaluatorLocator.getManager().createExpression();
105
//        expression.setPhrase(value);
106
//        return expression;
107
//    }
97 108
    private Object getValueFromExpression(Expression exp) {
98 109
        if (exp == null) {
99 110
            return null;
......
111 122

  
112 123
    @Override
113 124
    public Expression getRotation() {
114
        String value = feature.get(LROTATION).toString();
115
        Expression exp = getExpressionFromString(value);
116
        return exp;
125
        return expRotation;
117 126
    }
118 127

  
119 128
    @Override
......
124 133

  
125 134
    @Override
126 135
    public Expression getText() {
127
        if (feature == null) {
128
            return null;
129
        }
130
        String value = feature.get(LTEXT).toString();
131
        Expression exp = getExpressionFromString(value);
132
        return exp;
136
        return expText;
133 137
    }
134 138

  
135 139
    @Override
......
140 144

  
141 145
    @Override
142 146
    public Expression getHeight() {
143
        String value = feature.get(LHEIGHT).toString();
144
        Expression exp = getExpressionFromString(value);
145
        return exp;
147
        return expHeight;
146 148
    }
147 149

  
148 150
    @Override
......
153 155

  
154 156
    @Override
155 157
    public Expression getColor() {
156
        String value = feature.get(LCOLOR).toString();
157
        Expression exp = getExpressionFromString(value);
158
        return exp;
158
        return expColor;
159 159
    }
160 160

  
161 161
    @Override
......
167 167

  
168 168
    @Override
169 169
    public Expression getFixedSize() {
170
        String value = feature.get(LHEIGHT).toString();
171
        Expression exp = getExpressionFromString(value);
172
        return exp;
170
        return expHeight;
173 171
    }
174 172

  
175 173
    @Override
......
185 183
    }
186 184

  
187 185
    @Override
188
    public void setTextField(String textFieldName) {
189
        this.LTEXT=textFieldName;
186
    public void setText(Expression expression) {
187
        expText = expression;
190 188
    }
191 189

  
192 190
    @Override
193
    public void setRotationField(String rotationFieldName) {
194
         this.LROTATION=rotationFieldName;
191
    public void setRotation(Expression expression) {
192
        expRotation = expression;
195 193
    }
196 194

  
197 195
    @Override
198
    public void setHeightField(String heightFieldName) {
199
        this.LHEIGHT=heightFieldName;
196
    public void setHeight(Expression expression) {
197
        expHeight = expression;
200 198
    }
201 199

  
202 200
    @Override
203
    public void setColorField(String colorFieldName) {
204
         this.LCOLOR=colorFieldName;
201
    public void setColor(Expression expression) {
202
        expColor = expression;
205 203
    }
206 204

  
207 205
    @Override
......
231 229

  
232 230
    @Override
233 231
    public Expression getFixedColor() {
234
        String value = feature.get(LCOLOR).toString();
235
        Expression exp = getExpressionFromString(value);
236
        return exp;
232
        return expColor;
237 233
    }
238 234

  
239 235
    @Override
......
250 246

  
251 247
    @Override
252 248
    public Expression getColorFont() {
253
        String value = feature.get(LCOLOR).toString();
254
        Expression exp = getExpressionFromString(value);
255
        return exp;
249
        return expColor;
256 250
    }
257 251

  
258 252
    @Override
......
269 263

  
270 264
    @Override
271 265
    public Expression getFont() {
272
        String value = feature.get(LFONT).toString();
273
        Expression exp = getExpressionFromString(value);
274
        return exp;
266
        return expFont;
275 267
    }
276 268

  
277 269
    @Override
......
288 280

  
289 281
    @Override
290 282
    public Expression getFontStyle() {
291
        String value = feature.get(LFONTSTYLE).toString();
292
        Expression exp = getExpressionFromString(value);
293
        return exp;
283
        return expFontStyle;
294 284
    }
295 285

  
296 286
    @Override
......
300 290
    }
301 291

  
302 292
    @Override
303
    public void setFontStyle(int selFont) {
304
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
293
    public void setFontStyle(Expression expression) {
294
        expFontStyle = expression;
305 295
    }
306 296

  
307 297
    public void setFeature(Feature f) {
308 298
        feature = f;
299
        if (featureSymbolTable==null) {
300
            getFeatureSymbolTable();
301
        }
302
        featureSymbolTable.setFeature(f);
309 303
    }
310 304

  
311 305
    @Override
......
340 334

  
341 335
    @Override
342 336
    public Expression getUnitExp() {
343
        String value = "-1";
344
        Expression exp = getExpressionFromString(value);
345
        return exp;
337
//        String value = "-1";
338
//        Expression exp = getExpressionFromString(value);
339
//        return exp;
340
        return expUnit;
346 341
    }
347 342

  
348 343
    public Expression getReferenceSystemExp() {
349
        String value = "0";
350
        Expression exp = getExpressionFromString(value);
351
        return exp;
344
//        String value = "0";
345
//        Expression exp = getExpressionFromString(value);
346
        return expReferenceSystem;
352 347
    }
353 348

  
354 349
    private org.gvsig.fmap.geom.primitive.Point createLabelPoint(org.gvsig.fmap.geom.Geometry geom)
......
458 453
                        SimpleTextSymbol sym = new SimpleTextSymbol();
459 454
                        sym.setFont(getComputedFont());
460 455
                        sym.setUnit(getComputedUnit());
461
                        sym.setReferenceSystem(getComputedReferenceSystemExp());
456
                        sym.setReferenceSystem(getComputedReferenceSystem());
462 457
                        if (this.usesFixedSize()) { //(useFixedSize) {
463 458
                            // uses fixed size
464 459
                            size = getComputedFixedSize();// * fontScaleFactor;
......
590 585
        throw new UnsupportedOperationException("Not supported yet.");
591 586
    }
592 587

  
588
    public void setUnit(Expression expression) {
589
        expUnit = expression;
590
    }
591

  
593 592
    @Override
594 593
    public int getUnit() {
595 594
        return getComputedUnitExp();
......
600 599
        return value;
601 600
    }
602 601

  
603
    public int getComputedReferenceSystemExp() {
602
    
603
    public int getComputedReferenceSystem() {
604 604
        int value = (int) getValueFromExpression(getReferenceSystemExp());
605 605
        return value;
606 606
    }
607

  
607
    
608 608
    @Override
609 609
    public int getReferenceSystem() {
610
        return 0;
610
        return getComputedReferenceSystem();
611 611
    }
612 612

  
613 613
    @Override
614 614
    public void setReferenceSystem(int referenceSystem) {
615
        this.referenceSystem = referenceSystem;
615
//        this.referenceSystem = referenceSystem;
616 616
    }
617 617

  
618 618
    @Override
......
631 631
    }
632 632

  
633 633
    @Override
634
    public void setFontField(String fontField) {
635
        this.LFONT = fontField;
634
    public void setFont(Expression expression) {
635
        expFont = expression;
636 636
    }
637 637

  
638 638
    @Override
639
    public void setFontStyleField(String field) {
640
        this.LFONTSTYLE=field;
639
    public void setFontStyle(int style) {
640

  
641 641
    }
642 642

  
643
    @Override
644
    public void setReferenceSystem(Expression expression) {
645
        expReferenceSystem = expression;
646
    }
647

  
643 648
}

Also available in: Unified diff