Revision 19378
trunk/extensions/extRasterTools-SE/src/org/gvsig/raster/beans/canvas/GCanvas.java | ||
---|---|---|
101 | 101 |
} |
102 | 102 |
|
103 | 103 |
/** |
104 |
* Asigna un elemento dibujable a la lista
|
|
104 |
* A?ade un elemento dibujable a la lista
|
|
105 | 105 |
* @param element |
106 | 106 |
*/ |
107 |
public void setDrawableElement(DrawableElement element) {
|
|
107 |
public void addDrawableElement(DrawableElement element) {
|
|
108 | 108 |
element.setCanvas(this); |
109 | 109 |
drawableElements.add(element); |
110 | 110 |
} |
... | ... | |
116 | 116 |
public ArrayList getDrawableElements() { |
117 | 117 |
return drawableElements; |
118 | 118 |
} |
119 |
|
|
120 |
/** |
|
121 |
* Asigna una lista de elementos dibujables |
|
122 |
* @return |
|
123 |
*/ |
|
124 |
public void setDrawableElements(ArrayList list) { |
|
125 |
drawableElements.clear(); |
|
126 |
for (int i = 0; i < list.size(); i++) |
|
127 |
if (list.get(i) instanceof DrawableElement) |
|
128 |
drawableElements.add(list.get(i)); |
|
129 |
repaint(); |
|
130 |
} |
|
119 | 131 |
|
120 | 132 |
/** |
121 | 133 |
* Inicializa el fondo y dibuja el gr?fico sobre el canvas. |
trunk/extensions/extRasterTools-SE/src/org/gvsig/rastertools/enhanced/graphics/HistogramGraphicBase.java | ||
---|---|---|
18 | 18 |
*/ |
19 | 19 |
package org.gvsig.rastertools.enhanced.graphics; |
20 | 20 |
|
21 |
import java.awt.BorderLayout; |
|
21 | 22 |
import java.awt.Color; |
22 | 23 |
import java.awt.Dimension; |
23 | 24 |
import java.awt.event.ComponentEvent; |
... | ... | |
25 | 26 |
import java.util.ArrayList; |
26 | 27 |
|
27 | 28 |
import javax.swing.JFormattedTextField; |
29 |
import javax.swing.JLabel; |
|
28 | 30 |
import javax.swing.JPanel; |
29 | 31 |
import javax.swing.JSlider; |
30 | 32 |
|
... | ... | |
32 | 34 |
import org.gvsig.raster.beans.canvas.layers.Border; |
33 | 35 |
import org.gvsig.raster.beans.canvas.layers.GraphicHistogram; |
34 | 36 |
import org.gvsig.raster.datastruct.Histogram; |
35 |
|
|
36 | 37 |
/** |
37 | 38 |
* Clase base para los gr?ficos de histogramas de entrada y salida. |
38 | 39 |
* |
... | ... | |
75 | 76 |
|
76 | 77 |
private double[] minList = null; |
77 | 78 |
private double[] maxList = null; |
79 |
|
|
80 |
private JLabel labelStatus = null; |
|
78 | 81 |
|
79 | 82 |
public HistogramGraphicBase(Histogram hist, int[] renderBands, double[] minList, double[] maxList) { |
80 | 83 |
this.hist = hist; |
81 | 84 |
this.renderBands = renderBands; |
82 | 85 |
this.minList = minList; |
83 | 86 |
this.maxList = maxList; |
87 |
initialize(); |
|
84 | 88 |
} |
85 | 89 |
|
90 |
private void initialize() { |
|
91 |
init(); |
|
92 |
this.setLayout(new BorderLayout()); |
|
93 |
this.add(getCanvas(), BorderLayout.CENTER); |
|
94 |
this.add(getLabelStatus(), BorderLayout.SOUTH); |
|
95 |
} |
|
96 |
|
|
86 | 97 |
/** |
87 | 98 |
* Obtiene el campo de texto con el valor m?ximo |
88 | 99 |
* @return DataInputField |
89 | 100 |
*/ |
90 | 101 |
public JFormattedTextField getMaxValue() { |
91 |
if(maxValue == null) { |
|
102 |
if (maxValue == null) {
|
|
92 | 103 |
maxValue = new JFormattedTextField(String.valueOf(maxList[0])); |
93 | 104 |
maxValue.setPreferredSize(new Dimension(54, 20)); |
94 | 105 |
} |
... | ... | |
100 | 111 |
* @return DataInputField |
101 | 112 |
*/ |
102 | 113 |
public JFormattedTextField getMinValue() { |
103 |
if(minValue == null) { |
|
114 |
if (minValue == null) {
|
|
104 | 115 |
minValue = new JFormattedTextField(String.valueOf(minList[0])); |
105 | 116 |
minValue.setPreferredSize(new Dimension(54, 20)); |
106 | 117 |
} |
... | ... | |
112 | 123 |
* @return JSlider |
113 | 124 |
*/ |
114 | 125 |
public JSlider getSlider() { |
115 |
if(slider == null) { |
|
126 |
if (slider == null) {
|
|
116 | 127 |
slider = new JSlider(); |
117 | 128 |
} |
118 | 129 |
return slider; |
... | ... | |
125 | 136 |
*/ |
126 | 137 |
public void setHistogram(double[] hist, int colorInterp) { |
127 | 138 |
switch (colorInterp) { |
128 |
case RED: histogramRed = hist; break; |
|
129 |
case GREEN: histogramGreen = hist; break; |
|
130 |
case BLUE: histogramBlue = hist; break; |
|
131 |
case GRAY: histogramGray = hist; break; |
|
139 |
case RED: |
|
140 |
histogramRed = hist; |
|
141 |
break; |
|
142 |
case GREEN: |
|
143 |
histogramGreen = hist; |
|
144 |
break; |
|
145 |
case BLUE: |
|
146 |
histogramBlue = hist; |
|
147 |
break; |
|
148 |
case GRAY: |
|
149 |
histogramGray = hist; |
|
150 |
break; |
|
132 | 151 |
} |
133 |
if(histogramDrawed == null) |
|
152 |
if (histogramDrawed == null)
|
|
134 | 153 |
histogramDrawed = hist; |
135 | 154 |
} |
136 | 155 |
|
... | ... | |
171 | 190 |
* @param type Tipo de histograma. El valor est? definido en las constantes de esta clase |
172 | 191 |
*/ |
173 | 192 |
public void setHistogramType(int type) { |
174 |
//TODO: FUNCIONALIDAD: Sin implementar el tipo de histograma |
|
193 |
// TODO: FUNCIONALIDAD: Sin implementar el tipo de histograma
|
|
175 | 194 |
switch (type) { |
176 |
case STANDARD: break; |
|
177 |
case CUMULATIVE: break; |
|
195 |
case STANDARD: |
|
196 |
break; |
|
197 |
case CUMULATIVE: |
|
198 |
break; |
|
178 | 199 |
} |
179 | 200 |
} |
180 | 201 |
|
... | ... | |
184 | 205 |
*/ |
185 | 206 |
public Border getGraphicBorder() { |
186 | 207 |
for (int i = 0; i < canvas.getDrawableElements().size(); i++) { |
187 |
if(canvas.getDrawableElements().get(i) instanceof Border) |
|
188 |
return (Border)canvas.getDrawableElements().get(i); |
|
208 |
if (canvas.getDrawableElements().get(i) instanceof Border)
|
|
209 |
return (Border) canvas.getDrawableElements().get(i);
|
|
189 | 210 |
} |
190 | 211 |
return null; |
191 | 212 |
} |
... | ... | |
209 | 230 |
* @see java.awt.event.ComponentListener#componentResized(java.awt.event.ComponentEvent) |
210 | 231 |
*/ |
211 | 232 |
public void componentResized(ComponentEvent e) { |
212 |
if(canvas != null) { |
|
233 |
if (canvas != null) {
|
|
213 | 234 |
getGraphicBorder().assignVisibleSize(); |
214 | 235 |
canvas.execFirstDrawActions(); |
215 | 236 |
canvas.repaint(); |
... | ... | |
274 | 295 |
} |
275 | 296 |
|
276 | 297 |
/** |
277 |
* Obtiene el panel con las entradas de texto para los valores |
|
278 |
* m?ximo y m?nimo |
|
298 |
* Obtiene el panel del sur, que contendr? inicialmente un label informativo |
|
279 | 299 |
* @return JPanel |
280 | 300 |
*/ |
281 |
public abstract JPanel getSouthPanel(); |
|
301 |
public JLabel getLabelStatus() { |
|
302 |
if (labelStatus == null) { |
|
303 |
labelStatus = new JLabel(); |
|
304 |
} |
|
305 |
return labelStatus; |
|
306 |
} |
|
282 | 307 |
|
283 | 308 |
/** |
284 | 309 |
* Obtiene el lienzo donde se dibujan las gr?ficas |
285 | 310 |
* @return GCanvas |
286 | 311 |
*/ |
287 | 312 |
public abstract GCanvas getCanvas(); |
288 |
|
|
289 |
} |
|
313 |
} |
trunk/extensions/extRasterTools-SE/src/org/gvsig/rastertools/enhanced/graphics/InputHistogram.java | ||
---|---|---|
18 | 18 |
*/ |
19 | 19 |
package org.gvsig.rastertools.enhanced.graphics; |
20 | 20 |
|
21 |
import java.awt.BorderLayout; |
|
22 | 21 |
import java.awt.Color; |
23 |
import java.awt.GridBagConstraints; |
|
24 |
import java.awt.GridBagLayout; |
|
25 | 22 |
|
26 |
import javax.swing.JPanel; |
|
27 |
|
|
28 | 23 |
import org.gvsig.raster.beans.canvas.DrawableElement; |
29 | 24 |
import org.gvsig.raster.beans.canvas.GCanvas; |
30 | 25 |
import org.gvsig.raster.beans.canvas.layers.Border; |
... | ... | |
41 | 36 |
*/ |
42 | 37 |
public class InputHistogram extends HistogramGraphicBase { |
43 | 38 |
private static final long serialVersionUID = 681848373747974757L; |
44 |
private MinMaxLines minMaxLines = null;
|
|
45 |
private Color minmaxColor = Color.WHITE;
|
|
46 |
private DrawableElement dElement = null;
|
|
39 |
private MinMaxLines minMaxLines = null;
|
|
40 |
private Color minmaxColor = Color.WHITE;
|
|
41 |
private DrawableElement dElement = null;
|
|
47 | 42 |
|
48 | 43 |
/** |
49 | 44 |
* Crea una nueva instancia de InputHistogram. |
50 | 45 |
*/ |
51 | 46 |
public InputHistogram(Histogram hist, int[] renderBands, double[] minList, double[] maxList) { |
52 | 47 |
super(hist, renderBands, minList, maxList); |
53 |
init(); |
|
54 | 48 |
} |
55 | 49 |
|
56 |
/** |
|
57 |
* Inicializaci?n de componentes gr?ficos |
|
58 |
*/ |
|
59 |
protected void init() { |
|
60 |
super.init(); |
|
61 |
|
|
62 |
dElement = new StraightLine(Color.YELLOW); |
|
63 |
this.setLayout(new BorderLayout()); |
|
64 |
this.add(getCanvas(), BorderLayout.CENTER); |
|
65 |
this.add(getSouthPanel(), BorderLayout.SOUTH); |
|
66 |
} |
|
67 |
|
|
68 | 50 |
/* |
69 | 51 |
* (non-Javadoc) |
70 |
* @see org.gvsig.rastertools.enhanced.graphics.HistogramGraphicBase#getSouthPanel() |
|
71 |
*/ |
|
72 |
public JPanel getSouthPanel() { |
|
73 |
if(south == null) { |
|
74 |
south = new JPanel(); |
|
75 |
south.setLayout(new GridBagLayout()); |
|
76 |
GridBagConstraints gb = new GridBagConstraints(); |
|
77 |
gb.weightx = 1; |
|
78 |
|
|
79 |
gb.anchor = GridBagConstraints.WEST; |
|
80 |
south.add(getMinValue(), gb); |
|
81 |
|
|
82 |
gb.anchor = GridBagConstraints.EAST; |
|
83 |
south.add(getMaxValue(), gb); |
|
84 |
} |
|
85 |
return south; |
|
86 |
} |
|
87 |
|
|
88 |
/* |
|
89 |
* (non-Javadoc) |
|
90 | 52 |
* @see org.gvsig.rastertools.enhanced.graphics.HistogramGraphicBase#getCanvas() |
91 | 53 |
*/ |
92 | 54 |
public GCanvas getCanvas() { |
... | ... | |
94 | 56 |
gHist = new GraphicHistogram(histogramDrawed, histogramColor); |
95 | 57 |
gHist.setType(GraphicHistogram.TYPE_LINE); |
96 | 58 |
minMaxLines = new MinMaxLines(minmaxColor); |
59 |
dElement = new StraightLine(Color.YELLOW); |
|
97 | 60 |
//minMaxLines.setActionManager(this); |
98 | 61 |
|
99 | 62 |
canvas = new GCanvas(Color.BLACK); |
100 |
canvas.setDrawableElement(new Border(borderColor));
|
|
101 |
canvas.setDrawableElement(gHist);
|
|
102 |
canvas.setDrawableElement(dElement);
|
|
103 |
canvas.setDrawableElement(minMaxLines);
|
|
63 |
canvas.addDrawableElement(new Border(borderColor));
|
|
64 |
canvas.addDrawableElement(gHist);
|
|
65 |
canvas.addDrawableElement(dElement);
|
|
66 |
canvas.addDrawableElement(minMaxLines);
|
|
104 | 67 |
} |
105 | 68 |
return canvas; |
106 | 69 |
} |
trunk/extensions/extRasterTools-SE/src/org/gvsig/rastertools/enhanced/graphics/OutputHistogram.java | ||
---|---|---|
18 | 18 |
*/ |
19 | 19 |
package org.gvsig.rastertools.enhanced.graphics; |
20 | 20 |
|
21 |
import java.awt.BorderLayout; |
|
22 | 21 |
import java.awt.Color; |
23 |
import java.awt.GridBagConstraints; |
|
24 |
import java.awt.GridBagLayout; |
|
25 | 22 |
|
26 |
import javax.swing.JPanel; |
|
27 |
|
|
28 | 23 |
import org.gvsig.raster.beans.canvas.GCanvas; |
29 | 24 |
import org.gvsig.raster.beans.canvas.layers.Border; |
30 | 25 |
import org.gvsig.raster.beans.canvas.layers.GraphicHistogram; |
... | ... | |
36 | 31 |
* @author Nacho Brodin nachobrodin@gmail.com |
37 | 32 |
*/ |
38 | 33 |
public class OutputHistogram extends HistogramGraphicBase { |
39 |
private static final long serialVersionUID = 1L;
|
|
34 |
private static final long serialVersionUID = -3827308936130572914L;
|
|
40 | 35 |
|
41 | 36 |
/** |
42 | 37 |
* Crea una nueva instancia de OutputHistogram. |
43 | 38 |
*/ |
44 | 39 |
public OutputHistogram(Histogram hist, int[] renderBands, double[] minList, double[] maxList) { |
45 | 40 |
super(hist, renderBands, minList, maxList); |
46 |
init(); |
|
47 | 41 |
} |
48 |
|
|
49 |
/** |
|
50 |
* Inicializaci?n de componentes gr?ficos |
|
51 |
*/ |
|
52 |
protected void init() { |
|
53 |
super.init(); |
|
54 |
histogramColor = Color.GREEN; |
|
55 |
this.setLayout(new BorderLayout()); |
|
56 |
this.add(getCanvas(), BorderLayout.CENTER); |
|
57 |
this.add(getSouthPanel(), BorderLayout.SOUTH); |
|
58 |
} |
|
59 |
|
|
60 |
/* |
|
61 |
* (non-Javadoc) |
|
62 |
* @see org.gvsig.rastertools.enhanced.graphics.HistogramGraphicBase#createDrawableElements() |
|
63 |
*/ |
|
64 |
protected void createDrawableElements() { |
|
65 |
} |
|
66 | 42 |
|
67 | 43 |
/* |
68 | 44 |
* (non-Javadoc) |
... | ... | |
70 | 46 |
*/ |
71 | 47 |
public GCanvas getCanvas() { |
72 | 48 |
if (canvas == null) { |
73 |
GraphicHistogram gHist = new GraphicHistogram(histogramDrawed, histogramColor);
|
|
49 |
GraphicHistogram gHist = new GraphicHistogram(histogramDrawed, Color.GREEN);
|
|
74 | 50 |
gHist.setType(GraphicHistogram.TYPE_LINE); |
75 | 51 |
|
76 | 52 |
canvas = new GCanvas(Color.BLACK); |
77 |
canvas.setDrawableElement(new Border(borderColor));
|
|
78 |
canvas.setDrawableElement(gHist);
|
|
53 |
canvas.addDrawableElement(new Border(borderColor));
|
|
54 |
canvas.addDrawableElement(gHist);
|
|
79 | 55 |
} |
80 | 56 |
return canvas; |
81 | 57 |
} |
82 |
|
|
83 |
/* |
|
84 |
* (non-Javadoc) |
|
85 |
* @see org.gvsig.rastertools.enhanced.graphics.HistogramGraphicBase#getSouthPanel() |
|
86 |
*/ |
|
87 |
public JPanel getSouthPanel() { |
|
88 |
if(south == null) { |
|
89 |
south = new JPanel(); |
|
90 |
south.setLayout(new GridBagLayout()); |
|
91 |
GridBagConstraints gb = new GridBagConstraints(); |
|
92 |
gb.weightx = 1; |
|
93 |
|
|
94 |
gb.anchor = GridBagConstraints.WEST; |
|
95 |
south.add(getMinValue(), gb); |
|
96 |
|
|
97 |
gb.anchor = GridBagConstraints.EAST; |
|
98 |
south.add(getMaxValue(), gb); |
|
99 |
} |
|
100 |
return south; |
|
101 |
} |
|
102 | 58 |
} |
trunk/extensions/extRasterTools-SE/src-test-ui/org/gvsig/raster/beans/canvas/GCanvasTest.java | ||
---|---|---|
57 | 57 |
minMaxLines = new MinMaxLines(Color.white); |
58 | 58 |
|
59 | 59 |
component = new GCanvas(Color.BLACK); |
60 |
component.setDrawableElement(border);
|
|
61 |
component.setDrawableElement(gHistR);
|
|
62 |
component.setDrawableElement(minMaxLines);
|
|
63 |
component.setDrawableElement(line);
|
|
60 |
component.addDrawableElement(border);
|
|
61 |
component.addDrawableElement(gHistR);
|
|
62 |
component.addDrawableElement(minMaxLines);
|
|
63 |
component.addDrawableElement(line);
|
|
64 | 64 |
|
65 | 65 |
jFrame.setSize(new Dimension(200, 223)); |
66 | 66 |
jFrame.setContentPane(component); |
trunk/extensions/extRasterTools-SE/src-test-ui/org/gvsig/rastertools/enhanced/graphics/panels/EnhancedGraphic.java | ||
---|---|---|
186 | 186 |
gHistR.setType(GraphicHistogram.TYPE_LINE); |
187 | 187 |
|
188 | 188 |
canvas = new GCanvas(Color.BLACK); |
189 |
canvas.setDrawableElement(new Border(Color.WHITE));
|
|
190 |
canvas.setDrawableElement(gHistR);
|
|
191 |
canvas.setDrawableElement(dElement);
|
|
189 |
canvas.addDrawableElement(new Border(Color.WHITE));
|
|
190 |
canvas.addDrawableElement(gHistR);
|
|
191 |
canvas.addDrawableElement(dElement);
|
|
192 | 192 |
} |
193 | 193 |
return canvas; |
194 | 194 |
} |
trunk/extensions/extRasterTools-SE/src-test-ui/org/gvsig/rastertools/enhanced/graphics/panels/EcualizationHistogram.java | ||
---|---|---|
191 | 191 |
minMaxLines = new MinMaxLines(minmaxColor); |
192 | 192 |
|
193 | 193 |
canvas = new GCanvas(Color.BLACK); |
194 |
canvas.setDrawableElement(new Border(borderColor));
|
|
195 |
canvas.setDrawableElement(gHistR);
|
|
196 |
canvas.setDrawableElement(minMaxLines);
|
|
197 |
canvas.setDrawableElement(dElement);
|
|
194 |
canvas.addDrawableElement(new Border(borderColor));
|
|
195 |
canvas.addDrawableElement(gHistR);
|
|
196 |
canvas.addDrawableElement(minMaxLines);
|
|
197 |
canvas.addDrawableElement(dElement);
|
|
198 | 198 |
} |
199 | 199 |
return canvas; |
200 | 200 |
} |
Also available in: Unified diff