Revision 34875

View differences:

tags/tmp_build/frameworks/_fwAndami/schemas/andami-config.xml
1
<andami-config locale-language="es" locale-country="ES" locale-variant="es" pluginsDirectory="c:\tirar">
2
	<andami update="yes"/>
3
	<plugin name="com.iver.cit.gvsig" update="yes"/>
4
	<plugin name="com.iver.core" update="no"/>
5
	<andami-options>
6
	  <option name="CustomOption1" value="customValue1"/>
7
	  <icon-theme name="DefaultTheme" resource="iconThemes/default" basedir="iconThemes" />
8
	</andami-options>
9
</andami-config>
0 10

  
tags/tmp_build/frameworks/_fwAndami/schemas/sample-plugins-persistence.xml
1
<?xml version="1.0" encoding="ISO-8859-1"?>
2
<plugins-status>
3
	<plugin name="gvsig" lastUpdate="237628686">
4
		<xml-entity name="config">
5
			<property name="dataDirectory" value="c:\"/>
6
			<xml-entity>
7
				<property name="dataDirectory" value="c:\"/>
8
				<property name="dataDirectory" value="c:\"/>
9
				<property name="dataDirectory" value="c:\"/>
10
			</xml-entity>
11
		</xml-entity>
12
		<bookmarks>
13
			<bookmark text="Recientes/raster">
14
				<xml-entity>
15
					<property name="projection" value="EPSG:3403"/>
16
					<property name="boundinBox" value="12,12,115,115"/>
17
				</xml-entity>
18
			</bookmark>
19
		</bookmarks>
20
		<windows>
21
			<window id="0" rectangle="0,0,150,150"/>
22
			<window id="2" rectangle="50,50,150,150"/>
23
			<window id="8" rectangle="100,100,150,150"/>
24
			<window id="12" rectangle="150,150,150,150"/>
25
		</windows>
26
	</plugin>
27
	<tool-bars>
28
		<tool-bar name="gvsig.herramientas" x-position="0" y-position="1"/>
29
		<tool-bar name="gvsig.herramientas" x-position="0" y-position="0"/>
30
	</tool-bars>
31
</plugins-status>
0 32

  
tags/tmp_build/frameworks/_fwAndami/schemas/sample-config.xml
1
<?xml version="1.0" encoding="ISO-8859-1"?>
2
<plugin-config>
3
	<icon src="images/logoGVA.gif" text="gvSIG"/>
4
	<resourceBundle name="text"/>
5
	<import plugin-name="com.iver.cit.gvsig" />
6
	<labelSet class="com.iver.cit.gvsig.gui.View">
7
		<label id="1" size="100"/>
8
		<label id="2" size="230"/>
9
	</labelSet>
10
	<libraries>
11
		<library file="com.iver.cit.gvsig.jar"/>
12
		<library file="wmsclient.jar"/>	
13
	</libraries>
14
	<extensions>
15
		<extension>
16
			<class name="com.iver.cit.gvsig.ProjectExtension"/>
17
			<menu text="Archivo/nuevo_proyecto" 
18
				key="n" mnemonic="n" 
19
				tooltip="nuevo_tooltip"
20
				action-command="NUEVO" icon="images/new.png"/>
21
			<menu text="Archivo/abrir_proyecto" 
22
				key="a" mnemonic="a" 
23
				tooltip="abrir_tooltip"
24
				action-command="ABRIR" icon="images/open.png"/>
25
			<menu text="Archivo/guardar_proyecto" 
26
				key="g" mnemonic="g" 
27
				tooltip="guardar_tooltip"
28
				action-command="GUARDAR" icon="images/save.png"/>
29

  
30
			<toolBar>
31
				<tool icon="images/new.png" tooltip="nuevo_tooltip"
32
					action-command="NUEVO"/>
33
				<tool icon="images/open.png" tooltip="abrir_tooltip"
34
					action-command="ABRIR"/>
35
				<tool icon="images/save.png" tooltip="guardar_tooltip"
36
					action-command="GUARDAR"/>
37

  
38
				<!-- these will be added to the containing toolbar -->
39
				<combo-scale
40
					name="JPEG Quality"
41
					elements="15;30;60;70;80;90;100"
42
					value="80"
43
					action-command="JPEG_QUALITY" />
44

  
45
				<combo-button
46
					name="Copy/paste tools">
47
				  <combo-button-element icon="images/scissor.png" action-command="CUT" />
48
				  <combo-button-element icon="images/paste.png" action-command="PASTE" />
49
				  <combo-button-element icon="images/copy.png" action-command="COPY" />
50
				</combo-button>
51
			</toolBar>
52

  
53
		</extension>
54

  
55
		<extension>
56
			<class name="com.iver.cit.gvsig.ZoomPrev"/>
57
			<menu text="Vista/Zoom_Previo" icon="images/ZoomPrevio.png"/>
58
			<tool-bar name="Herramientas">
59
				<action-tool icon="images/ZoomPrevio.png" action-command="ZOOM_PREV" tooltip="Zoom_Previo" position="11"/>
60
			</tool-bar>
61
			
62
			<!-- these will be added to the status-bar (because they are not contained in any toolbar) -->					
63
			<combo-scale 
64
		  		name="Scale"
65
		  		label="Scale:"
66
		  		elements="1000;2000;5000;10000;25000;50000;100000;200000;500000;1000000;2000000;5000000"
67
	  			value="10000"
68
	  			action-command="CHANGE_SCALE" />
69

  
70
			<combo-button
71
				name="Tool Mode">
72
			  <combo-button-element icon="images/once.png" action-command="USE_ONCE" />
73
			  <combo-button-element icon="images/sticky-tool.png" action-command="UNTIL_CHANGED" />
74
			</combo-button>
75
		</extension>
76
		<extension processing-position="2">
77
			<class name="com.iver.cit.gvsig.ViewControls"/>
78
			<menus>
79
				<menu text="Vista/Zoom_Completo" action-command="FULL" icon="images/MapContents.png" tooltip="Zoom completo a la v?sta"/>
80
				<menu text="Vista/Zoom_Select" action-command="ZOOM_SELECT" icon="image/Select.png"/>
81
				<menu text="Vista/Encuadre" action-command="ENCUADRE" icon="images/encuadre.png"/>
82
				<menu text="Vista/Seleccion_por_tema" action-command="SELECTIONBYSHAPE"/>
83
				<menu text="Vista/configurar_localizador" action-command="CONFIG_LOCATOR"/>		
84
				<menu text="Vista/propiedades" action-command="PROPERTIES"/>
85
			</menus>
86
			<tool-bar name="Herramientas" y-position="1">
87
				<action-tool icon="images/MapContents.png" action-command="FULL" tooltip="Zoom_Completo" position="1"/>
88
				<action-tool icon="images/encuadre.png" action-command="ENCUADRE" tooltip="gestion_encuadre" last="true" position="2"/>			
89
				<selectable-tool group="grupo1" default="true" icon="images/ZoomIn.png" action-command="ZOOM_IN" tooltip="Zoom_M?s" position="3"/>
90
				<selectable-tool group="grupo1" icon="images/ZoomOut.png" action-command="ZOOM_OUT" position="4"/>
91
				<selectable-tool group="grupo1" icon="images/Pan.png" action-command="PAN"  tooltip="Encuadre" position="5"/>
92
				<selectable-tool group="grupo1" icon="images/Identify.png" action-command="INFO"  tooltip="informacion" position="6" />
93
				<selectable-tool group="grupo2" icon="images/Distancia.png" action-command="MEDICION"  tooltip="medir_distancias" position="7"/>
94
				<selectable-tool group="grupo2" icon="images/Poligono16.png" action-command="AREA"  tooltip="medir_area" position="8"/>
95
				<selectable-tool group="grupo2" default="true" icon="images/Select.png" action-command="SELPOINT"  tooltip="seleccionar_por_punto" position="9"/>
96
				<selectable-tool group="grupo2" icon="images/SelEspacial2b.png" action-command="SELRECT"  tooltip="seleccionar_por_rectangulo" position="10"/>
97
			</tool-bar>
98
		</extension>
99
		<extension>
100
			<class name="com.iver.cit.gvsig.ThemeControls"/>
101
			<menu text="Tema/propiedades"/>
102
		</extension>
103
	</extensions>
104

  
105
	<file-extensions>
106
		<file-extension description="DGNfiles" ends-with="dgn" dialog="openLayer">
107
			<class name="com.iver.cit.gvsig.DGNFileExtension"/>
108
		</file-extension>
109
		<file-extension description="Rasterfiles" ends-with="ecw,tif,tiff,jpg,png" dialog="openLayer">
110
			<class name="com.iver.cit.gvsig.RasterFileExtension"/>
111
		</file-extension>
112
	</file-extensions>
113
</plugin-config>
0 114

  
tags/tmp_build/frameworks/_fwAndami/.project
1
<?xml version="1.0" encoding="UTF-8"?>
2
<projectDescription>
3
	<name>_fwAndami</name>
4
	<comment></comment>
5
	<projects>
6
	</projects>
7
	<buildSpec>
8
		<buildCommand>
9
			<name>org.eclipse.jdt.core.javabuilder</name>
10
			<arguments>
11
			</arguments>
12
		</buildCommand>
13
		<buildCommand>
14
			<name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
15
			<triggers>full,incremental,</triggers>
16
			<arguments>
17
				<dictionary>
18
					<key>LaunchConfigHandle</key>
19
					<value>&lt;project&gt;/.externalToolBuilders/Ant.launch</value>
20
				</dictionary>
21
			</arguments>
22
		</buildCommand>
23
		<buildCommand>
24
			<name>de.loskutov.FileSync.FSBuilder</name>
25
			<arguments>
26
			</arguments>
27
		</buildCommand>
28
	</buildSpec>
29
	<natures>
30
		<nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
31
		<nature>org.eclipse.jdt.core.javanature</nature>
32
		<nature>org.eclipse.jem.beaninfo.BeanInfoNature</nature>
33
	</natures>
34
</projectDescription>
0 35

  
tags/tmp_build/frameworks/_fwAndami/gvSIG.bat
1
SET PATH=C:\Documents and Settings\MyHome\Workspaces\gvsig1.9\binaries3D\w32;%PATH%
2
echo %PATH%
3
java -cp andami.jar;./lib/castor-0.9.5.3-xml.jar;./lib/log4j-1.2.8.jar;./lib/javaws.jar;./lib/iver-utiles.jar;./lib/tempFileManager.jar;./lib/xml-apis.jar;./lib/xerces_2_5_0.jar;./lib/commons-codec-1.3.jar;./lib/xmlrpc-2.0.1.jar;./lib/gvsig-i18n.jar;./lib/jcalendar.jar;./lib/kxml2.jar;./lib/JWizardComponent.jar;./lib/looks-2.1.4.jar;./lib/org.gvsig.ui.jar;./lib/jcommon-1.0.10.jar;./lib/jfreechart-1.0.6.jar;./lib/jh.jar;./lib/org.gvsig.exceptions.jar;./lib/jai_core.jar -Djava.library.path=../binaries/w32 -Xmx500M com.iver.andami.Launcher gvSIG gvSIG/extensiones %1
0 4

  
tags/tmp_build/frameworks/_fwAndami/castor.properties
1
org.exolab.castor.indent=true
0 2

  
tags/tmp_build/frameworks/_fwAndami/src/log4j.properties
1
log4j.rootLogger=debug, stdout
2

  
3
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
4
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
5

  
6
# Pattern to output the caller's file name and line number.
7
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n
8

  
0 9

  
tags/tmp_build/frameworks/_fwAndami/src/com/iver/andami/Utilities.java
1
/* gvSIG. Sistema de Informaci?n Geogr?fica de la Generalitat Valenciana
2
 *
3
 * Copyright (C) 2004-2007 IVER T.I. and Generalitat Valenciana.
4
 *
5
 * This program is free software; you can redistribute it and/or
6
 * modify it under the terms of the GNU General Public License
7
 * as published by the Free Software Foundation; either version 2
8
 * of the License, or (at your option) any later version.
9
 *
10
 * This program is distributed in the hope that it will be useful,
11
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
 * GNU General Public License for more details.
14
 *
15
 * You should have received a copy of the GNU General Public License
16
 * along with this program; if not, write to the Free Software
17
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
18
 *
19
 * For more information, contact:
20
 *
21
 *  Generalitat Valenciana
22
 *   Conselleria d'Infraestructures i Transport
23
 *   Av. Blasco Ib??ez, 50
24
 *   46010 VALENCIA
25
 *   SPAIN
26
 *
27
 *      +34 963862235
28
 *   gvsig@gva.es
29
 *      www.gvsig.gva.es
30
 *
31
 *    or
32
 *
33
 *   IVER T.I. S.A
34
 *   Salamanca 50
35
 *   46005 Valencia
36
 *   Spain
37
 *
38
 *   +34 963163400
39
 *   dac@iver.es
40
 */
41
package com.iver.andami;
42

  
43
import java.awt.Component;
44
import java.awt.Container;
45
import java.io.BufferedInputStream;
46
import java.io.BufferedOutputStream;
47
import java.io.DataOutputStream;
48
import java.io.File;
49
import java.io.FileOutputStream;
50
import java.io.IOException;
51
import java.io.InputStream;
52
import java.io.OutputStream;
53
import java.net.ConnectException;
54
import java.net.MalformedURLException;
55
import java.net.URL;
56
import java.net.UnknownHostException;
57
import java.util.Enumeration;
58
import java.util.Hashtable;
59
import java.util.zip.ZipEntry;
60
import java.util.zip.ZipException;
61
import java.util.zip.ZipFile;
62

  
63
import javax.swing.ImageIcon;
64
import javax.swing.RootPaneContainer;
65

  
66
import org.apache.log4j.Logger;
67

  
68
import com.iver.andami.ui.mdiManager.IWindow;
69
import com.iver.andami.ui.splash.MultiSplashWindow;
70

  
71

  
72

  
73
/**
74
 * This class offers several general purpose method, to perform common
75
 * tasks in an easy way.
76
 *
77
 * @version $Revision$
78
 */
79
public class Utilities {
80
	/**
81
     * <b>key</b>: URL, <b>value</b>: path to the downloaded file.
82
     */
83
    private static Hashtable downloadedFiles;
84
    /** DOCUMENT ME! */
85
    private static Logger logger = Logger.getLogger(Utilities.class.getName());
86
	public static final String TEMPDIRECTORYPATH = System.getProperty("java.io.tmpdir")+"/tmp-andami";
87

  
88

  
89
    /**
90
     * Creates an icon from an image path.
91
     *
92
     * @param path Path to the image to be loaded
93
     *
94
     * @return ImageIcon if the image is found, null otherwise
95
     */
96
    public static ImageIcon createImageIcon(String path) {
97
        URL imgURL = null;
98

  
99
        try {
100
            imgURL = new URL("file:" + path);
101
        } catch (MalformedURLException e) {
102
            e.printStackTrace();
103
        }
104

  
105
        if (imgURL != null) {
106
            return new ImageIcon(imgURL);
107
        } else {
108
            return null;
109
        }
110
    }
111

  
112
    /**
113
     * Method which frees the memory from JInternalFrames
114
     *
115
     * @param baseComponent JInternalFrame whose memory is to be
116
     * freed
117
     */
118
    public static void cleanComponent(Component baseComponent) {
119
        try {
120
            cleanComponent(baseComponent, 0);
121
        } catch (Exception ignore) { // give some exception handling...
122
        }
123
    }
124

  
125
    /*    * The "depth" parameter was being used for text output debugging.    * But isn't essential now.  I'll keep it anyways, as it avoids    * calling the garbage collector every recursion.    */
126
    protected static void cleanComponent(Component baseComponent, int depth) {
127
        if (baseComponent == null) // recursion terminating clause
128
         {
129
            return;
130
        }
131

  
132
        if (baseComponent instanceof IWindow){
133
        	return;
134
        }
135

  
136
        Container cont;
137
        Component[] childComponents;
138
        int numChildren; // clean up component containers
139

  
140
        if (baseComponent instanceof Container) { // now clean up container instance variables
141

  
142
            if (baseComponent instanceof RootPaneContainer) { // Swing specialised container
143
                cont = (Container) baseComponent;
144
                numChildren = cont.getComponentCount();
145
                childComponents = cont.getComponents();
146

  
147
                for (int i = 0; i < numChildren; i++) { // remove each component from the current container
148

  
149
                    // each child component may be a container itself
150
                    cleanComponent(childComponents[i], depth + 1);
151
                    ((RootPaneContainer) cont).getContentPane().remove(childComponents[i]);
152
                }
153

  
154
                ((RootPaneContainer) cont).getContentPane().setLayout(null);
155
            } else { // General Swing, and AWT, Containers
156
                cont = (Container) baseComponent;
157
                numChildren = cont.getComponentCount();
158
                childComponents = cont.getComponents();
159

  
160
                for (int i = 0; i < numChildren; i++) //for(int i = 0;i < numChildren;i++)
161
                 {
162
                    // remove each component from the current container                    // each child component may be a container itself
163
                    cleanComponent(childComponents[i], depth + 1);
164
                    cont.remove(childComponents[i]);
165
                }
166

  
167
                cont.setLayout(null);
168
            }
169
        }
170

  
171
        // if component is also a container
172
    }
173

  
174

  
175

  
176
    /**
177
     * Extracts a ZIP file in the provided directory
178
     *
179
     * @param file Compressed file
180
     * @param dir Directory to extract the files
181
     * @param splash The splash window to show the extraction progress
182
     *
183
     * @throws ZipException If there is some problem in the file format
184
     * @throws IOException If there is a problem reading the file
185
     */
186
    public static void extractTo(File file, File dir, MultiSplashWindow splash)
187
        throws ZipException, IOException {
188
        ZipFile zip = new ZipFile(file);
189
        Enumeration e = zip.entries();
190

  
191
		// Pasada para crear las carpetas
192
		while (e.hasMoreElements()) {
193
			ZipEntry entry = (ZipEntry) e.nextElement();
194

  
195
			if (entry.isDirectory()) {
196
				File directorio = new File(dir.getAbsolutePath()
197
						+ File.separator + entry.getName());
198

  
199
				directorio.mkdirs();
200
			}
201

  
202
    		}
203

  
204
		// Pasada para crear los ficheros
205
		e = zip.entries();
206
		while (e.hasMoreElements()) {
207
			ZipEntry entry = (ZipEntry) e.nextElement();
208
			splash.process(30, "Procesando " + entry.getName() + "...");
209
			if (!entry.isDirectory()) {
210
				InputStream in = zip.getInputStream(entry);
211
				OutputStream out = new FileOutputStream(dir + File.separator
212
						+ entry.getName());
213
				BufferedInputStream bin = new BufferedInputStream(in);
214
				BufferedOutputStream bout = new BufferedOutputStream(out);
215

  
216
				int i;
217

  
218
				while ((i = bin.read()) != -1) {
219
					bout.write(i);
220
				}
221

  
222
				bout.flush();
223
				bout.close();
224
				bin.close();
225

  
226
			}
227

  
228
		}
229

  
230
		zip.close();
231
		zip = null;
232
		System.gc();
233

  
234
	}
235
    /**
236
     * Returns the content of this URL as a file from the file system.<br>
237
     * <p>
238
     * If the URL has been already downloaded in this session and notified
239
     * to the system using the static <b>Utilities.addDownloadedURL(URL)</b>
240
     * method, it can be restored faster from the file system avoiding to
241
     * download it again.
242
     * </p>
243
     * @param url
244
     * @return File containing this URL's content or null if no file was found.
245
     */
246
    private static File getPreviousDownloadedURL(URL url){
247
        File f = null;
248
        if (downloadedFiles!=null && downloadedFiles.containsKey(url)){
249
            String filePath = (String) downloadedFiles.get(url);
250
            f = new File(filePath);
251
        }
252
        return f;
253
    }
254

  
255
    /**
256
     * Adds an URL to the table of downloaded files for further uses. If the URL
257
     * already exists in the table its filePath value is updated to the new one and
258
     * the old file itself is removed from the file system.
259
     *
260
     * @param url
261
     * @param filePath
262
     */
263
    private static void addDownloadedURL(URL url, String filePath){
264
        if (downloadedFiles==null)
265
            downloadedFiles = new Hashtable();
266
        String fileName = (String) downloadedFiles.put(url, filePath);
267
        //JMV: No se puede eliminar el anterior porque puede que alguien lo
268
        // este usando
269
        /*
270
        if (fileName!=null){
271
            File f = new File(fileName);
272
            if (f.exists())
273
                f.delete();
274
        }
275
        */
276
    }
277

  
278
    /**
279
     * Downloads an URL into a temporary file that is removed the next time the
280
     * tempFileManager class is called, which means the next time gvSIG is launched.
281
     *
282
     * @param url
283
     * @param name
284
     * @return
285
     * @throws IOException
286
     * @throws ServerErrorResponseException
287
     * @throws ConnectException
288
     * @throws UnknownHostException
289
     */
290
    public static File downloadFile(URL url, String name) throws IOException,ConnectException, UnknownHostException{
291
    	File f = null;
292

  
293
	    try{
294
	        if ((f=getPreviousDownloadedURL(url))==null){
295
	        	File tempDirectory = new File(TEMPDIRECTORYPATH);
296
	        	if (!tempDirectory.exists())
297
	        		tempDirectory.mkdir();
298

  
299
	        	f = new File(TEMPDIRECTORYPATH+"/"+name+System.currentTimeMillis());
300

  
301
	            System.out.println("downloading '"+url.toString()+"' to: "+f.getAbsolutePath());
302

  
303
	            f.deleteOnExit();
304
                DataOutputStream dos = new DataOutputStream( new BufferedOutputStream(new FileOutputStream(f)));
305
                byte[] buffer = new byte[1024*256];
306
                InputStream is = url.openStream();
307
                long readed = 0;
308
                for (int i = is.read(buffer); i>0; i = is.read(buffer)){
309
                    dos.write(buffer, 0, i);
310
                    readed += i;
311
                }
312
                dos.close();
313
                addDownloadedURL(url, f.getAbsolutePath());
314
	        }
315
	    } catch (IOException io) {
316
	    	io.printStackTrace();
317
	    }
318

  
319
	    return f;
320
	}
321

  
322
    /**
323
     * Cleans every temporal file previously downloaded.
324
     */
325
    public static void cleanUpTempFiles() {
326
    	try{
327
    		File tempDirectory = new File(TEMPDIRECTORYPATH);
328

  
329
    		File[] files = tempDirectory.listFiles();
330
    		if (files!=null) {
331
    			for (int i = 0; i < files.length; i++) {
332
    				 // s?lo por si en un futuro se necesitan crear directorios temporales
333
    				if (files[i].isDirectory())	deleteDirectory(files[i]);
334
    				files[i].delete();
335
    			}
336
    		}
337
    		tempDirectory.delete();
338
    	} catch (Exception e) {	}
339

  
340
    }
341
    /**
342
     * Recursive directory delete.
343
     * @param f
344
     */
345
	private static void deleteDirectory(File f) {
346
		File[] files = f.listFiles();
347
		for (int i = 0; i < files.length; i++) {
348
			if (files[i].isDirectory()) deleteDirectory(files[i]);
349
			files[i].delete();
350
		}
351

  
352
	}
353

  
354
    /**
355
     * Creates a temporary file with a the provided name and data. The file
356
     * will be automatically deleted when the application exits. 
357
     * 
358
     * @param fileName Name of the temporary file to create
359
     * @param data The data to store in the file
360
     */
361
    public static File createTemp(String fileName, String data)throws IOException{
362
    	File f = new File(fileName);
363
    	DataOutputStream dos = new DataOutputStream( new BufferedOutputStream(new FileOutputStream(f)) );
364
		dos.writeBytes(data);
365
		dos.close();
366
    	f.deleteOnExit();
367
    	return f;
368
    }
369

  
370
    /**
371
     * Remove an URL from the system cache. The file will remain in the file
372
     * system for further eventual uses.
373
     * @param request
374
     */
375
	public static void removeURL(URL url) {
376
		if (downloadedFiles != null && downloadedFiles.containsKey(url))
377
			downloadedFiles.remove(url);
378
	}
379
	
380
	/**
381
	 * Creates the directory for temporary files, and returns the path of
382
	 * this directory. If the directory already exists, it just returns
383
	 * its path. Any file or directory created in this special directory
384
	 * will be delete when the application finishes.
385
	 * 
386
	 * @return An String containing the full path to the temporary directory
387
	 */
388
	public static String createTempDirectory(){
389
		File tempDirectory = new File(TEMPDIRECTORYPATH);
390
    	if (!tempDirectory.exists())
391
    		tempDirectory.mkdir();
392
    	return TEMPDIRECTORYPATH;
393
	}
394
}
0 395

  
tags/tmp_build/frameworks/_fwAndami/src/com/iver/andami/ui/AndamiEventQueue.java
1
/* gvSIG. Sistema de Informaci?n Geogr?fica de la Generalitat Valenciana
2
 *
3
 * Copyright (C) 2004 IVER T.I. and Generalitat Valenciana.
4
 *
5
 * This program is free software; you can redistribute it and/or
6
 * modify it under the terms of the GNU General Public License
7
 * as published by the Free Software Foundation; either version 2
8
 * of the License, or (at your option) any later version.
9
 *
10
 * This program is distributed in the hope that it will be useful,
11
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
 * GNU General Public License for more details.
14
 *
15
 * You should have received a copy of the GNU General Public License
16
 * along with this program; if not, write to the Free Software
17
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
18
 *
19
 * For more information, contact:
20
 *
21
 *  Generalitat Valenciana
22
 *   Conselleria d'Infraestructures i Transport
23
 *   Av. Blasco Ib??ez, 50
24
 *   46010 VALENCIA
25
 *   SPAIN
26
 *
27
 *      +34 963862235
28
 *   gvsig@gva.es
29
 *      www.gvsig.gva.es
30
 *
31
 *    or
32
 *
33
 *   IVER T.I. S.A
34
 *   Salamanca 50
35
 *   46005 Valencia
36
 *   Spain
37
 *
38
 *   +34 963163400
39
 *   dac@iver.es
40
 */
41
package com.iver.andami.ui;
42

  
43
import java.awt.AWTEvent;
44
import java.awt.EventQueue;
45

  
46
import com.iver.andami.messages.Messages;
47
import com.iver.andami.messages.NotificationManager;
48

  
49

  
50
/**
51
 * DOCUMENT ME!
52
 *
53
 * @author Fernando Gonz?lez Cort?s
54
 */
55
public class AndamiEventQueue extends EventQueue {
56
	protected void dispatchEvent(AWTEvent event){
57
		try{
58
			super.dispatchEvent(event);
59
		} catch(RuntimeException e){
60
			NotificationManager.addError(e);//Messages.getString("PluginServices.Bug en el c?digo"), e);
61
		} catch (Error e){
62
			NotificationManager.addError(Messages.getString("PluginServices.Error grave de la aplicaci?n.  \n Es conveniente que salgas de la aplicaci?n"), e);
63
		}
64
	}
65
}
0 66

  
tags/tmp_build/frameworks/_fwAndami/src/com/iver/andami/ui/wizard/WizardAndami.java
1
package com.iver.andami.ui.wizard;
2

  
3
import java.awt.BorderLayout;
4

  
5
import javax.swing.ImageIcon;
6
import javax.swing.JPanel;
7

  
8
import jwizardcomponent.CancelAction;
9
import jwizardcomponent.DefaultJWizardComponents;
10
import jwizardcomponent.FinishAction;
11

  
12
import com.iver.andami.PluginServices;
13
import com.iver.andami.ui.mdiManager.IWindow;
14
import com.iver.andami.ui.mdiManager.WindowInfo;
15

  
16
public class WizardAndami extends JPanel implements IWindow {
17
	WindowInfo viewInfo = null;
18
	WizardPanelWithLogo wizardPanel;
19

  
20
	// No deber?an necesitarse un FinishAction y un CancelAction, pero bueno,
21
	// lo mantengo por ahora.
22
	private class CloseAction extends FinishAction
23
	{
24
		IWindow v;
25
		public CloseAction(IWindow view)
26
		{
27
			super(wizardPanel.getWizardComponents());
28
			v = view;
29
		}
30
		public void performAction() {
31
			PluginServices.getMDIManager().closeWindow(v);
32
		}
33

  
34
	}
35
	private class CloseAction2 extends CancelAction
36
	{
37

  
38
		IWindow v;
39
		public CloseAction2(IWindow view)
40
		{
41
			super(wizardPanel.getWizardComponents());
42
			v = view;
43
		}
44
		public void performAction() {
45
			PluginServices.getMDIManager().closeWindow(v);
46
		}
47

  
48
	}
49

  
50

  
51
	public WizardAndami(ImageIcon logo)
52
	{
53
		wizardPanel = new WizardPanelWithLogo(logo);
54
		CloseAction closeAction = new CloseAction(this);
55
		CloseAction2 closeAction2 = new CloseAction2(this);
56
		wizardPanel.getWizardComponents().setFinishAction(closeAction);
57
		wizardPanel.getWizardComponents().setCancelAction(closeAction2);
58

  
59
		this.setLayout(new BorderLayout());
60
		this.add(wizardPanel, BorderLayout.CENTER);
61
	}
62

  
63
	public DefaultJWizardComponents getWizardComponents()
64
	{
65
		return wizardPanel.getWizardComponents();
66
	}
67

  
68

  
69
	public WindowInfo getWindowInfo() {
70
		if (viewInfo == null)
71
		{
72
			viewInfo = new WindowInfo(WindowInfo.MODALDIALOG|WindowInfo.RESIZABLE);
73
		}
74
		return viewInfo;
75
	}
76

  
77
	public Object getWindowProfile() {
78
		// TODO Auto-generated method stub
79
		return WindowInfo.DIALOG_PROFILE;
80
	}
81

  
82
}
0 83

  
tags/tmp_build/frameworks/_fwAndami/src/com/iver/andami/ui/wizard/WizardPanelWithLogo.java
1
package com.iver.andami.ui.wizard;
2

  
3
import java.awt.BorderLayout;
4
import java.awt.Color;
5

  
6
import javax.swing.ImageIcon;
7
import javax.swing.JLabel;
8
import javax.swing.JPanel;
9
import javax.swing.JSeparator;
10

  
11
import jwizardcomponent.CancelAction;
12
import jwizardcomponent.DefaultJWizardComponents;
13
import jwizardcomponent.FinishAction;
14
import jwizardcomponent.common.SimpleButtonPanel;
15

  
16
public class WizardPanelWithLogo extends JPanel {
17
	  DefaultJWizardComponents wizardComponents;
18

  
19
	  JPanel buttonPanel;
20
	  JLabel statusLabel = new JLabel();
21

  
22
	  ImageIcon logo;
23

  
24
	  public WizardPanelWithLogo(ImageIcon logo) {
25
	    this.logo = logo;
26
	    wizardComponents = new DefaultJWizardComponents();
27
	    init();
28
	  }
29

  
30
	  private void init() {
31

  
32

  
33
	    JPanel logoPanel = new JPanel();
34

  
35
	    String fileString;
36
	    if (logo.toString().indexOf("file:") < 0 &&
37
	        logo.toString().indexOf("http:") < 0) {
38
	      fileString = "file:///" +System.getProperty("user.dir") +"/"
39
	                        +logo.toString();
40
	      fileString = fileString.replaceAll("\\\\", "/");
41
	    } else {
42
	      fileString = logo.toString();
43
	    }
44
	    logoPanel.add(new JLabel(logo));
45
	    logoPanel.setBackground(Color.WHITE);
46
	    this.setLayout(new BorderLayout());
47
	    this.add(logoPanel, BorderLayout.WEST);
48
	    this.add(wizardComponents.getWizardPanelsContainer(),
49
	    							BorderLayout.CENTER);
50

  
51
	    JPanel auxPanel = new JPanel(new BorderLayout());
52
	    auxPanel.add(new JSeparator(), BorderLayout.NORTH);
53

  
54
	    buttonPanel = new SimpleButtonPanel(wizardComponents);
55
	    auxPanel.add(buttonPanel);
56
	    this.add(auxPanel, BorderLayout.SOUTH);
57

  
58

  
59
	    wizardComponents.setFinishAction(new FinishAction(wizardComponents) {
60
	      public void performAction() {
61
	        // dispose();
62
	      }
63
	    });
64
	    wizardComponents.setCancelAction(new CancelAction(wizardComponents) {
65
	      public void performAction() {
66
	        // dispose();
67
	      }
68
	    });
69
	  }
70

  
71
	  public DefaultJWizardComponents getWizardComponents(){
72
	    return wizardComponents;
73
	  }
74

  
75
	  public void setWizardComponents(DefaultJWizardComponents aWizardComponents){
76
	    wizardComponents = aWizardComponents;
77
	  }
78

  
79
	  public void show() {
80
	    wizardComponents.updateComponents();
81
	    super.setVisible(true);
82
	  }
83

  
84
}
0 85

  
tags/tmp_build/frameworks/_fwAndami/src/com/iver/andami/ui/wizard/UnsavedDataPanel.java
1
package com.iver.andami.ui.wizard;
2

  
3
import java.awt.BorderLayout;
4
import java.awt.Color;
5
import java.awt.Dimension;
6
import java.awt.FlowLayout;
7
import java.awt.GridBagConstraints;
8
import java.awt.GridBagLayout;
9
import java.awt.Insets;
10
import java.awt.event.ActionEvent;
11
import java.awt.event.ActionListener;
12
import java.awt.event.MouseEvent;
13
import java.awt.event.MouseListener;
14
import java.awt.image.BufferedImage;
15
import java.util.ArrayList;
16
import java.util.Iterator;
17

  
18
import javax.swing.ImageIcon;
19
import javax.swing.JCheckBox;
20
import javax.swing.JLabel;
21
import javax.swing.JPanel;
22
import javax.swing.JScrollPane;
23

  
24
import org.gvsig.gui.beans.swing.JButton;
25

  
26
import com.iver.andami.PluginServices;
27
import com.iver.andami.plugins.status.IUnsavedData;
28
import com.iver.andami.ui.mdiManager.IWindow;
29
import com.iver.andami.ui.mdiManager.WindowInfo;
30

  
31
/**
32
 * Ask for elements to save before application exit
33
 *
34
 *
35
 */
36
public class UnsavedDataPanel extends JPanel implements IWindow, ActionListener {
37
	/**
38
	 *
39
	 */
40
	private static final long serialVersionUID = -4745219917358767905L;
41

  
42

  
43
	private static ImageIcon blanckIcon = null;
44
	private JPanel pResources = null;
45
	private JPanel pButtons = null;
46
	private JScrollPane pScrollList = null;
47
	private myList list = null;
48
	private JLabel lblDescription = null;
49
	private JButton botSave = null;
50
	private JButton botDiscard = null;
51
	private JButton botDontExit = null;
52
	private JPanel pActionButtons = null;
53
	private JPanel pSelectionButtons = null;
54
	private JButton botSelectAll = null;
55
	private JButton botDeselectAll = null;
56

  
57
	private ArrayList listeners = new ArrayList();
58
	private JLabel lblResourceDescription = null;
59
	private IUnsavedData[] unsavedDataList;
60
	private String windowTitle = PluginServices.getText(this, "save_resources");
61

  
62

  
63

  
64
	/**
65
	 * This is the default constructor
66
	 */
67
	public UnsavedDataPanel(IUnsavedData[] unsavedDatalist) {
68
		super();
69
		initialize();
70
		this.setUnsavedDataArray(unsavedDatalist);
71
	}
72

  
73
	/**
74
	 * This method initializes this
75
	 *
76
	 * @return void
77
	 */
78
	private void initialize() {
79
		BorderLayout borderLayout = new BorderLayout();
80
		borderLayout.setHgap(5);
81
		borderLayout.setVgap(5);
82
		lblDescription = new JLabel();
83
		lblDescription.setText(PluginServices.getText(this, "select_resources_to_save_before_exit"));
84
		lblDescription.setPreferredSize(new Dimension(497, 40));
85
		lblDescription.setName("lblDescription");
86
		this.setLayout(borderLayout);
87
		this.setSize(396, 272);
88
		this.add(getPResources(), java.awt.BorderLayout.CENTER);
89
		this.add(getPButtons(), java.awt.BorderLayout.SOUTH);
90
		this.add(lblDescription, BorderLayout.NORTH);
91
	}
92

  
93
	/**
94
	 * This method initializes pResources
95
	 *
96
	 * @return javax.swing.JPanel
97
	 */
98
	private JPanel getPResources() {
99
		if (pResources == null) {
100
			pResources = new JPanel();
101
			pResources.setLayout(new BorderLayout());
102
			pResources.add(getPScrollList(), BorderLayout.CENTER);
103
			pResources.add(getLblResourceDescription(), BorderLayout.SOUTH);
104
		}
105
		return pResources;
106
	}
107

  
108

  
109
	/**
110
	 * This method initializes lblResourceDescription
111
	 *
112
	 * @return javax.swing.JLabel
113
	 */
114
	private JLabel getLblResourceDescription() {
115
		if (lblResourceDescription == null) {
116
			lblResourceDescription = new JLabel();
117
			lblResourceDescription.setText("");
118
			lblResourceDescription.setPreferredSize(new Dimension(38, 50));
119
			lblResourceDescription.setName("lblResourceDescription");
120
		}
121
		return lblResourceDescription;
122
	}
123

  
124

  
125
	/**
126
	 * This method initializes pButtons
127
	 *
128
	 * @return javax.swing.JPanel
129
	 */
130
	private JPanel getPButtons() {
131
		if (pButtons == null) {
132
			BorderLayout borderLayout2 = new BorderLayout();
133
			borderLayout2.setHgap(5);
134
			borderLayout2.setVgap(5);
135
			pButtons = new JPanel();
136
			pButtons.setLayout(borderLayout2);
137
			pButtons.add(getPSelectionButtons(), BorderLayout.NORTH);
138
			pButtons.add(getPActionButtons(), BorderLayout.SOUTH);
139
		}
140
		return pButtons;
141
	}
142

  
143
	/**
144
	 * This method initializes pScrollList
145
	 *
146
	 * @return javax.swing.JScrollPane
147
	 */
148
	private JScrollPane getPScrollList() {
149
		if (pScrollList == null) {
150
			pScrollList = new JScrollPane();
151
			pScrollList.setPreferredSize(new java.awt.Dimension(350,350));
152
			pScrollList.setViewportView(getList());
153
		}
154
		return pScrollList;
155
	}
156

  
157
	/**
158
	 * This method initializes list
159
	 *
160
	 * @return javax.swing.JList
161
	 */
162
	private myList getList() {
163
		if (list == null) {
164
			list = new myList();
165
			list.setBackground(Color.white);
166
		}
167
		return list;
168
	}
169

  
170
	/**
171
	 * This method initializes botSave
172
	 *
173
	 * @return javax.swing.JButton
174
	 */
175
	private JButton getBotSave() {
176
		if (botSave == null) {
177
			botSave = new JButton();
178
			botSave.setName("botSave");
179
			botSave.setToolTipText(PluginServices.getText(this, "save_selected_resources_and_exit"));
180
			botSave.setText(PluginServices.getText(this, "ok"));
181
			botSave.setActionCommand("Accept");
182
			botSave.addActionListener(this);
183
		}
184
		return botSave;
185
	}
186

  
187
	/**
188
	 * This method initializes botDiscard
189
	 *
190
	 * @return javax.swing.JButton
191
	 */
192
	private JButton getBotDiscard() {
193
		if (botDiscard == null) {
194
			botDiscard = new JButton();
195
			botDiscard.setName("botDiscard");
196
			botDiscard.setToolTipText(PluginServices.getText(this, "discard_changes_and_exit"));
197
			botDiscard.setText(PluginServices.getText(this, "discard_changes"));
198
			botDiscard.setActionCommand("Discard");
199
			botDiscard.addActionListener(this);
200
		}
201
		return botDiscard;
202
	}
203

  
204
	/**
205
	 * This method initializes botDontExit
206
	 *
207
	 * @return javax.swing.JButton
208
	 */
209
	private JButton getBotDontExit() {
210
		if (botDontExit == null) {
211
			botDontExit = new JButton();
212
			botDontExit.setName("botDontExit");
213
			botDontExit.setToolTipText(PluginServices.getText(this, "cancel_the_application_termination"));
214
			botDontExit.setText(PluginServices.getText(this, "cancelar"));
215
			botDontExit.setActionCommand("Cancel");
216
			botDontExit.addActionListener(this);
217
		}
218
		return botDontExit;
219
	}
220

  
221
	/**
222
	 * This method initializes pActionButtons
223
	 *
224
	 * @return javax.swing.JPanel
225
	 */
226
	private JPanel getPActionButtons() {
227
		if (pActionButtons == null) {
228
			FlowLayout flowLayout = new FlowLayout();
229
			flowLayout.setAlignment(FlowLayout.RIGHT);
230
			pActionButtons = new JPanel();
231
			pActionButtons.setLayout(flowLayout);
232
			pActionButtons.setName("pActionButtons");
233
			pActionButtons.add(getBotSave(), null);
234
			pActionButtons.add(getBotDiscard(), null);
235
			pActionButtons.add(getBotDontExit(), null);
236
		}
237
		return pActionButtons;
238
	}
239

  
240
	/**
241
	 * This method initializes pSelectionButtons
242
	 *
243
	 * @return javax.swing.JPanel
244
	 */
245
	private JPanel getPSelectionButtons() {
246
		if (pSelectionButtons == null) {
247
			FlowLayout flowLayout1 = new FlowLayout();
248
			flowLayout1.setAlignment(FlowLayout.LEFT);
249
			pSelectionButtons = new JPanel();
250
			pSelectionButtons.setLayout(flowLayout1);
251
			pSelectionButtons.setName("pSelectionButtons");
252
			pSelectionButtons.add(getBotSelectAll(), null);
253
			pSelectionButtons.add(getBotDeselectAll(), null);
254
		}
255
		return pSelectionButtons;
256
	}
257

  
258
	/**
259
	 * This method initializes botSelectAll
260
	 *
261
	 * @return javax.swing.JButton
262
	 */
263
	private JButton getBotSelectAll() {
264
		if (botSelectAll == null) {
265
			botSelectAll = new JButton();
266
			botSelectAll.setText(PluginServices.getText(this, "select_all"));
267
			botSelectAll.setName("botSelectAll");
268
			botSelectAll.setToolTipText(PluginServices.getText(this, "select_all_resources"));
269
			botSelectAll.setActionCommand("SelectAll");
270
			botSelectAll.addActionListener(this);
271
		}
272
		return botSelectAll;
273
	}
274

  
275
	/**
276
	 * This method initializes botDeselectAll
277
	 *
278
	 * @return javax.swing.JButton
279
	 */
280
	private JButton getBotDeselectAll() {
281
		if (botDeselectAll == null) {
282
			botDeselectAll = new JButton();
283
			botDeselectAll.setName("botDeselectAll");
284
			botDeselectAll.setToolTipText(PluginServices.getText(this, "deselect_all_resources"));
285
			botDeselectAll.setText(PluginServices.getText(this, "deselect_all"));
286
			botDeselectAll.setActionCommand("DeselectAll");
287
			botDeselectAll.addActionListener(this);
288
		}
289
		return botDeselectAll;
290
	}
291

  
292
	public WindowInfo getWindowInfo() {
293
		WindowInfo wi = new WindowInfo(WindowInfo.MODALDIALOG
294
				| WindowInfo.RESIZABLE
295
				| WindowInfo.MAXIMIZABLE);
296
		wi.setTitle(windowTitle);
297
		wi.setHeight(270);
298
		wi.setWidth(450);
299
		return wi;
300
	}
301

  
302
	public void setWindowTitle(String windowTitle) {
303
		this.windowTitle = windowTitle;
304
	}
305

  
306
	public void setCancelText(String text, String tooltipText) {
307
		getBotDontExit().setToolTipText(tooltipText);
308
		getBotDontExit().setText(text);
309
	}
310

  
311
	public void setDiscardText(String text, String tooltipText) {
312
		getBotDiscard().setToolTipText(tooltipText);
313
		getBotDiscard().setText(text);
314
	}
315

  
316
	public void setAcceptText(String text, String tooltipText) {
317
		getBotSave().setToolTipText(tooltipText);
318
		getBotSave().setText(text);
319
	}
320

  
321
	public void setHeaderText(String text) {
322
		lblDescription.setText(text);
323
	}
324

  
325
	/**
326
	 * Register a listener to call
327
	 *
328
	 * @param a UnsavedDataPanelListener instance
329
	 */
330
	public void addActionListener(UnsavedDataPanelListener listener){
331
		this.listeners.add(listener);
332
	}
333

  
334
	public void removeActionListener(UnsavedDataPanelListener listener){
335
		this.listeners.remove(listener);
336
	}
337

  
338
	public class UnsavedDataPanelListener {
339
		public void cancel(UnsavedDataPanel panel){
340

  
341
		}
342

  
343
		public void accept(UnsavedDataPanel panel){
344

  
345
		}
346

  
347
		public void discard(UnsavedDataPanel panel) {
348

  
349
		}
350
	}
351

  
352
	private class myList extends JPanel{
353

  
354
		/**
355
		 *
356
		 */
357
		private static final long serialVersionUID = 3179254463477354501L;
358

  
359
		private GridBagConstraints constraints;
360
		private GridBagConstraints constraintsLast;
361

  
362
		public myList(){
363
			super();
364
			initialize();
365
		}
366

  
367
		private void initialize(){
368
			this.setLayout(new GridBagLayout());
369
			this.constraints = new GridBagConstraints();
370
			this.constraints.fill = GridBagConstraints.HORIZONTAL;
371
			this.constraints.gridwidth = GridBagConstraints.REMAINDER;
372
			this.constraints.weightx =0;
373
			this.constraints.gridx =0;
374
			this.constraints.gridy=0;
375
			this.constraints.anchor = GridBagConstraints.WEST;
376
			this.constraints.insets =new Insets(3,3,0,0);
377

  
378
			this.constraintsLast = new GridBagConstraints();
379
			this.constraintsLast.fill = GridBagConstraints.BOTH;
380
			this.constraintsLast.gridheight = GridBagConstraints.REMAINDER;
381
			this.constraintsLast.gridwidth = GridBagConstraints.REMAINDER;
382
			this.constraintsLast.gridx =0;
383
			this.constraintsLast.weightx =1;
384
			this.constraintsLast.weighty =1;
385
			this.constraintsLast.anchor = GridBagConstraints.FIRST_LINE_START;
386

  
387

  
388
		}
389

  
390
		public void addItems(IUnsavedData[] itemList){
391
			int i;
392
			this.removeAll();
393
			if (itemList.length == 0){
394
				return;
395
			}
396

  
397
			for (i=0;i< itemList.length;i++){
398
				this.constraints.gridy = i;
399
				this.add(newItem(itemList[i]), this.constraints);
400
			}
401
			this.constraintsLast.gridy=itemList.length;
402
			this.add(new JLabel(),this.constraintsLast);
403

  
404
		}
405
		public int getItemsCount(){
406
			return this.getComponentCount() -1;
407
		}
408

  
409
		public myUnsavedItem getItem(int i){
410
			if (i>= this.getComponentCount()){
411
				return null;
412
			}
413
			return (myUnsavedItem)this.getComponent(i);
414
		}
415

  
416
		private myUnsavedItem newItem(IUnsavedData itemData){
417
			myUnsavedItem item;
418
			item = new myUnsavedItem(itemData);
419
			item.addMouseListener(new MouseListener(){
420
				public void mouseClicked(MouseEvent e) {
421
					myUnsavedItem item = (myUnsavedItem)e.getComponent();
422
					getLblResourceDescription().setText(item.getDescription());
423
				}
424
				public void mouseEntered(MouseEvent e) {
425
				}
426

  
427
				public void mouseExited(MouseEvent e) {
428
				}
429

  
430
				public void mousePressed(MouseEvent e) {
431
				}
432

  
433
				public void mouseReleased(MouseEvent e) {
434
				}
435

  
436
			});
437
			return item;
438
		}
439

  
440
	}
441

  
442
	private class myUnsavedItem extends JPanel{
443
		/**
444
		 *
445
		 */
446
		private static final long serialVersionUID = -6280057775368437349L;
447
		private JCheckBox chkChecked;
448
		private JLabel lblText;
449
		private IUnsavedData dataItem;
450

  
451
		public myUnsavedItem(IUnsavedData dataItem ){
452
			super();
453
			this.initialize();
454
			this.setData(dataItem);
455
		}
456

  
457
		private void initialize(){
458
			this.setOpaque(false);
459
			BorderLayout layout = new BorderLayout();
460
			layout.setHgap(5);
461
			this.setLayout(layout);
462
			this.add(this.getChkChecked(),BorderLayout.WEST);
463
			this.add(this.getLblText(),BorderLayout.CENTER);
464
		}
465

  
466
		private JLabel getLblText() {
467
			if (lblText == null){
468
				lblText = new JLabel();
469
				lblText.setName("lblText");
470
			}
471
			return lblText;
472
		}
473

  
474
		private JCheckBox getChkChecked() {
475
			if (chkChecked == null){
476
				chkChecked = new JCheckBox();
477
				chkChecked.setName("chkChecked");
478
				chkChecked.setSelected(true);
479
				chkChecked.setOpaque(false);
480
			}
481
			return chkChecked;
482
		}
483

  
484
		public boolean isSelected(){
485
			return getChkChecked().isSelected();
486
		}
487

  
488
		public void setSelected(boolean selected){
489
			getChkChecked().setSelected(selected);
490
		}
491

  
492
		public void setData(IUnsavedData dataItem){
493
			this.dataItem = dataItem;
494
			JLabel lbl = getLblText();
495
			if (dataItem.getIcon() != null){
496
				lbl.setIcon(dataItem.getIcon());
497
			} else{
498
				lbl.setIcon(getBlanckIcon());
499
			}
500
			lbl.setText(dataItem.getResourceName());
... This diff was truncated because it exceeds the maximum size that can be displayed.

Also available in: Unified diff