Statistics
| Revision:

svn-gvsig-desktop / trunk / org.gvsig.desktop / org.gvsig.desktop.library / org.gvsig.symbology / org.gvsig.symbology.lib / org.gvsig.symbology.lib.api / src / main / java / org / gvsig / symbology / SymbologyManager.java @ 44534

History | View | Annotate | Download (5.42 KB)

1
/**
2
 * gvSIG. Desktop Geographic Information System.
3
 *
4
 * Copyright (C) 2007-2013 gvSIG Association.
5
 *
6
 * This program is free software; you can redistribute it and/or modify it under
7
 * the terms of the GNU General Public License as published by the Free Software
8
 * Foundation; either version 3 of the License, or (at your option) any later
9
 * version.
10
 *
11
 * This program is distributed in the hope that it will be useful, but WITHOUT
12
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
13
 * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
14
 * details.
15
 *
16
 * You should have received a copy of the GNU General Public License along with
17
 * this program; if not, write to the Free Software Foundation, Inc., 51
18
 * Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
19
 *
20
 * For any additional information, do not hesitate to contact us at info AT
21
 * gvsig.com, or visit our website www.gvsig.com.
22
 */
23

    
24
package org.gvsig.symbology;
25

    
26
import java.awt.Shape;
27
import java.io.IOException;
28
import java.net.URL;
29
import java.util.Collection;
30

    
31
import org.gvsig.fmap.mapcontext.rendering.legend.IInterval;
32
import org.gvsig.fmap.mapcontext.rendering.legend.driver.ILegendReader;
33
import org.gvsig.fmap.mapcontext.rendering.legend.styling.ILabelClass;
34
import org.gvsig.fmap.mapcontext.rendering.legend.styling.ILabelClassFactory;
35
import org.gvsig.fmap.mapcontext.rendering.legend.styling.ILabelingMethod;
36
import org.gvsig.fmap.mapcontext.rendering.legend.styling.ILabelingStrategy;
37
import org.gvsig.fmap.mapcontext.rendering.legend.styling.IZoomConstraints;
38
import org.gvsig.fmap.mapcontext.rendering.symbols.styles.IBackgroundFileStyle;
39
import org.gvsig.fmap.mapcontext.rendering.symbols.styles.ILabelStyle;
40
import org.gvsig.symbology.fmap.mapcontext.rendering.legend.styling.IAttrInTableLabelingStrategy;
41
import org.gvsig.symbology.fmap.mapcontext.rendering.symbol.IMultiShapeSymbol;
42
import org.gvsig.symbology.fmap.mapcontext.rendering.symbol.fill.IMarkerFillSymbol;
43
import org.gvsig.symbology.fmap.mapcontext.rendering.symbol.fill.IPictureFillSymbol;
44
import org.gvsig.symbology.fmap.mapcontext.rendering.symbol.fill.ISimpleFillSymbol;
45
import org.gvsig.symbology.fmap.mapcontext.rendering.symbol.line.IPictureLineSymbol;
46
import org.gvsig.symbology.fmap.mapcontext.rendering.symbol.line.ISimpleLineSymbol;
47
import org.gvsig.symbology.fmap.mapcontext.rendering.symbol.marker.IPictureMarkerSymbol;
48
import org.gvsig.symbology.fmap.mapcontext.rendering.symbol.marker.ISimpleMarkerSymbol;
49
import org.gvsig.symbology.fmap.mapcontext.rendering.symbol.style.IArrowDecoratorStyle;
50
import org.gvsig.symbology.fmap.mapcontext.rendering.symbol.style.IMarkerFillPropertiesStyle;
51
import org.gvsig.symbology.fmap.mapcontext.rendering.symbol.style.IMask;
52
import org.gvsig.symbology.fmap.mapcontext.rendering.symbol.style.ISimpleLineStyle;
53
import org.gvsig.symbology.fmap.mapcontext.rendering.symbol.text.ISimpleTextSymbol;
54
import org.gvsig.fmap.mapcontext.rendering.legend.driver.ILegendWriter;
55
import org.gvsig.tools.util.Factory;
56

    
57
/**
58
 * Basic symbology manager.
59
 *
60
 * @author 2009- <a href="cordinyana@gvsig.org">C?sar Ordi?ana</a> - gvSIG team
61
 */
62
public interface SymbologyManager {
63

    
64
    /**
65
     * Creates a new interval with the given limit values
66
     *
67
     * @param min the minimum included interval value
68
     * @param max the maximum included interval value
69
     * @return a new interval
70
     */
71
    
72
    IInterval createInterval(double min, double max);
73

    
74
    IArrowDecoratorStyle createArrowDecoratorStyle();
75

    
76
//        IMarkerSymbol createMarkerSymbol();
77
    ISimpleMarkerSymbol createSimpleMarkerSymbol();
78

    
79
    IMask createMask();
80

    
81
    IMultiShapeSymbol createMultiShapeSymbol();
82

    
83
    ISimpleFillSymbol createSimpleFillSymbol();
84

    
85
    ISimpleLineSymbol createSimpleLineSymbol();
86

    
87
    ISimpleLineStyle createSimpleLineStyle();
88

    
89
    ISimpleTextSymbol createSimpleTextSymbol();
90

    
91
    IMarkerFillPropertiesStyle createSimpleMarkerFillPropertiesStyle();
92

    
93
    IBackgroundFileStyle createBackgroundFileStyle(URL imgURL) throws IOException;
94

    
95
    IPictureFillSymbol createPictureFillSymbol(URL imageURL, URL selImageURL) throws IOException;
96

    
97
    IPictureLineSymbol createPictureLineSymbol(URL imageURL, URL selImageURL) throws IOException;
98

    
99
    IPictureMarkerSymbol createPictureMarkerSymbol(URL imageURL, URL selImageURL) throws IOException;
100

    
101
    IMarkerFillSymbol createMarkerFillSymbol();
102

    
103
    IAttrInTableLabelingStrategy createAttrInTableLabelingStrategy();
104

    
105
    ILabelStyle createDefaultLabelStyle();
106

    
107
    ILabelingStrategy createDefaultLabelingStrategy();
108

    
109
    ILabelingMethod createDefaultLabelingMethod();
110

    
111
    IZoomConstraints createDefaultZoomConstraints();
112

    
113
    public void registerLabelClass(ILabelClassFactory factory);
114

    
115
    public Collection<ILabelClassFactory> getLabelClassFactories();
116

    
117
    public ILabelClassFactory getLabelClassFactory(String id);
118

    
119
    /**
120
     * Creates an instance of a class (provided by this manager) which
121
     * implements ILabelClass.
122
     *
123
     * @return
124
     */
125
    ILabelClass createDefaultLabel();
126

    
127
    public ILabelClassFactory getDefaultLabelFactory();
128

    
129
    public void setDefaultLabelFactory(String id);
130

    
131
    public void setDefaultLabelFactory(ILabelClassFactory factory);
132

    
133
    public PathLength createPathLength(Shape path);
134

    
135
    /**
136
     * @return
137
     */
138
    ILegendWriter getDefaultLegendWriter();
139
    
140
    public void registerLabelingStrategy(Factory factory);
141
    
142
    public ILabelingStrategy createLabelingStrategy(String nameFactory, Object... parameters);
143
    
144
}