Statistics
| Revision:

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

History | View | Annotate | Download (5.57 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.OnSelection;
11
import org.gvsig.labeling.gui.styling.editortools.LabelStyleNewTextFieldTool;
12
import org.gvsig.labeling.gui.styling.editortools.LabelStyleOpenBackgroundFile;
13
import org.gvsig.labeling.gui.styling.editortools.LabelStylePanTool;
14
import org.gvsig.labeling.gui.styling.editortools.LabelStyleRemoveLastTextField;
15
import org.gvsig.labeling.gui.styling.editortools.PointLabelForbiddenPrecedenceTool;
16
import org.gvsig.labeling.gui.styling.editortools.PointLabelHighPrecedenceTool;
17
import org.gvsig.labeling.gui.styling.editortools.PointLabelLowPrecedenceTool;
18
import org.gvsig.labeling.gui.styling.editortools.PointLabelNormalPrecedenceTool;
19
import org.gvsig.labeling.label.FeatureDependentLabeled;
20
import org.gvsig.labeling.label.GeneralLabelingStrategy;
21
import org.gvsig.labeling.label.OnSelectionLabeled;
22
import org.gvsig.labeling.placements.AbstractPlacementConstraints;
23
import org.gvsig.labeling.placements.LinePlacementAtBest;
24
import org.gvsig.labeling.placements.LinePlacementAtExtremities;
25
import org.gvsig.labeling.placements.LinePlacementConstraints;
26
import org.gvsig.labeling.placements.LinePlacementInTheMiddle;
27
import org.gvsig.labeling.placements.MarkerPlacementAroundPoint;
28
import org.gvsig.labeling.placements.MarkerPlacementOnPoint;
29
import org.gvsig.labeling.placements.MultiShapePlacementConstraints;
30
import org.gvsig.labeling.placements.PlacementManager;
31
import org.gvsig.labeling.placements.PointLabelPositioner;
32
import org.gvsig.labeling.placements.PointPlacementConstraints;
33
import org.gvsig.labeling.placements.PolygonPlacementConstraints;
34
import org.gvsig.labeling.placements.PolygonPlacementInside;
35
import org.gvsig.labeling.placements.PolygonPlacementOnCentroid;
36
import org.gvsig.labeling.placements.PolygonPlacementParallel;
37
import org.gvsig.labeling.symbol.CharacterMarkerSymbol;
38
import org.gvsig.labeling.symbol.SmartTextSymbol;
39
import org.gvsig.symbology.fmap.mapcontext.rendering.legend.styling.LabelingFactory;
40

    
41

    
42
public class ExtendedLabelingExtension extends Extension {
43

    
44
        public void execute(String actionCommand) {
45

    
46
        }
47

    
48
        public void initialize() {
49
                
50
                registerPersistence();
51
                registerIcons();
52

    
53
                // Editor tools
54
                StyleEditor.addEditorTool(LabelStylePanTool.class);
55
                StyleEditor.addEditorTool(LabelStyleNewTextFieldTool.class);
56
                StyleEditor.addEditorTool(LabelStyleRemoveLastTextField.class);
57
                StyleEditor.addEditorTool(LabelStyleOpenBackgroundFile.class);
58
                StyleEditor.addEditorTool(PointLabelHighPrecedenceTool.class);
59
                StyleEditor.addEditorTool(PointLabelNormalPrecedenceTool.class);
60
                StyleEditor.addEditorTool(PointLabelLowPrecedenceTool.class);
61
                StyleEditor.addEditorTool(PointLabelForbiddenPrecedenceTool.class);
62

    
63
                LabelingManager.addLabelingStrategy(GeneralLabeling.class);
64

    
65
                // labeling methods in the labeling page
66
                //                                                (inverse order to the wanted to be shown)
67
                GeneralLabeling.addLabelingMethod(OnSelection.class);
68
                GeneralLabeling.addLabelingMethod(FeatureDependent.class);
69
                GeneralLabeling.addLabelingMethod(DefaultLabeling.class);
70

    
71
                PlacementManager.addLabelPlacement(LinePlacementAtExtremities.class);
72
                PlacementManager.addLabelPlacement(LinePlacementAtBest.class);
73
                PlacementManager.addLabelPlacement(LinePlacementInTheMiddle.class);
74
                PlacementManager.addLabelPlacement(MarkerPlacementOnPoint.class);
75
                // PlacementManager.addLabelPlacement(MarkerCenteredAtPoint.class);
76
                PlacementManager.addLabelPlacement(MarkerPlacementAroundPoint.class);
77
                PlacementManager.addLabelPlacement(PolygonPlacementOnCentroid.class);
78
                PlacementManager.addLabelPlacement(PolygonPlacementInside.class);
79
                PlacementManager.addLabelPlacement(PolygonPlacementParallel.class);
80

    
81
                // LabelingFactory.setDefaultLabelingStrategy(GeneralLabelingStrategy.class);
82
        }
83

    
84
        private void registerIcons() {
85
                
86
                IconThemeHelper.registerIcon("action", "edit-add-text", this);
87
                IconThemeHelper.registerIcon("action", "edit-remove-text", this);
88
                IconThemeHelper.registerIcon("action", "set-forbidden-precedence", this);
89
                IconThemeHelper.registerIcon("action", "set-high-precedence", this);
90
                IconThemeHelper.registerIcon("action", "set-low-precedence", this);
91
                IconThemeHelper.registerIcon("action", "set-normal-precedence", this);
92
                
93
                IconThemeHelper.registerIcon("action", "edit-shift-component", this);
94
                IconThemeHelper.registerIcon("action", "edit-add-background-image", this);
95
        }
96

    
97
        private void registerPersistence() {
98
                
99
                AbstractPlacementConstraints.registerPersistent();
100
                PointPlacementConstraints.registerPersistent();
101
                LinePlacementConstraints.registerPersistent();
102
                PolygonPlacementConstraints.registerPersistent();
103
                MultiShapePlacementConstraints.registerPersistent();
104
                
105
                CharacterMarkerSymbol.registerPersistent();
106
                SmartTextSymbol.registerPersistent();
107

    
108
                PointLabelPositioner.registerPersistent();
109
                
110
                CharacterMarkerSymbol.registerPersistent();
111
                SmartTextSymbol.registerPersistent();
112
                
113
                GeneralLabelingStrategy.registerPersistent();
114
                
115
                OnSelectionLabeled.registerPersistent();
116
                FeatureDependentLabeled.registerPersistent();
117
        }
118

    
119
        public boolean isEnabled() {
120
                return false;
121
        }
122

    
123
        public boolean isVisible() {
124
                return false;
125
        }
126

    
127

    
128

    
129
}
130

    
131