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

History | View | Annotate | Download (5.42 KB)

1 40560 jjdelcerro
/**
2
 * gvSIG. Desktop Geographic Information System.
3
 *
4
 * Copyright (C) 2007-2013 gvSIG Association.
5
 *
6 41670 jjdelcerro
 * 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 40435 jjdelcerro
24
package org.gvsig.symbology;
25
26 43156 jjdelcerro
import java.awt.Shape;
27 40435 jjdelcerro
import java.io.IOException;
28
import java.net.URL;
29 41670 jjdelcerro
import java.util.Collection;
30 40435 jjdelcerro
31
import org.gvsig.fmap.mapcontext.rendering.legend.IInterval;
32 43599 fdiaz
import org.gvsig.fmap.mapcontext.rendering.legend.driver.ILegendReader;
33 40679 jldominguez
import org.gvsig.fmap.mapcontext.rendering.legend.styling.ILabelClass;
34 41670 jjdelcerro
import org.gvsig.fmap.mapcontext.rendering.legend.styling.ILabelClassFactory;
35 40679 jldominguez
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 40680 jldominguez
import org.gvsig.fmap.mapcontext.rendering.symbols.styles.ILabelStyle;
40 40435 jjdelcerro
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 43599 fdiaz
import org.gvsig.fmap.mapcontext.rendering.legend.driver.ILegendWriter;
55 44534 omartinez
import org.gvsig.tools.util.Factory;
56 40435 jjdelcerro
57
/**
58
 * Basic symbology manager.
59 41670 jjdelcerro
 *
60 40435 jjdelcerro
 * @author 2009- <a href="cordinyana@gvsig.org">C?sar Ordi?ana</a> - gvSIG team
61
 */
62
public interface SymbologyManager {
63
64 41670 jjdelcerro
    /**
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 44247 omartinez
72 41670 jjdelcerro
    IInterval createInterval(double min, double max);
73
74
    IArrowDecoratorStyle createArrowDecoratorStyle();
75
76 40435 jjdelcerro
//        IMarkerSymbol createMarkerSymbol();
77 41670 jjdelcerro
    ISimpleMarkerSymbol createSimpleMarkerSymbol();
78 40435 jjdelcerro
79 41670 jjdelcerro
    IMask createMask();
80 40435 jjdelcerro
81 41670 jjdelcerro
    IMultiShapeSymbol createMultiShapeSymbol();
82 40435 jjdelcerro
83 41670 jjdelcerro
    ISimpleFillSymbol createSimpleFillSymbol();
84 40435 jjdelcerro
85 41670 jjdelcerro
    ISimpleLineSymbol createSimpleLineSymbol();
86 40435 jjdelcerro
87 41670 jjdelcerro
    ISimpleLineStyle createSimpleLineStyle();
88 40435 jjdelcerro
89 41670 jjdelcerro
    ISimpleTextSymbol createSimpleTextSymbol();
90 40435 jjdelcerro
91 41670 jjdelcerro
    IMarkerFillPropertiesStyle createSimpleMarkerFillPropertiesStyle();
92 40435 jjdelcerro
93 41670 jjdelcerro
    IBackgroundFileStyle createBackgroundFileStyle(URL imgURL) throws IOException;
94 40679 jldominguez
95 41670 jjdelcerro
    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 43599 fdiaz
     * @return
124 41670 jjdelcerro
     */
125
    ILabelClass createDefaultLabel();
126 43599 fdiaz
127 41670 jjdelcerro
    public ILabelClassFactory getDefaultLabelFactory();
128
129
    public void setDefaultLabelFactory(String id);
130
131
    public void setDefaultLabelFactory(ILabelClassFactory factory);
132 43599 fdiaz
133 43156 jjdelcerro
    public PathLength createPathLength(Shape path);
134 43599 fdiaz
135
    /**
136
     * @return
137
     */
138
    ILegendWriter getDefaultLegendWriter();
139 44534 omartinez
140
    public void registerLabelingStrategy(Factory factory);
141
142
    public ILabelingStrategy createLabelingStrategy(String nameFactory, Object... parameters);
143
144 40435 jjdelcerro
}