Statistics
| Revision:

root / tags / v2_0_0_Build_2049 / extensions / org.gvsig.app.document.table.app / org.gvsig.app.document.table.app.mainplugin / src / main / java / org / gvsig / app / project / documents / table / gui / TableProperties.java @ 38497

History | View | Annotate | Download (10.5 KB)

1
/* gvSIG. Geographic Information System of the Valencian Government
2
 *
3
 * Copyright (C) 2007-2008 Infrastructures and Transports Department
4
 * of the Valencian Government (CIT)
5
 * 
6
 * This program is free software; you can redistribute it and/or
7
 * modify it under the terms of the GNU General Public License
8
 * as published by the Free Software Foundation; either version 2
9
 * of the License, or (at your option) any later version.
10
 * 
11
 * This program is distributed in the hope that it will be useful,
12
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
 * GNU General Public License for more details.
15
 * 
16
 * You should have received a copy of the GNU General Public License
17
 * along with this program; if not, write to the Free Software
18
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
19
 * MA  02110-1301, USA.
20
 * 
21
 */
22
package org.gvsig.app.project.documents.table.gui;
23

    
24
import java.awt.GridLayout;
25

    
26
import javax.swing.JComponent;
27
import javax.swing.JPanel;
28

    
29
import org.gvsig.andami.PluginServices;
30
import org.gvsig.andami.ui.mdiManager.SingletonWindow;
31
import org.gvsig.andami.ui.mdiManager.WindowInfo;
32
import org.gvsig.app.project.documents.table.TableDocument;
33
import org.gvsig.fmap.mapcontrol.dal.feature.swing.table.FeatureTableConfigurationPanel;
34
import org.gvsig.gui.beans.AcceptCancelPanel;
35

    
36
/**
37
 * Table properties dialog.
38
 * 
39
 * @author 2004-2005 Fernando Gonz?lez Cort?s
40
 * @author 2005- Vicente Caballero
41
 * @author 2009- <a href="cordinyana@gvsig.org">C?sar Ordi?ana</a> - gvSIG team
42
 */
43
public class TableProperties extends JPanel implements SingletonWindow {
44

    
45
    /**
46
         *
47
         */
48
    private static final long serialVersionUID = -3280622997496976100L;
49

    
50
    private javax.swing.JLabel jLabel = null;
51
    private javax.swing.JTextField txtName = null;
52
    private javax.swing.JLabel jLabel1 = null;
53
    private javax.swing.JTextField txtDate = null;
54
    private javax.swing.JTextField txtOwner = null;
55
    private javax.swing.JLabel jLabel2 = null;
56
    private javax.swing.JLabel jLabel3 = null;
57
    private javax.swing.JScrollPane jScrollPane = null;
58
    private javax.swing.JTextArea txtComments = null;
59
    private TableDocument tableDocument;
60
    private AcceptCancelPanel okCancelPanel = null;
61
    private javax.swing.JPanel jPanel = null;
62
    private javax.swing.JPanel jPanel1 = null;
63

    
64
    private FeatureTableConfigurationPanel configPanel;
65

    
66
    /**
67
     * This is the default constructor
68
     * 
69
     * @param f
70
     *            Frame padre del di?logo
71
     * @param t
72
     *            Tabla que se representa en el di?logo
73
     */
74
    public TableProperties(TableDocument t) {
75
        tableDocument = t;
76
        initialize();
77
    }
78

    
79
    /**
80
     * This method initializes this
81
     */
82
    private void initialize() {
83

    
84
        java.awt.FlowLayout layFlowLayout7 = new java.awt.FlowLayout();
85
        layFlowLayout7.setHgap(0);
86
        setLayout(layFlowLayout7);
87
        add(getJPanel(), null);
88
        add(getJPanel1(), null);
89
        add(getJLabel3(), null);
90
        add(getJScrollPane(), null);
91
        add(getTableConfigurationPanel(), null);
92
        add(getOkCancelPanel(), null);
93
        // add(getBtnOk(), null);
94
        // add(getJLabel4(), null);
95
        // add(getBtnCancel(), null);
96

    
97
        txtName.setText(tableDocument.getName());
98
        txtDate.setText(tableDocument.getCreationDate());
99
        txtOwner.setText(tableDocument.getOwner());
100
        txtComments.setText(tableDocument.getComment());
101

    
102
        // TODO: provisional hasta que revisemos lo del mapeado de campos.
103
        // tabla.setVisible(true);
104
        // tabla.getTableHeader().setVisible(true);
105
    }
106

    
107
    /**
108
     * This method initializes jLabel
109
     * 
110
     * @return javax.swing.JLabel
111
     */
112
    private javax.swing.JLabel getJLabel() {
113
        if (jLabel == null) {
114
            jLabel = new javax.swing.JLabel();
115
            jLabel.setText(PluginServices.getText(this, "nombre") + ":");
116
        }
117

    
118
        return jLabel;
119
    }
120

    
121
    /**
122
     * This method initializes txtName
123
     * 
124
     * @return javax.swing.JTextField
125
     */
126
    private javax.swing.JTextField getTxtName() {
127
        if (txtName == null) {
128
            txtName = new javax.swing.JTextField();
129
            txtName.setPreferredSize(new java.awt.Dimension(190, 20));
130
        }
131

    
132
        return txtName;
133
    }
134

    
135
    /**
136
     * This method initializes jLabel1
137
     * 
138
     * @return javax.swing.JLabel
139
     */
140
    private javax.swing.JLabel getJLabel1() {
141
        if (jLabel1 == null) {
142
            jLabel1 = new javax.swing.JLabel();
143
            jLabel1
144
                .setText(PluginServices.getText(this, "creation_date") + ":");
145
        }
146

    
147
        return jLabel1;
148
    }
149

    
150
    /**
151
     * This method initializes txtDate
152
     * 
153
     * @return javax.swing.JTextField
154
     */
155
    private javax.swing.JTextField getTxtDate() {
156
        if (txtDate == null) {
157
            txtDate = new javax.swing.JTextField();
158
            txtDate.setPreferredSize(new java.awt.Dimension(190, 20));
159
            txtDate.setEditable(false);
160
            txtDate.setBackground(java.awt.Color.white);
161
        }
162

    
163
        return txtDate;
164
    }
165

    
166
    /**
167
     * This method initializes txtOwner
168
     * 
169
     * @return javax.swing.JTextField
170
     */
171
    private javax.swing.JTextField getTxtOwner() {
172
        if (txtOwner == null) {
173
            txtOwner = new javax.swing.JTextField();
174
            txtOwner.setPreferredSize(new java.awt.Dimension(190, 20));
175
        }
176

    
177
        return txtOwner;
178
    }
179

    
180
    /**
181
     * This method initializes jLabel2
182
     * 
183
     * @return javax.swing.JLabel
184
     */
185
    private javax.swing.JLabel getJLabel2() {
186
        if (jLabel2 == null) {
187
            jLabel2 = new javax.swing.JLabel();
188
            jLabel2.setText(PluginServices.getText(this, "owner") + ":");
189
        }
190

    
191
        return jLabel2;
192
    }
193

    
194
    /**
195
     * This method initializes jLabel3
196
     * 
197
     * @return javax.swing.JLabel
198
     */
199
    private javax.swing.JLabel getJLabel3() {
200
        if (jLabel3 == null) {
201
            jLabel3 = new javax.swing.JLabel();
202
            jLabel3.setText(PluginServices.getText(this, "comentarios") + ":");
203
            jLabel3.setPreferredSize(new java.awt.Dimension(320, 16));
204
        }
205

    
206
        return jLabel3;
207
    }
208

    
209
    /**
210
     * This method initializes jScrollPane
211
     * 
212
     * @return javax.swing.JScrollPane
213
     */
214
    private javax.swing.JScrollPane getJScrollPane() {
215
        if (jScrollPane == null) {
216
            jScrollPane = new javax.swing.JScrollPane();
217
            jScrollPane.setViewportView(getTxtComments());
218
            jScrollPane.setPreferredSize(new java.awt.Dimension(320, 70));
219
        }
220

    
221
        return jScrollPane;
222
    }
223

    
224
    /**
225
     * This method initializes txtComments
226
     * 
227
     * @return javax.swing.JTextArea
228
     */
229
    private javax.swing.JTextArea getTxtComments() {
230
        if (txtComments == null) {
231
            txtComments = new javax.swing.JTextArea();
232
        }
233

    
234
        return txtComments;
235
    }
236

    
237
    private FeatureTableConfigurationPanel getTableConfigurationPanel() {
238
        if (configPanel == null) {
239
            configPanel =
240
                new FeatureTableConfigurationPanel(tableDocument
241
                    .getFeatureStoreModel().getCurrentFeatureTableModel());
242
        }
243
        return configPanel;
244
    }
245

    
246
    private AcceptCancelPanel getOkCancelPanel() {
247
        if (okCancelPanel == null) {
248
            okCancelPanel =
249
                new AcceptCancelPanel(new java.awt.event.ActionListener() {
250

    
251
                    public void actionPerformed(java.awt.event.ActionEvent e) {
252
                        tableDocument.setName(txtName.getText());
253
                        tableDocument.setCreationDate(txtDate.getText());
254
                        tableDocument.setOwner(txtOwner.getText());
255
                        tableDocument.setComment(txtComments.getText());
256
                        
257
                        getTableConfigurationPanel().accept();
258

    
259
                        PluginServices.getMDIManager().closeWindow(
260
                            TableProperties.this);
261
                    }
262
                }, new java.awt.event.ActionListener() {
263

    
264
                    public void actionPerformed(java.awt.event.ActionEvent e) {
265
                            
266
                        getTableConfigurationPanel().cancel();
267
                        
268
                        PluginServices.getMDIManager().closeWindow(
269
                            TableProperties.this);
270
                    }
271
                });
272
            okCancelPanel.setPreferredSize(new java.awt.Dimension(339, 30));
273
        }
274
        return okCancelPanel;
275
    }
276

    
277
    /**
278
     * This method initializes jPanel
279
     * 
280
     * @return javax.swing.JPanel
281
     */
282
    private javax.swing.JPanel getJPanel() {
283
        if (jPanel == null) {
284
            jPanel = new javax.swing.JPanel();
285

    
286
            /*
287
             * java.awt.FlowLayout layFlowLayout9 = new java.awt.FlowLayout();
288
             * layFlowLayout9.setAlignment(java.awt.FlowLayout.LEFT);
289
             * layFlowLayout9.setVgap(9);
290
             * jPanel.setLayout(layFlowLayout9);
291
             */
292

    
293
            GridLayout layout = new GridLayout(3, 1);
294
            layout.setVgap(5);
295
            jPanel.setLayout(layout);
296

    
297
            jPanel.add(getJLabel(), null);
298
            jPanel.add(getJLabel1(), null);
299
            jPanel.add(getJLabel2(), null);
300
            jPanel.setPreferredSize(new java.awt.Dimension(130, 80));
301
        }
302

    
303
        return jPanel;
304
    }
305

    
306
    /**
307
     * This method initializes jPanel1
308
     * 
309
     * @return javax.swing.JPanel
310
     */
311
    private javax.swing.JPanel getJPanel1() {
312
        if (jPanel1 == null) {
313
            jPanel1 = new javax.swing.JPanel();
314

    
315
            java.awt.FlowLayout layFlowLayout8 = new java.awt.FlowLayout();
316
            layFlowLayout8.setAlignment(java.awt.FlowLayout.LEFT);
317
            jPanel1.setLayout(layFlowLayout8);
318
            jPanel1.add(getTxtName(), null);
319
            jPanel1.add(getTxtDate(), null);
320
            jPanel1.add(getTxtOwner(), null);
321
            jPanel1.setPreferredSize(new java.awt.Dimension(200, 80));
322
        }
323

    
324
        return jPanel1;
325
    }
326

    
327
    /**
328
     * @see com.iver.mdiApp.ui.MDIManager.IWindow#getWindowInfo()
329
     */
330
    public WindowInfo getWindowInfo() {
331
        WindowInfo m_viewinfo = new WindowInfo();
332
        m_viewinfo.setTitle(PluginServices.getText(this, "propiedades_tabla"));
333
        m_viewinfo.setWidth(349);
334
        m_viewinfo.setHeight(375);
335

    
336
        return m_viewinfo;
337
    }
338

    
339
    /**
340
     * @see org.gvsig.andami.ui.mdiManager.SingletonWindow#getWindowModel()
341
     */
342
    public Object getWindowModel() {
343
        return tableDocument;
344
    }
345

    
346
    public Object getWindowProfile() {
347
        return WindowInfo.PROPERTIES_PROFILE;
348
    }
349
}