Revision 340 2.0/trunk/org.gvsig.gvsig3d.app/org.gvsig.gvsig3d.app.extension/src/main/java/org/gvsig/gvsig3d/app/gui/styling/PictureSymbolTab.java
PictureSymbolTab.java | ||
---|---|---|
9 | 9 |
import java.awt.GridLayout; |
10 | 10 |
import java.awt.Image; |
11 | 11 |
import java.awt.Insets; |
12 |
import java.awt.event.ActionEvent; |
|
13 |
import java.awt.event.ActionListener; |
|
14 |
import java.awt.image.BufferedImage; |
|
12 | 15 |
import java.io.File; |
13 | 16 |
import java.io.FileNotFoundException; |
14 | 17 |
|
15 | 18 |
import javax.swing.ImageIcon; |
16 | 19 |
import javax.swing.JButton; |
17 |
import javax.swing.JComboBox; |
|
18 | 20 |
import javax.swing.JFileChooser; |
19 |
import javax.swing.JInternalFrame; |
|
20 | 21 |
import javax.swing.JLabel; |
21 | 22 |
import javax.swing.JPanel; |
22 | 23 |
import javax.swing.JRadioButton; |
23 | 24 |
import javax.swing.JSpinner; |
24 | 25 |
import javax.swing.JTabbedPane; |
25 | 26 |
import javax.swing.JTextField; |
27 |
import javax.swing.SpinnerNumberModel; |
|
26 | 28 |
import javax.swing.border.TitledBorder; |
27 | 29 |
import javax.swing.filechooser.FileFilter; |
28 | 30 |
|
31 |
import org.gvsig.gvsig3d.impl.symbology3d.marker.impl.NodeMarker3DSymbol; |
|
29 | 32 |
import org.gvsig.gvsig3d.impl.symbology3d.marker.impl.PictureMarker3DSymbol; |
30 | 33 |
import org.gvsig.gvsig3d.symbology3d.I3DSymbol; |
31 | 34 |
import org.gvsig.gvsig3d.symbology3d.marker.ISimpleMarker3DSymbol; |
... | ... | |
35 | 38 |
import org.gvsig.osgvp.exceptions.node.LoadNodeException; |
36 | 39 |
import org.gvsig.osgvp.viewer.IViewerContainer; |
37 | 40 |
import org.gvsig.osgvp.viewer.ViewerFactory; |
38 |
import java.awt.event.ActionListener; |
|
39 |
import java.awt.event.ActionEvent; |
|
40 |
import java.awt.image.BufferedImage; |
|
41 | 41 |
|
42 |
import javax.swing.JSlider; |
|
43 |
import javax.swing.SpinnerNumberModel; |
|
44 |
import javax.swing.event.ChangeListener; |
|
45 |
import javax.swing.event.ChangeEvent; |
|
46 |
|
|
47 | 42 |
public class PictureSymbolTab extends JPanel implements ISymbolSelectorTab { |
48 | 43 |
|
49 | 44 |
private JTextField textField; |
... | ... | |
70 | 65 |
setLayout(new BorderLayout(0, 0)); |
71 | 66 |
|
72 | 67 |
JTabbedPane tabbedPane = new JTabbedPane(JTabbedPane.TOP); |
73 |
tabbedPane.setPreferredSize(new Dimension(490,220));
|
|
74 |
add(tabbedPane); |
|
68 |
tabbedPane.setPreferredSize(new Dimension(180,300));
|
|
69 |
add(tabbedPane, BorderLayout.CENTER);
|
|
75 | 70 |
|
76 | 71 |
panel = new JPanel(); |
77 | 72 |
tabbedPane.addTab("Properties", null, panel, null); |
78 | 73 |
GridBagLayout gbl_panel = new GridBagLayout(); |
79 |
gbl_panel.columnWidths = new int[] { 360, 120 };
|
|
80 |
gbl_panel.rowHeights = new int[] { 100 };
|
|
81 |
gbl_panel.columnWeights = new double[] { 0.0, 0.0 };
|
|
82 |
gbl_panel.rowWeights = new double[] { 0.0 }; |
|
74 |
gbl_panel.columnWidths = new int[] { 175 };
|
|
75 |
gbl_panel.rowHeights = new int[] { 180, 70 };
|
|
76 |
gbl_panel.columnWeights = new double[] { 0.0 }; |
|
77 |
gbl_panel.rowWeights = new double[] { 0.0, 0.0 };
|
|
83 | 78 |
panel.setLayout(gbl_panel); |
84 | 79 |
|
80 |
previewPanel = new JPanel(); |
|
81 |
previewPanel.setBorder(new TitledBorder(null, "Preview", |
|
82 |
TitledBorder.LEADING, TitledBorder.TOP, null, null)); |
|
83 |
GridBagConstraints gbc_panel_2 = new GridBagConstraints(); |
|
84 |
gbc_panel_2.insets = new Insets(0, 0, 5, 5); |
|
85 |
gbc_panel_2.fill = GridBagConstraints.BOTH; |
|
86 |
gbc_panel_2.gridx = 0; |
|
87 |
gbc_panel_2.gridy = 0; |
|
88 |
panel.add(previewPanel, gbc_panel_2); |
|
89 |
previewPanel.setLayout(new BorderLayout(0, 0)); |
|
90 |
|
|
91 |
icon = new ImageIcon(""); |
|
92 |
background = new JLabel(icon); |
|
93 |
previewPanel.add(background, BorderLayout.CENTER); |
|
94 |
|
|
95 |
_picturePanel = new JPanel(); |
|
96 |
previewPanel.add(_picturePanel, BorderLayout.CENTER); |
|
97 |
_picturePanel.setLayout(new BorderLayout(0, 0)); |
|
98 |
_picturePanel.add(new JLabel(scale(icon.getImage())), BorderLayout.CENTER); |
|
99 |
|
|
85 | 100 |
JPanel propertiesPanel = new JPanel(); |
86 | 101 |
propertiesPanel.setBorder(new TitledBorder(null, "Properties", |
87 | 102 |
TitledBorder.LEADING, TitledBorder.TOP, null, null)); |
88 | 103 |
GridBagConstraints gbc_propertiesPanel = new GridBagConstraints(); |
89 | 104 |
gbc_propertiesPanel.fill = GridBagConstraints.HORIZONTAL; |
90 |
gbc_propertiesPanel.anchor = GridBagConstraints.NORTHWEST; |
|
105 |
gbc_propertiesPanel.ipady = 10; |
|
106 |
gbc_propertiesPanel.ipadx = 10; |
|
91 | 107 |
gbc_propertiesPanel.insets = new Insets(0, 0, 0, 5); |
108 |
gbc_propertiesPanel.anchor = GridBagConstraints.NORTHWEST; |
|
92 | 109 |
gbc_propertiesPanel.gridx = 0; |
93 |
gbc_propertiesPanel.gridy = 0;
|
|
110 |
gbc_propertiesPanel.gridy = 1;
|
|
94 | 111 |
panel.add(propertiesPanel, gbc_propertiesPanel); |
95 | 112 |
propertiesPanel.setLayout(new GridLayout(0, 3, 10, 10)); |
96 | 113 |
|
... | ... | |
122 | 139 |
background = new JLabel(icon); |
123 | 140 |
_picturePanel.removeAll(); |
124 | 141 |
_picturePanel.add(new JLabel(scale(icon.getImage())),BorderLayout.CENTER); |
125 |
background.repaint(); |
|
126 |
panel.repaint(); |
|
142 |
PictureSymbolTab.this.repaint(); |
|
127 | 143 |
|
128 | 144 |
} else { |
129 | 145 |
|
... | ... | |
139 | 155 |
}); |
140 | 156 |
propertiesPanel.add(btnBrowse); |
141 | 157 |
|
142 |
JLabel lblSize = new JLabel("Scale Factor:");
|
|
158 |
JLabel lblSize = new JLabel("Size:");
|
|
143 | 159 |
propertiesPanel.add(lblSize); |
144 | 160 |
|
145 | 161 |
JPanel panel_3 = new JPanel(); |
... | ... | |
147 | 163 |
panel_3.setLayout(new BorderLayout(0, 0)); |
148 | 164 |
|
149 | 165 |
sizeSpinner = new JSpinner(); |
150 |
|
|
151 |
sizeSpinner.setModel(new SpinnerNumberModel(1.0, 1.0, 100.0, 1.0)); |
|
166 |
sizeSpinner.setModel(new SpinnerNumberModel(1.0, 1.0, 1000.0, 1.0)); |
|
152 | 167 |
panel_3.add(sizeSpinner); |
168 |
|
|
169 |
propertiesPanel.setPreferredSize(new Dimension(80,80)); |
|
153 | 170 |
|
154 |
previewPanel = new JPanel(); |
|
155 |
previewPanel.setBorder(new TitledBorder(null, "Preview", |
|
156 |
TitledBorder.LEADING, TitledBorder.TOP, null, null)); |
|
157 |
GridBagConstraints gbc_panel_2 = new GridBagConstraints(); |
|
158 |
gbc_panel_2.fill = GridBagConstraints.BOTH; |
|
159 |
gbc_panel_2.anchor = GridBagConstraints.WEST; |
|
160 |
gbc_panel_2.gridx = 1; |
|
161 |
gbc_panel_2.gridy = 0; |
|
162 |
panel.add(previewPanel, gbc_panel_2); |
|
163 |
previewPanel.setLayout(new BorderLayout(0, 0)); |
|
164 |
|
|
165 |
_picturePanel = new JPanel(); |
|
166 |
previewPanel.add(_picturePanel, BorderLayout.CENTER); |
|
167 |
_picturePanel.setLayout(new BorderLayout(0, 0)); |
|
168 |
|
|
169 |
icon = new ImageIcon(""); |
|
170 |
background = new JLabel(icon); |
|
171 |
|
|
172 |
_picturePanel.add(new JLabel(scale(icon.getImage())), BorderLayout.CENTER); |
|
173 |
|
|
174 | 171 |
JPanel panel_4 = new JPanel(); |
175 | 172 |
tabbedPane.addTab("Collection", null, panel_4, null); |
176 | 173 |
GridBagLayout gbl_panel_4 = new GridBagLayout(); |
... | ... | |
229 | 226 |
|
230 | 227 |
} |
231 | 228 |
|
229 |
|
|
230 |
|
|
232 | 231 |
public I3DSymbol getNewSymbol() { |
233 | 232 |
// TODO Auto-generated method stub |
234 | 233 |
_symbol = new PictureMarker3DSymbol(); |
... | ... | |
275 | 274 |
@Override |
276 | 275 |
public String getDescription() { |
277 | 276 |
// TODO Auto-generated method stub |
278 |
return "OSG File Types";
|
|
277 |
return "Supported Image Types";
|
|
279 | 278 |
} |
280 | 279 |
} |
281 |
|
|
280 |
|
|
282 | 281 |
private ImageIcon scale(Image src) { |
283 | 282 |
int w = 115; |
284 | 283 |
int h = 115; |
Also available in: Unified diff