svn-document-layout / trunk / org.gvsig.app.document.layout2.app / org.gvsig.app.document.layout2.app.mainplugin / src / main / java / org / gvsig / layout / mapbox / panel / FFrameMapBoxPanel.java @ 1714
History | View | Annotate | Download (3.93 KB)
1 |
/*
|
---|---|
2 |
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
|
3 |
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
|
4 |
*/
|
5 |
package org.gvsig.layout.mapbox.panel; |
6 |
|
7 |
import java.awt.geom.Dimension2D; |
8 |
import java.awt.geom.Rectangle2D; |
9 |
import javax.swing.SpinnerNumberModel; |
10 |
import org.gvsig.app.project.documents.layout.fframes.IFFrame; |
11 |
import org.gvsig.app.project.documents.layout.gui.LayoutPanel; |
12 |
import org.gvsig.layout.mapbox.fframe.FFrameMapBox; |
13 |
import org.gvsig.layout.mapbox.model.Dimension2DDouble; |
14 |
import org.gvsig.layout.mapbox.model.MapBoxModel; |
15 |
import org.gvsig.tools.ToolsLocator; |
16 |
import org.gvsig.tools.i18n.I18nManager; |
17 |
import org.gvsig.tools.lang.CloneableUtils; |
18 |
import org.gvsig.tools.swing.api.ToolsSwingLocator; |
19 |
import org.gvsig.tools.swing.api.ToolsSwingManager; |
20 |
|
21 |
/**
|
22 |
*
|
23 |
* @author fdiaz
|
24 |
*/
|
25 |
public class FFrameMapBoxPanel extends FFrameMapBoxPanelView { |
26 |
/*
|
27 |
La clase FFrameMapBoxPanelView debe extender de AbstractFFramePanel y ser abstract
|
28 |
public abstract class FFrameMapBoxPanelView extends AbstractFFramePanel
|
29 |
*/
|
30 |
|
31 |
// private Dimension dimension;
|
32 |
private MapBoxModel model;
|
33 |
private Rectangle2D rectangle; |
34 |
private FFrameMapBox baseFrame;
|
35 |
private Rectangle2D.Double fframebbox; |
36 |
|
37 |
public FFrameMapBoxPanel(LayoutPanel layoutPanel, IFFrame fframe) {
|
38 |
initComponents(); |
39 |
translate(); |
40 |
put((FFrameMapBox)fframe); |
41 |
} |
42 |
|
43 |
private void initComponents() { |
44 |
this.spnColumns.setModel(new SpinnerNumberModel(3, 1, Integer.MAX_VALUE, 1)); |
45 |
this.spnRows.setModel(new SpinnerNumberModel(3, 1, Integer.MAX_VALUE, 1)); |
46 |
this.spnDegrees.setModel(new SpinnerNumberModel(0d, -179d, +180d, 1d)); |
47 |
} |
48 |
|
49 |
private void translate() { |
50 |
ToolsSwingManager toolsSwingManager = ToolsSwingLocator.getToolsSwingManager(); |
51 |
|
52 |
toolsSwingManager.translate(this.lblRows);
|
53 |
toolsSwingManager.translate(this.lblColumns);
|
54 |
toolsSwingManager.translate(this.lblDegrees);
|
55 |
toolsSwingManager.translate(this.lblPreview);
|
56 |
} |
57 |
|
58 |
public FFrameMapBox fetch(FFrameMapBox output) {
|
59 |
//FIXME: Este rectangle no es bueno para crear el frame
|
60 |
//porque ya est? pasado por la AT
|
61 |
if (output == null) { |
62 |
output = (FFrameMapBox) CloneableUtils.cloneQuietly(this.baseFrame);
|
63 |
if(output == null){ |
64 |
return null; |
65 |
} |
66 |
output.setBoundBox(fframebbox); |
67 |
} |
68 |
output.setRotation((double) this.spnDegrees.getValue()); |
69 |
if (this.model == null || this.model.isEmpty()) { |
70 |
Dimension2D dimension = new Dimension2DDouble( |
71 |
fframebbox.getWidth(), |
72 |
fframebbox.getHeight()); |
73 |
this.model = new MapBoxModel( |
74 |
dimension, |
75 |
(int) this.spnColumns.getValue(), |
76 |
(int) this.spnRows.getValue()); |
77 |
} |
78 |
output.setModel(model); |
79 |
return output;
|
80 |
} |
81 |
|
82 |
public void put(FFrameMapBox fframeMapBox) { |
83 |
if(fframeMapBox != null) { |
84 |
this.baseFrame = fframeMapBox;
|
85 |
this.model = fframeMapBox.getModel();
|
86 |
this.spnDegrees.setValue(fframeMapBox.getRotation());
|
87 |
|
88 |
boolean enabled =(this.model == null || this.model.isEmpty()); |
89 |
this.spnColumns.setEnabled(enabled);
|
90 |
this.spnRows.setEnabled(enabled);
|
91 |
this.fframebbox = fframeMapBox.getBoundBox();
|
92 |
// this.rectangle = fframeMapBox.getBoundBox();
|
93 |
} |
94 |
} |
95 |
|
96 |
@Override
|
97 |
public IFFrame getFFrame() {
|
98 |
return fetch(null); |
99 |
} |
100 |
|
101 |
@Override
|
102 |
public void setRectangle(Rectangle2D r) { |
103 |
this.rectangle = r;
|
104 |
} |
105 |
|
106 |
@Override
|
107 |
public String getTitle() { |
108 |
I18nManager i18n = ToolsLocator.getI18nManager(); |
109 |
return i18n.getTranslation("_Mapbox_properties"); |
110 |
} |
111 |
|
112 |
|
113 |
|
114 |
} |