svn-gvsig-desktop / trunk / org.gvsig.desktop / org.gvsig.desktop.plugin / org.gvsig.labeling.app / org.gvsig.labeling.app.mainplugin / src / main / java / org / gvsig / labeling / ExtendedLabelingExtension.java @ 44534
History | View | Annotate | Download (6.17 KB)
1 |
package org.gvsig.labeling; |
---|---|
2 |
|
3 |
import org.gvsig.andami.plugins.Extension; |
4 |
import org.gvsig.app.gui.styling.StyleEditor; |
5 |
import org.gvsig.app.project.documents.view.legend.gui.LabelingManager; |
6 |
import org.gvsig.fmap.IconThemeHelper; |
7 |
import org.gvsig.labeling.gui.layerproperties.DefaultLabeling; |
8 |
import org.gvsig.labeling.gui.layerproperties.FeatureDependent; |
9 |
import org.gvsig.labeling.gui.layerproperties.GeneralLabeling; |
10 |
import org.gvsig.labeling.gui.layerproperties.LabelClassPropertiesFactory; |
11 |
import org.gvsig.labeling.gui.layerproperties.OnSelection; |
12 |
import org.gvsig.labeling.gui.styling.editortools.LabelStyleNewTextFieldTool; |
13 |
import org.gvsig.labeling.gui.styling.editortools.LabelStyleOpenBackgroundFile; |
14 |
import org.gvsig.labeling.gui.styling.editortools.LabelStylePanTool; |
15 |
import org.gvsig.labeling.gui.styling.editortools.LabelStyleRemoveLastTextField; |
16 |
import org.gvsig.labeling.gui.styling.editortools.PointLabelForbiddenPrecedenceTool; |
17 |
import org.gvsig.labeling.gui.styling.editortools.PointLabelHighPrecedenceTool; |
18 |
import org.gvsig.labeling.gui.styling.editortools.PointLabelLowPrecedenceTool; |
19 |
import org.gvsig.labeling.gui.styling.editortools.PointLabelNormalPrecedenceTool; |
20 |
import org.gvsig.labeling.label.FeatureDependentLabeled; |
21 |
import org.gvsig.labeling.label.GeneralLabelingFactory; |
22 |
import org.gvsig.labeling.label.GeneralLabelingStrategy; |
23 |
import org.gvsig.labeling.label.OnSelectionLabeled; |
24 |
import org.gvsig.labeling.label.SmartTextSymbolLabelClass; |
25 |
import org.gvsig.labeling.placements.AbstractPlacementConstraints; |
26 |
import org.gvsig.labeling.placements.LinePlacementAtBest; |
27 |
import org.gvsig.labeling.placements.LinePlacementAtExtremities; |
28 |
import org.gvsig.labeling.placements.LinePlacementConstraints; |
29 |
import org.gvsig.labeling.placements.LinePlacementInTheMiddle; |
30 |
import org.gvsig.labeling.placements.MarkerPlacementAroundPoint; |
31 |
import org.gvsig.labeling.placements.MarkerPlacementOnPoint; |
32 |
import org.gvsig.labeling.placements.MultiShapePlacementConstraints; |
33 |
import org.gvsig.labeling.placements.PlacementManager; |
34 |
import org.gvsig.labeling.placements.PointLabelPositioner; |
35 |
import org.gvsig.labeling.placements.PointPlacementConstraints; |
36 |
import org.gvsig.labeling.placements.PolygonPlacementConstraints; |
37 |
import org.gvsig.labeling.placements.PolygonPlacementInside; |
38 |
import org.gvsig.labeling.placements.PolygonPlacementOnCentroid; |
39 |
import org.gvsig.labeling.placements.PolygonPlacementParallel; |
40 |
import org.gvsig.labeling.symbol.CharacterMarkerSymbol; |
41 |
import org.gvsig.labeling.symbol.SmartTextSymbol; |
42 |
import org.gvsig.symbology.SymbologyLocator; |
43 |
import org.gvsig.symbology.fmap.mapcontext.rendering.legend.styling.LabelingFactory; |
44 |
import org.gvsig.symbology.swing.SymbologySwingLocator; |
45 |
import org.gvsig.symbology.swing.SymbologySwingManager; |
46 |
|
47 |
|
48 |
public class ExtendedLabelingExtension extends Extension { |
49 |
|
50 |
public void execute(String actionCommand) { |
51 |
|
52 |
} |
53 |
|
54 |
public void initialize() { |
55 |
|
56 |
registerPersistence(); |
57 |
registerIcons(); |
58 |
|
59 |
// Editor tools
|
60 |
StyleEditor.addEditorTool(LabelStylePanTool.class); |
61 |
StyleEditor.addEditorTool(LabelStyleNewTextFieldTool.class); |
62 |
StyleEditor.addEditorTool(LabelStyleRemoveLastTextField.class); |
63 |
StyleEditor.addEditorTool(LabelStyleOpenBackgroundFile.class); |
64 |
StyleEditor.addEditorTool(PointLabelHighPrecedenceTool.class); |
65 |
StyleEditor.addEditorTool(PointLabelNormalPrecedenceTool.class); |
66 |
StyleEditor.addEditorTool(PointLabelLowPrecedenceTool.class); |
67 |
StyleEditor.addEditorTool(PointLabelForbiddenPrecedenceTool.class); |
68 |
|
69 |
LabelingManager.addLabelingStrategy(GeneralLabeling.class); |
70 |
|
71 |
// labeling methods in the labeling page
|
72 |
// (inverse order to the wanted to be shown)
|
73 |
GeneralLabeling.addLabelingMethod(OnSelection.class); |
74 |
GeneralLabeling.addLabelingMethod(FeatureDependent.class); |
75 |
GeneralLabeling.addLabelingMethod(DefaultLabeling.class); |
76 |
|
77 |
PlacementManager.addLabelPlacement(LinePlacementAtExtremities.class); |
78 |
PlacementManager.addLabelPlacement(LinePlacementAtBest.class); |
79 |
PlacementManager.addLabelPlacement(LinePlacementInTheMiddle.class); |
80 |
PlacementManager.addLabelPlacement(MarkerPlacementOnPoint.class); |
81 |
// PlacementManager.addLabelPlacement(MarkerCenteredAtPoint.class);
|
82 |
PlacementManager.addLabelPlacement(MarkerPlacementAroundPoint.class); |
83 |
PlacementManager.addLabelPlacement(PolygonPlacementOnCentroid.class); |
84 |
PlacementManager.addLabelPlacement(PolygonPlacementInside.class); |
85 |
PlacementManager.addLabelPlacement(PolygonPlacementParallel.class); |
86 |
|
87 |
// LabelingFactory.setDefaultLabelingStrategy(GeneralLabelingStrategy.class);
|
88 |
SymbologySwingManager manager = SymbologySwingLocator.getSwingManager(); |
89 |
manager.registerLabelClassEditor(new LabelClassPropertiesFactory());
|
90 |
|
91 |
SymbologyLocator.getSymbologyManager().registerLabelingStrategy(new GeneralLabelingFactory());
|
92 |
} |
93 |
|
94 |
private void registerIcons() { |
95 |
|
96 |
IconThemeHelper.registerIcon("action", "edit-add-text", this); |
97 |
IconThemeHelper.registerIcon("action", "edit-remove-text", this); |
98 |
IconThemeHelper.registerIcon("action", "set-forbidden-precedence", this); |
99 |
IconThemeHelper.registerIcon("action", "set-high-precedence", this); |
100 |
IconThemeHelper.registerIcon("action", "set-low-precedence", this); |
101 |
IconThemeHelper.registerIcon("action", "set-normal-precedence", this); |
102 |
|
103 |
IconThemeHelper.registerIcon("action", "edit-shift-component", this); |
104 |
IconThemeHelper.registerIcon("action", "edit-add-background-image", this); |
105 |
} |
106 |
|
107 |
private void registerPersistence() { |
108 |
|
109 |
AbstractPlacementConstraints.registerPersistent(); |
110 |
PointPlacementConstraints.registerPersistent(); |
111 |
LinePlacementConstraints.registerPersistent(); |
112 |
PolygonPlacementConstraints.registerPersistent(); |
113 |
MultiShapePlacementConstraints.registerPersistent(); |
114 |
|
115 |
CharacterMarkerSymbol.registerPersistent(); |
116 |
SmartTextSymbol.registerPersistent(); |
117 |
SmartTextSymbolLabelClass.registerPersistent(); |
118 |
|
119 |
PointLabelPositioner.registerPersistent(); |
120 |
|
121 |
GeneralLabelingStrategy.registerPersistent(); |
122 |
|
123 |
OnSelectionLabeled.registerPersistent(); |
124 |
FeatureDependentLabeled.registerPersistent(); |
125 |
} |
126 |
|
127 |
public boolean isEnabled() { |
128 |
return false; |
129 |
} |
130 |
|
131 |
public boolean isVisible() { |
132 |
return false; |
133 |
} |
134 |
|
135 |
|
136 |
|
137 |
} |
138 |
|
139 |
|