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