Statistics
| Revision:

gvsig-3d / 2.0 / trunk / org.gvsig.gvsig3d.app / org.gvsig.gvsig3d.app.extension / src / main / java / org / gvsig / gvsig3d / app / gui / styling / SymbolSelector3D.java @ 328

History | View | Annotate | Download (5.87 KB)

1
package org.gvsig.gvsig3d.app.gui.styling;
2

    
3
import java.awt.BorderLayout;
4
import java.awt.FlowLayout;
5
import java.awt.GridBagConstraints;
6
import java.awt.GridBagLayout;
7
import java.awt.Insets;
8
import java.awt.event.ActionEvent;
9
import java.awt.event.ActionListener;
10
import java.awt.event.ItemEvent;
11
import java.awt.event.ItemListener;
12

    
13
import javax.swing.DefaultComboBoxModel;
14
import javax.swing.JButton;
15
import javax.swing.JComboBox;
16
import javax.swing.JPanel;
17
import javax.swing.SwingConstants;
18
import javax.swing.border.TitledBorder;
19

    
20
import org.gvsig.andami.PluginServices;
21
import org.gvsig.andami.ui.mdiManager.WindowInfo;
22
import org.gvsig.app.gui.styling.SymbolSelector;
23
import org.gvsig.app.project.documents.view.legend.gui.ISymbolSelector;
24
import org.gvsig.fmap.geom.type.GeometryType;
25
import org.gvsig.fmap.mapcontext.rendering.symbols.ISymbol;
26
import org.gvsig.i18n.Messages;
27

    
28
public class SymbolSelector3D extends JPanel implements ISymbolSelector,
29
                ActionListener {
30
        /**
31
         * 
32
         */
33
        private static final long serialVersionUID = 7378124199631050961L;
34
        private WindowInfo wi;
35
        private JPanel _tabsPane;
36
        private JComboBox comboBox;
37
        private SimpleSymbolTab _ssTab;
38
        private PictureSymbolTab _psTab;
39
        private Object3DSymbolTab _obTab;
40

    
41
        private ISymbol _symbol;
42
        private JPanel panel;
43
        private JButton btnNewButton;
44
        private JButton btnNewButton_1;
45
        private ISymbol _newSymbol;
46
        
47
        private ISymbolSelectorTab _activeTab;
48

    
49
        public SymbolSelector3D() {
50
                super();
51

    
52
                initComponents();
53
                _tabsPane.setLayout(new BorderLayout(0, 0));
54
                _ssTab = new SimpleSymbolTab(this);
55
                _psTab = new PictureSymbolTab(this);
56
                _obTab = new Object3DSymbolTab(this);
57
                _tabsPane.add(_ssTab);
58
                _activeTab = _ssTab;
59
                addAcceptCancelButtons();
60

    
61
        }
62

    
63
        public SymbolSelector3D(ISymbol symbol) {
64
                super();
65
                _symbol = symbol;
66
                System.out.println("I'M a CHAMPION");
67
        }
68

    
69
        public SymbolSelector3D(ISymbol symbol, GeometryType shapeType) {
70
                super();
71
                _symbol = symbol;
72
                initComponents();
73
                SimpleSymbolTab ssTab = new SimpleSymbolTab(this);
74
                _tabsPane.add(ssTab);
75
                addAcceptCancelButtons();
76

    
77
                System.out.println("I'M a CHAMPION");
78
        }
79

    
80
        public SymbolSelector3D(String domain, ISymbol symbol, Integer shapeType) {
81
                super();
82
                _symbol = symbol;
83
                _ssTab = new SimpleSymbolTab(this);
84
                _psTab = new PictureSymbolTab(this);
85
                _obTab = new Object3DSymbolTab(this);
86
                initComponents();
87
                _tabsPane.add(_ssTab);
88
                _activeTab = _ssTab;
89
                addAcceptCancelButtons();
90

    
91
        }
92

    
93
        private void initComponents() {
94
                setBorder(new TitledBorder(null, "Marker Symbols",
95
                                TitledBorder.LEADING, TitledBorder.TOP, null, null));
96
                GridBagLayout gridBagLayout = new GridBagLayout();
97
                gridBagLayout.columnWidths = new int[] { 0, 0 };
98
                gridBagLayout.rowHeights = new int[] { 0, 0, 0, 0 };
99
                gridBagLayout.columnWeights = new double[] { 1.0, Double.MIN_VALUE };
100
                gridBagLayout.rowWeights = new double[] { 0.0, 1.0, 1.0,
101
                                Double.MIN_VALUE };
102
                setLayout(gridBagLayout);
103

    
104
                comboBox = new JComboBox();
105
                comboBox.addItemListener(new ItemListener() {
106
                        public void itemStateChanged(ItemEvent arg0) {
107
                                int which = comboBox.getSelectedIndex();
108
                                System.out.println("Case: " + which);
109
                                switch (which) {
110
                                case 0:
111
                                        _tabsPane.removeAll();
112
                                        System.out.println("A?ado panel 1");
113
                                        _tabsPane.add(_ssTab);
114
                                        _activeTab = _ssTab;
115
                                        _tabsPane.repaint();
116
                                        _tabsPane.validate();
117
                                        break;
118

    
119
                                case 1:
120
                                        _tabsPane.removeAll();
121
                                        System.out.println("A?ado panel 2");
122
                                        _tabsPane.add(_psTab);
123
                                        _activeTab = _psTab;
124
                                        _tabsPane.repaint();
125
                                        _tabsPane.validate();
126
                                        break;
127

    
128
                                case 2:
129
                                        _tabsPane.removeAll();
130
                                        System.out.println("A?ado panel 3");
131
                                        _tabsPane.add(_obTab);
132
                                        _activeTab = _obTab;
133
                                        _tabsPane.repaint();
134
                                        _tabsPane.validate();
135
                                        break;
136
                                default:
137
                                        break;
138

    
139
                                }
140

    
141
                        }
142
                });
143
                comboBox.setModel(new DefaultComboBoxModel(new String[] { "Simple  ",
144
                                "Picture", "3D Object " }));
145
                GridBagConstraints gbc_comboBox = new GridBagConstraints();
146
                gbc_comboBox.insets = new Insets(0, 0, 5, 0);
147
                gbc_comboBox.weightx = 0.3;
148
                gbc_comboBox.ipadx = 10;
149
                gbc_comboBox.anchor = GridBagConstraints.WEST;
150
                gbc_comboBox.gridx = 0;
151
                gbc_comboBox.gridy = 0;
152
                add(comboBox, gbc_comboBox);
153

    
154
                _tabsPane = new JPanel();
155
                GridBagConstraints gbc_tabbedPane = new GridBagConstraints();
156
                gbc_tabbedPane.weighty = 0.8;
157
                gbc_tabbedPane.weightx = 0.8;
158
                gbc_tabbedPane.insets = new Insets(0, 0, 5, 0);
159
                gbc_tabbedPane.fill = GridBagConstraints.BOTH;
160
                gbc_tabbedPane.gridx = 0;
161
                gbc_tabbedPane.gridy = 1;
162
                add(_tabsPane, gbc_tabbedPane);
163

    
164
        }
165

    
166
        private void addAcceptCancelButtons() {
167

    
168
                panel = new JPanel();
169
                GridBagConstraints gbc_panel = new GridBagConstraints();
170
                gbc_panel.anchor = GridBagConstraints.NORTHEAST;
171
                gbc_panel.weighty = 0.2;
172
                gbc_panel.weightx = 0.2;
173
                gbc_panel.gridx = 0;
174
                gbc_panel.gridy = 2;
175
                add(panel, gbc_panel);
176
                panel.setLayout(new FlowLayout(FlowLayout.RIGHT, 5, 5));
177

    
178
                btnNewButton = new JButton("Cancel");
179
                panel.add(btnNewButton);
180

    
181
                btnNewButton_1 = new JButton("Accept");
182
                btnNewButton_1.addActionListener(new ActionListener() {
183
                        public void actionPerformed(ActionEvent arg0) {
184
                                _symbol = _activeTab.getNewSymbol();
185
                                setSymbol(_symbol);
186
                                PluginServices.getMDIManager().closeWindow(SymbolSelector3D.this);
187
                        }
188
                });
189
                btnNewButton_1.setHorizontalAlignment(SwingConstants.RIGHT);
190
                panel.add(btnNewButton_1);
191

    
192
        }
193

    
194
        public ISymbol getSymbol() {
195

    
196
                return _symbol;
197

    
198
        }
199

    
200
        public WindowInfo getWindowInfo() {
201

    
202
                if (wi == null) {
203
                        wi = new WindowInfo(WindowInfo.MODALDIALOG | WindowInfo.RESIZABLE);
204
                        wi.setWidth(600);
205
                        wi.setHeight(400);
206
                        wi.setTitle(Messages.getText("symbol_selector"));
207
                }
208
                return wi;
209
        }
210

    
211
        public Object getWindowProfile() {
212
                return WindowInfo.DIALOG_PROFILE;
213
        }
214

    
215
        public void actionPerformed(ActionEvent e) {
216
                // TODO Auto-generated method stub
217

    
218
        }
219

    
220
        public Object getSelectedObject() {
221
                return _newSymbol;
222
        }
223

    
224
        public void setSymbol(Object symbol) {
225
                _newSymbol = (ISymbol) symbol;
226

    
227
        }
228

    
229
}