Statistics
| Revision:

svn-gvsig-desktop / tags / v1_0_2_Build_912 / libraries / libIverUtiles / src / com / iver / utiles / swing / threads / UndefinedProgressMonitor.java @ 11422

History | View | Annotate | Download (7.4 KB)

1
/*
2
 * Created on 10-mar-2006
3
 *
4
 * gvSIG. Sistema de Informaci?n Geogr?fica de la Generalitat Valenciana
5
 *
6
 * Copyright (C) 2004 IVER T.I. and Generalitat Valenciana.
7
 *
8
 * This program is free software; you can redistribute it and/or
9
 * modify it under the terms of the GNU General Public License
10
 * as published by the Free Software Foundation; either version 2
11
 * of the License, or (at your option) any later version.
12
 *
13
 * This program is distributed in the hope that it will be useful,
14
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16
 * GNU General Public License for more details.
17
 *
18
 * You should have received a copy of the GNU General Public License
19
 * along with this program; if not, write to the Free Software
20
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
21
 *
22
 * For more information, contact:
23
 *
24
 *  Generalitat Valenciana
25
 *   Conselleria d'Infraestructures i Transport
26
 *   Av. Blasco Ib??ez, 50
27
 *   46010 VALENCIA
28
 *   SPAIN
29
 *
30
 *      +34 963862235
31
 *   gvsig@gva.es
32
 *      www.gvsig.gva.es
33
 *
34
 *    or
35
 *
36
 *   IVER T.I. S.A
37
 *   Salamanca 50
38
 *   46005 Valencia
39
 *   Spain
40
 *
41
 *   +34 963163400
42
 *   dac@iver.es
43
 */
44
/* CVS MESSAGES:
45
 *
46
 * $Id: UndefinedProgressMonitor.java 11422 2007-04-30 10:46:03Z  $
47
 * $Log$
48
 * Revision 1.3.4.2  2006-11-15 00:08:28  jjdelcerro
49
 * *** empty log message ***
50
 *
51
 * Revision 1.4  2006/11/06 07:29:59  jaume
52
 * organize imports
53
 *
54
 * Revision 1.3  2006/04/18 15:16:14  azabala
55
 * a?adida la posibilidad de personalizar el titulo del dialogo de proceso
56
 *
57
 * Revision 1.2  2006/03/20 16:04:21  azabala
58
 * *** empty log message ***
59
 *
60
 * Revision 1.1  2006/03/14 19:23:58  azabala
61
 * *** empty log message ***
62
 *
63
 *
64
 */
65
package com.iver.utiles.swing.threads;
66

    
67
import java.awt.Frame;
68
import java.awt.GridBagConstraints;
69
import java.awt.GridBagLayout;
70

    
71
import javax.swing.JButton;
72
import javax.swing.JDialog;
73
import javax.swing.JLabel;
74
import javax.swing.JPanel;
75
import javax.swing.JProgressBar;
76

    
77
/**
78
 * Dialog that shows the evolution of the execution of a
79
 * ITask.
80
 * If this ITask is a defined task (we know the number of steps
81
 * it must do) it shows a progress bar.
82
 * 
83
 * If it doesnt, progress bar is filling and emptying
84
 * @author azabala
85
 *
86
 */
87
public class UndefinedProgressMonitor extends JDialog 
88
        implements IProgressMonitorIF{
89

    
90
        
91
        private static final long serialVersionUID = 8776505862813807891L;
92
        private JPanel jContentPane = null;
93
        private JLabel mainTitleLabel = null;
94
        private JLabel noteLabel = null;
95
        private JProgressBar jProgressBar = null;
96
        private JButton cancelButton = null;
97
        boolean canceled = false;
98
        private String title = "Processing...";
99

    
100
        /**
101
         * This is the default constructor
102
         */
103
        public UndefinedProgressMonitor() {
104
                super();
105
                initialize();
106
        }
107
        /**
108
         * Constructor which specify the dialog title 
109
         * (for example:processing, etc)
110
         * @param parent
111
         * @param title
112
         */
113
        public UndefinedProgressMonitor(Frame parent, String title){
114
                super(parent, false);
115
                this.title = title;
116
                initialize();
117
        }
118

    
119
        /**
120
         * This method initializes this
121
         * 
122
         * @return void
123
         * 
124
         * FIXME Internationalize this
125
         */
126
        private void initialize() {
127
                this.setSize(318, 181);
128
                this.setTitle(title);
129
                this.setContentPane(getJContentPane());
130
        }
131

    
132
        /**
133
         * This method initializes jContentPane
134
         * 
135
         * @return javax.swing.JPanel
136
         */
137
        private JPanel getJContentPane() {
138
                if (jContentPane == null) {
139
                        GridBagConstraints gridBagConstraints3 = new GridBagConstraints();
140
                        gridBagConstraints3.insets = new java.awt.Insets(6,97,18,125);
141
                        gridBagConstraints3.gridy = 3;
142
                        gridBagConstraints3.ipadx = 4;
143
                        gridBagConstraints3.ipady = -4;
144
                        gridBagConstraints3.gridx = 0;
145
                        GridBagConstraints gridBagConstraints2 = new GridBagConstraints();
146
                        gridBagConstraints2.insets = new java.awt.Insets(11,43,5,32);
147
                        gridBagConstraints2.gridy = 2;
148
                        gridBagConstraints2.ipadx = 109;
149
                        gridBagConstraints2.ipady = 4;
150
                        gridBagConstraints2.fill = java.awt.GridBagConstraints.NONE;
151
                        gridBagConstraints2.gridwidth = 2;
152
                        gridBagConstraints2.anchor = java.awt.GridBagConstraints.CENTER;
153
                        gridBagConstraints2.gridx = 0;
154
                        GridBagConstraints gridBagConstraints1 = new GridBagConstraints();
155
                        gridBagConstraints1.insets = new java.awt.Insets(9,43,8,32);
156
                        gridBagConstraints1.gridy = 1;
157
                        gridBagConstraints1.ipadx = 180;
158
                        gridBagConstraints1.ipady = 0;
159
                        gridBagConstraints1.fill = java.awt.GridBagConstraints.HORIZONTAL;
160
                        gridBagConstraints1.gridx = 0;
161
                        GridBagConstraints gridBagConstraints = new GridBagConstraints();
162
                        gridBagConstraints.insets = new java.awt.Insets(10,43,8,32);
163
                        gridBagConstraints.gridy = 0;
164
                        gridBagConstraints.ipadx = 148;
165
                        gridBagConstraints.ipady = 11;
166
                        gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
167
                        gridBagConstraints.gridx = 0;
168
                        noteLabel = new JLabel();
169
                        noteLabel.setFont(new java.awt.Font("Dialog", java.awt.Font.PLAIN, 12));
170
                        noteLabel.setText("noteLabel");
171
                        mainTitleLabel = new JLabel();
172
                        mainTitleLabel.setText("mainTittleLabel");
173
                        mainTitleLabel.setFont(new java.awt.Font("Dialog", java.awt.Font.BOLD, 12));
174
                        jContentPane = new JPanel();
175
                        jContentPane.setLayout(new GridBagLayout());
176
                        jContentPane.add(mainTitleLabel, gridBagConstraints);
177
                        jContentPane.add(noteLabel, gridBagConstraints1);
178
                        jContentPane.add(getJProgressBar(), gridBagConstraints2);
179
                        jContentPane.add(getCancelButton(), gridBagConstraints3);
180
                }
181
                return jContentPane;
182
        }
183

    
184
        /**
185
         * This method initializes jProgressBar        
186
         *         
187
         * @return javax.swing.JProgressBar        
188
         */
189
        private JProgressBar getJProgressBar() {
190
                if (jProgressBar == null) {
191
                        jProgressBar = new JProgressBar();
192
                }
193
                return jProgressBar;
194
        }
195

    
196
        /**
197
         * This method initializes cancelButton        
198
         *         
199
         * @return javax.swing.JButton        
200
         */
201
        private JButton getCancelButton() {
202
                if (cancelButton == null) {
203
                        cancelButton = new JButton();
204
                        cancelButton.setText("cancelar");
205
                        cancelButton.addActionListener(new java.awt.event.ActionListener() {
206
                                public void actionPerformed(java.awt.event.ActionEvent e) {
207
                                        cancel();
208
                                }
209
                        });
210
                        cancelButton.addActionListener(new java.awt.event.ActionListener() {
211
                                public void actionPerformed(java.awt.event.ActionEvent e) {
212
                                        cancel();
213
                                }
214
                        });
215
                }
216
                return cancelButton;
217
        }
218

    
219
        public void setInitialStep(int step) {
220
                jProgressBar.setMinimum(step);
221
        }
222

    
223
        public void setLastStep(int step) {
224
                jProgressBar.setMaximum(step);
225
        }
226

    
227
        public void setCurrentStep(int step) {
228
                jProgressBar.setValue(step);
229
        }
230

    
231
        public int getInitialStep() {
232
                return jProgressBar.getMinimum();
233
        }
234

    
235
        public int getLastStep() {
236
                return jProgressBar.getMaximum();
237
        }
238

    
239
        public int getCurrentStep() {
240
                return jProgressBar.getValue();
241
        }
242

    
243
        public void setIndeterminated(boolean indeterminated) {
244
                jProgressBar.setIndeterminate(indeterminated);
245
        }
246

    
247
        public boolean isIndeterminated() {
248
                return jProgressBar.isIndeterminate();
249
        }
250

    
251
        public void setBarStringDrawed(boolean stringDrawed) {
252
                jProgressBar.setStringPainted(stringDrawed);
253
        }
254

    
255
        public void setBarString(String barString) {
256
                jProgressBar.setString(barString);
257
        }
258

    
259
        public void setMainTitleLabel(String text) {
260
                mainTitleLabel.setText(text);
261
        }
262

    
263
        public void setNote(String note) {
264
                noteLabel.setText(note);
265
        }
266

    
267
        public void cancel() {
268
                canceled = true;
269
        }
270

    
271
//        public void taskInBackground() {
272
//                //setModal(false);
273
//        }
274

    
275
        public boolean isCanceled() {
276
                return canceled == true;
277
        }
278

    
279
        public void close() {
280
                this.dispose();
281
        }
282

    
283
        public void open() {
284
                this.setVisible(true);
285
        }
286

    
287
}  //  @jve:decl-index=0:visual-constraint="30,10"