Statistics
| Revision:

svn-gvsig-desktop / trunk / org.gvsig.desktop / org.gvsig.desktop.plugin / 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 @ 40558

History | View | Annotate | Download (10.6 KB)

1
/**
2
 * gvSIG. Desktop Geographic Information System.
3
 *
4
 * Copyright (C) 2007-2013 gvSIG Association.
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 3
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
 * For any additional information, do not hesitate to contact us
22
 * at info AT gvsig.com, or visit our website www.gvsig.com.
23
 */
24
package org.gvsig.app.project.documents.table.gui;
25

    
26
import java.awt.GridLayout;
27

    
28
import javax.swing.JComponent;
29
import javax.swing.JPanel;
30

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

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

    
47
    /**
48
         *
49
         */
50
    private static final long serialVersionUID = -3280622997496976100L;
51

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

    
66
    private FeatureTableConfigurationPanel configPanel;
67

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

    
81
    /**
82
     * This method initializes this
83
     */
84
    private void initialize() {
85

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

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

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

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

    
120
        return jLabel;
121
    }
122

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

    
134
        return txtName;
135
    }
136

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

    
149
        return jLabel1;
150
    }
151

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

    
165
        return txtDate;
166
    }
167

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

    
179
        return txtOwner;
180
    }
181

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

    
193
        return jLabel2;
194
    }
195

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

    
208
        return jLabel3;
209
    }
210

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

    
223
        return jScrollPane;
224
    }
225

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

    
236
        return txtComments;
237
    }
238

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

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

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

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

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

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

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

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

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

    
305
        return jPanel;
306
    }
307

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

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

    
326
        return jPanel1;
327
    }
328

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

    
338
        return m_viewinfo;
339
    }
340

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

    
348
    public Object getWindowProfile() {
349
        return WindowInfo.PROPERTIES_PROFILE;
350
    }
351
}