Revision 1565

View differences:

org.gvsig.tools/library/tags/org.gvsig.tools-3.0.120/org.gvsig.tools.util/org.gvsig.tools.util.api/src/main/resources/META-INF/services/org.gvsig.tools.library.Library
1
org.gvsig.tools.util.ToolsUtilLibrary
org.gvsig.tools/library/tags/org.gvsig.tools-3.0.120/org.gvsig.tools.util/org.gvsig.tools.util.api/src/main/java/org/gvsig/desktopopen/DesktopOpen.java
1
package org.gvsig.desktopopen;
2

  
3
import java.io.File;
4
import java.net.URI;
5

  
6
public interface DesktopOpen {
7

  
8
    public boolean browse(URI uri);
9

  
10
    public boolean edit(File file);
11

  
12
    public boolean open(File file);
13
    
14
}
org.gvsig.tools/library/tags/org.gvsig.tools-3.0.120/org.gvsig.tools.util/org.gvsig.tools.util.api/src/main/java/org/gvsig/svgsupport/SVGRenderer.java
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 modify it under
7
 * the terms of the GNU General Public License as published by the Free Software
8
 * Foundation; either version 3 of the License, or (at your option) any later
9
 * version.
10
 *
11
 * This program is distributed in the hope that it will be useful, but WITHOUT
12
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
13
 * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
14
 * details.
15
 *
16
 * You should have received a copy of the GNU General Public License along with
17
 * this program; if not, write to the Free Software Foundation, Inc., 51
18
 * Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
19
 *
20
 * For any additional information, do not hesitate to contact us at info AT
21
 * gvsig.com, or visit our website www.gvsig.com.
22
 */
23
package org.gvsig.svgsupport;
24

  
25
import java.awt.Graphics2D;
26
import java.awt.geom.Rectangle2D;
27
import java.io.File;
28
import java.io.IOException;
29
import java.net.URL;
30

  
31
public interface SVGRenderer {
32

  
33
    public Rectangle2D getBounds();
34

  
35
    public void drawInsideRectangle(
36
        Graphics2D g,
37
        Rectangle2D rect,
38
        boolean keepAspectRatio
39
    );
40

  
41
    public void setSource(URL url) throws IOException;
42
    public void setSource(File f) throws IOException;
43

  
44

  
45
    public URL getSource();
46

  
47
}
org.gvsig.tools/library/tags/org.gvsig.tools-3.0.120/org.gvsig.tools.util/org.gvsig.tools.util.api/src/main/java/org/gvsig/svgsupport/SVGSupportManager.java
1
package org.gvsig.svgsupport;
2

  
3
import java.io.File;
4
import java.io.IOException;
5
import java.net.URL;
6

  
7
public interface SVGSupportManager {
8

  
9
    public SVGRenderer createRenderer();    
10
    public SVGRenderer createRenderer(URL source) throws IOException ;
11
    public SVGRenderer createRenderer(File source) throws IOException ;
12
    
13
    
14
}
org.gvsig.tools/library/tags/org.gvsig.tools-3.0.120/org.gvsig.tools.util/org.gvsig.tools.util.api/src/main/java/org/gvsig/dialogremember/DialogRememberManager.java
1

  
2
package org.gvsig.dialogremember;
3

  
4
import java.util.Iterator;
5
import java.util.List;
6

  
7

  
8
public interface DialogRememberManager extends Iterable<DialogRememeber> {
9
    
10
    public boolean exists(String id);
11
    
12
    public DialogRememeber get(String id);
13
    
14
    public DialogRememeber add(String id);
15
    
16
    public DialogRememeber add(String id, int value);
17

  
18
    @Override
19
    public Iterator<DialogRememeber> iterator();
20
    
21
    public List<DialogRememeber> remembers();
22
}
org.gvsig.tools/library/tags/org.gvsig.tools-3.0.120/org.gvsig.tools.util/org.gvsig.tools.util.api/src/main/java/org/gvsig/dialogremember/DialogRememeber.java
1

  
2
package org.gvsig.dialogremember;
3

  
4

  
5
public interface DialogRememeber {
6
    
7
    public String getId();
8
    
9
    public Object getValue();
10
    
11
    public void setValue(Object value);
12
    
13
    public void reset();
14
    
15
    public boolean hasValue();
16
    
17
}
org.gvsig.tools/library/tags/org.gvsig.tools-3.0.120/org.gvsig.tools.util/org.gvsig.tools.util.api/src/main/java/org/gvsig/tools/util/ToolsUtilLocator.java
1
package org.gvsig.tools.util;
2
/**
3
 * gvSIG. Desktop Geographic Information System.
4
 *
5
 * Copyright (C) 2007-2013 gvSIG Association.
6
 *
7
 * This program is free software; you can redistribute it and/or
8
 * modify it under the terms of the GNU General Public License
9
 * as published by the Free Software Foundation; either version 3
10
 * of the License, or (at your option) any later version.
11
 *
12
 * This program is distributed in the hope that it will be useful,
13
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15
 * GNU General Public License for more details.
16
 *
17
 * You should have received a copy of the GNU General Public License
18
 * along with this program; if not, write to the Free Software
19
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
20
 * MA  02110-1301, USA.
21
 *
22
 * For any additional information, do not hesitate to contact us
23
 * at info AT gvsig.com, or visit our website www.gvsig.com.
24
 */
25

  
26

  
27
import org.gvsig.dialogremember.DialogRememberManager;
28
import org.gvsig.filedialogchooser.FileDialogChooserManager;
29
import org.gvsig.svgsupport.SVGSupportManager;
30
import org.gvsig.tools.locator.AbstractLocator;
31
import org.gvsig.tools.locator.Locator;
32
import org.gvsig.tools.locator.LocatorException;
33

  
34
/**
35
 * @author fdiaz
36
 *
37
 */
38
@SuppressWarnings("rawtypes")
39
public class ToolsUtilLocator extends AbstractLocator {
40

  
41
	private static final String LOCATOR_NAME = "ToolsUtilLocator";
42

  
43
	public static final String TOOLS_UTIL_MANAGER_NAME = "org.gvsig.tools.util.manager";
44
	private static final String TOOLS_UTIL_MANAGER_DESCRIPTION = "Tools utilities.";
45

  
46
    public static final String FILE_DIALOG_CHOOSER_MANAGER_NAME = "org.gvsig.filedialogchooser.manager";
47
	private static final String FILE_DIALOG_CHOOSER_MANAGER_DESCRIPTION = "File dialog chooser.";
48

  
49
    public static final String PLUGINS_DIALOGREMEMBERDER_MANAGER_NAME = "DialogReminderManager";
50
    private static final String PLUGINS_DIALOGREMEMBER_MANAGER_DESCRIPTION = "DialogReminderManager";
51
    
52
    public static final String PLUGINS_SVGSUPPORT_MANAGER_NAME = "SVGSupportManager";
53
    private static final String PLUGINS_SVGSUPPORT_MANAGER_DESCRIPTION = "SVGSupportManager";
54
    
55
	private static final ToolsUtilLocator instance = new ToolsUtilLocator();
56

  
57
	private ToolsUtilLocator() {
58

  
59
	}
60

  
61
	/**
62
	 * Return the singleton instance.
63
	 *
64
	 * @return the singleton instance
65
	 */
66
	public static ToolsUtilLocator getInstance() {
67
		return instance;
68
	}
69

  
70
	public String getLocatorName() {
71
		return LOCATOR_NAME;
72
	}
73

  
74
	/**
75
	 * Return a reference to ToolsUtilManager.
76
	 *
77
	 * @return a reference to ToolsUtilManager
78
	 * @throws LocatorException
79
	 *             if there is no access to the class or the class cannot be
80
	 *             instantiated
81
	 * @see Locator#get(String)
82
	 */
83
	public static ToolsUtilManager getToolsUtilManager()
84
			throws LocatorException {
85
		return (ToolsUtilManager) getInstance().get(TOOLS_UTIL_MANAGER_NAME);
86
	}
87

  
88
	/**
89
	 * Registers the Class implementing the ToolsUtilManager interface.
90
	 *
91
	 * @param clazz
92
	 *            implementing the ToolsUtilManager interface
93
	 */
94
	public static void registerToolsUtilManager(Class clazz) {
95
		getInstance().register(TOOLS_UTIL_MANAGER_NAME,
96
		    TOOLS_UTIL_MANAGER_DESCRIPTION, clazz);
97
	}
98

  
99
	public static void registerDefaultToolsUtilManager(Class clazz) {
100
		getInstance().registerDefault(TOOLS_UTIL_MANAGER_NAME,
101
		    TOOLS_UTIL_MANAGER_DESCRIPTION, clazz);
102
	}
103

  
104
	public static FileDialogChooserManager getFileDialogChooserManager()
105
			throws LocatorException {
106
		return (FileDialogChooserManager) getInstance().get(FILE_DIALOG_CHOOSER_MANAGER_NAME);
107
	}
108

  
109
    public static void registerFileDialogChooserManager(Class clazz) {
110
		getInstance().register(FILE_DIALOG_CHOOSER_MANAGER_NAME,
111
		    FILE_DIALOG_CHOOSER_MANAGER_DESCRIPTION, clazz);
112
	}
113

  
114
	public static void registerDefaultFileDialogChooserManager(Class clazz) {
115
		getInstance().registerDefault(FILE_DIALOG_CHOOSER_MANAGER_NAME,
116
		    FILE_DIALOG_CHOOSER_MANAGER_DESCRIPTION, clazz);
117
	}
118

  
119
    public static DialogRememberManager getDialogRemembereManager() throws LocatorException {
120
        return (DialogRememberManager) getInstance().get(PLUGINS_DIALOGREMEMBERDER_MANAGER_NAME);
121
    }
122

  
123
    public static void registerDialogRememberManager(Class clazz) {
124
        getInstance().register(PLUGINS_DIALOGREMEMBERDER_MANAGER_NAME, PLUGINS_DIALOGREMEMBER_MANAGER_DESCRIPTION,
125
                clazz);
126
    }
127

  
128
	public static void registerDefaultDialogRememberManager(Class clazz) {
129
		getInstance().registerDefault(PLUGINS_SVGSUPPORT_MANAGER_NAME,
130
		    PLUGINS_SVGSUPPORT_MANAGER_DESCRIPTION, clazz);
131
	}
132

  
133
    public static SVGSupportManager getSVGSupportManager() throws LocatorException {
134
        return (SVGSupportManager) getInstance().get(PLUGINS_SVGSUPPORT_MANAGER_NAME);
135
    }
136

  
137
    public static void registerSVGSupportManager(Class clazz) {
138
        getInstance().register(PLUGINS_SVGSUPPORT_MANAGER_NAME, PLUGINS_SVGSUPPORT_MANAGER_DESCRIPTION,
139
                clazz);
140
    }
141

  
142
	public static void registerDefaultSVGSupportManager(Class clazz) {
143
		getInstance().registerDefault(PLUGINS_SVGSUPPORT_MANAGER_NAME,
144
		    PLUGINS_SVGSUPPORT_MANAGER_DESCRIPTION, clazz);
145
	}
146

  
147
}
org.gvsig.tools/library/tags/org.gvsig.tools-3.0.120/org.gvsig.tools.util/org.gvsig.tools.util.api/src/main/java/org/gvsig/tools/util/ToolsUtilLibrary.java
1
package org.gvsig.tools.util;
2

  
3
import org.gvsig.tools.ToolsLibrary;
4
import org.gvsig.tools.library.AbstractLibrary;
5
import org.gvsig.tools.library.LibraryException;
6
import org.gvsig.tools.locator.ReferenceNotRegisteredException;
7

  
8
/**
9
 * gvSIG. Desktop Geographic Information System.
10
 *
11
 * Copyright (C) 2007-2013 gvSIG Association.
12
 *
13
 * This program is free software; you can redistribute it and/or
14
 * modify it under the terms of the GNU General Public License
15
 * as published by the Free Software Foundation; either version 3
16
 * of the License, or (at your option) any later version.
17
 *
18
 * This program is distributed in the hope that it will be useful,
19
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
21
 * GNU General Public License for more details.
22
 *
23
 * You should have received a copy of the GNU General Public License
24
 * along with this program; if not, write to the Free Software
25
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
26
 * MA  02110-1301, USA.
27
 *
28
 * For any additional information, do not hesitate to contact us
29
 * at info AT gvsig.com, or visit our website www.gvsig.com.
30
 */
31

  
32

  
33

  
34
@SuppressWarnings("unchecked")
35
public class ToolsUtilLibrary extends AbstractLibrary {
36

  
37
	public void doRegistration() {
38
		super.doRegistration();
39
		registerAsAPI(ToolsUtilLibrary.class);
40
		this.require(ToolsLibrary.class);
41
	}
42

  
43
	protected void doInitialize() throws LibraryException {
44

  
45
	}
46

  
47
	protected void doPostInitialize() throws LibraryException {
48
		  // Validate there is any implementation registered.
49
        ToolsUtilManager manager = ToolsUtilLocator.getToolsUtilManager();
50
        if (manager == null) {
51
            throw new ReferenceNotRegisteredException(
52
            		ToolsUtilLocator.TOOLS_UTIL_MANAGER_NAME, ToolsUtilLocator
53
                    .getInstance());
54
        }
55

  
56
	}
57

  
58
}
org.gvsig.tools/library/tags/org.gvsig.tools-3.0.120/org.gvsig.tools.util/org.gvsig.tools.util.api/src/main/java/org/gvsig/tools/util/ToolsUtilManager.java
1
package org.gvsig.tools.util;
2

  
3
import org.gvsig.desktopopen.DesktopOpen;
4

  
5
/**
6
 * gvSIG. Desktop Geographic Information System.
7
 *
8
 * Copyright (C) 2007-2013 gvSIG Association.
9
 *
10
 * This program is free software; you can redistribute it and/or
11
 * modify it under the terms of the GNU General Public License
12
 * as published by the Free Software Foundation; either version 3
13
 * of the License, or (at your option) any later version.
14
 *
15
 * This program is distributed in the hope that it will be useful,
16
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18
 * GNU General Public License for more details.
19
 *
20
 * You should have received a copy of the GNU General Public License
21
 * along with this program; if not, write to the Free Software
22
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
23
 * MA  02110-1301, USA.
24
 *
25
 * For any additional information, do not hesitate to contact us
26
 * at info AT gvsig.com, or visit our website www.gvsig.com.
27
 */
28

  
29
/**
30
 * @author fdiaz
31
 *
32
 */
33
public interface ToolsUtilManager  {
34

  
35
	/**
36
	 * @return
37
	 */
38
	public InformationBuilder createInformationBuilder();
39

  
40
    public DesktopOpen createDesktopOpen() ;
41
}
org.gvsig.tools/library/tags/org.gvsig.tools-3.0.120/org.gvsig.tools.util/org.gvsig.tools.util.api/src/main/java/org/gvsig/tools/util/InformationBuilder.java
1
package org.gvsig.tools.util;
2

  
3
public interface InformationBuilder {
4

  
5
    public interface Element {
6

  
7
        public Element value(String format, Object... args);
8
        public String build();
9
    }
10

  
11
    public interface TitleElement extends Element {
12

  
13
        @Override
14
        public TitleElement value(String format, Object... args);
15
        public TitleElement label(String label);
16
        public TitleElement labelkey(String labelkey);
17
    }
18

  
19
    public interface RawElement extends Element {
20

  
21
        @Override
22
        public RawElement value(String format, Object... args);
23
    }
24

  
25
    public interface TextElement extends RawElement {
26

  
27
        @Override
28
        public TextElement value(String format, Object... args);
29

  
30
    }
31

  
32
    public interface PropertyElement extends TextElement {
33

  
34
        public PropertyElement monospace();
35

  
36
        public PropertyElement label(String label);
37

  
38
        public PropertyElement labelkey(String labelkey);
39

  
40
        @Override
41
        public PropertyElement value(String format, Object... args);
42

  
43
    }
44

  
45
    public InformationBuilder backgroundColor(String color);
46

  
47
    public InformationBuilder backgroundColorTitle(String color);
48

  
49
    public InformationBuilder backgroundColorPropertyLabel(String color);
50

  
51
    public InformationBuilder backgroundColorPropertyValue1(String color);
52

  
53
    public InformationBuilder backgroundColorPropertyValue2(String color);
54

  
55
    public TitleElement title();
56

  
57
    public PropertyElement property();
58

  
59
    public TextElement text();
60

  
61
    public RawElement raw();
62

  
63
    public String build();
64

  
65
}
org.gvsig.tools/library/tags/org.gvsig.tools-3.0.120/org.gvsig.tools.util/org.gvsig.tools.util.api/src/main/java/org/gvsig/filedialogchooser/FileDialogChooserManager.java
1
package org.gvsig.filedialogchooser;
2

  
3
import java.io.File;
4

  
5

  
6
public interface FileDialogChooserManager {
7

  
8
    public void setUseNativeFileChooser(boolean b);
9
    
10
    public boolean useNativeFileChooser();
11
    
12
    public FileDialogChooser create(String fileChooserID);
13

  
14
    public FileDialogChooser create();
15
    
16
    public File getLastPath(String fileChooserID, File defaultDirectory);
17
    
18
    public void setLastPath(String fileChooserID, File path);
19
    
20
}
org.gvsig.tools/library/tags/org.gvsig.tools-3.0.120/org.gvsig.tools.util/org.gvsig.tools.util.api/src/main/java/org/gvsig/filedialogchooser/FileDialogChooser.java
1
/*
2
 * To change this license header, choose License Headers in Project Properties.
3
 * To change this template file, choose Tools | Templates
4
 * and open the template in the editor.
5
 */
6
package org.gvsig.filedialogchooser;
7

  
8
import java.awt.Component;
9
import java.io.File;
10
import javax.swing.JFileChooser;
11
import javax.swing.filechooser.FileFilter;
12

  
13
public interface FileDialogChooser {
14

  
15
    /**
16
     * Return value if approve (yes, ok) is chosen.
17
     */
18
    int APPROVE_OPTION = JFileChooser.APPROVE_OPTION;
19
    
20
    /**
21
     * Return value if cancel is chosen.
22
     */
23
    int CANCEL_OPTION = JFileChooser.CANCEL_OPTION;
24

  
25
    /** Instruction to display only directories. */
26
    int DIRECTORIES_ONLY = JFileChooser.DIRECTORIES_ONLY;
27

  
28
    /**
29
     * Return value if an error occurred.
30
     */
31
    int ERROR_OPTION = JFileChooser.ERROR_OPTION;
32

  
33
    /** Instruction to display both files and directories. */
34
    int FILES_AND_DIRECTORIES = JFileChooser.FILES_AND_DIRECTORIES;
35

  
36
    /** Instruction to display only files. */
37
    int FILES_ONLY = JFileChooser.FILES_ONLY;
38

  
39
    /**
40
     * Type value indicating that the <code>FileDialogChooser</code> supports an
41
     * "Open" file operation.
42
     */
43
    int OPEN_DIALOG = JFileChooser.OPEN_DIALOG;
44
    
45
    /**
46
     * Type value indicating that the <code>FileDialogChooser</code> supports a
47
     * "Save" file operation.
48
     */
49
    int SAVE_DIALOG = JFileChooser.SAVE_DIALOG;
50

  
51

  
52
    void setCurrentDirectory(File dir);
53

  
54
    public File getCurrentDirectory();
55

  
56
    void setDialogTitle(String dialogTitle);
57

  
58
    void setDialogType(int dialogType);
59

  
60
    void setDragEnabled(boolean b);
61

  
62
    void setFileFilter(FileFilter filter);
63

  
64
    void setFileSelectionMode(int mode);
65

  
66
    File getSelectedFile();
67

  
68
    /**
69
     * Returns a list of selected files if the file chooser is
70
     * set to allow multiple selection.
71
     * @return 
72
     */
73
    File[] getSelectedFiles();
74

  
75
    void setFileHidingEnabled(boolean b);
76

  
77
    void setMultiSelectionEnabled(boolean b);
78

  
79
    public boolean isMultiSelectionEnabled();
80

  
81
    int showOpenDialog(Component parent);
82

  
83
    int showSaveDialog(Component parent);
84

  
85
    public void setAcceptAllFileFilterUsed(boolean b);
86

  
87
    public void addChoosableFileFilter(FileFilter next);
88

  
89
    public FileFilter getFileFilter();
90
}
org.gvsig.tools/library/tags/org.gvsig.tools-3.0.120/org.gvsig.tools.util/org.gvsig.tools.util.api/pom.xml
1
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
2
  <modelVersion>4.0.0</modelVersion>
3
  <parent>
4
    <groupId>org.gvsig</groupId>
5
    <artifactId>org.gvsig.tools.util</artifactId>
6
    <version>3.0.120</version>
7
  </parent>
8
  <groupId>org.gvsig</groupId>
9
  <artifactId>org.gvsig.tools.util.api</artifactId>
10
  <name>org.gvsig.tools.util.api</name>
11
  <dependencies>
12
    <dependency>
13
      <groupId>org.gvsig</groupId>
14
      <artifactId>org.gvsig.tools.lib</artifactId>
15
      <scope>compile</scope>
16
    </dependency>
17
  </dependencies>
18
</project>
0 19

  
org.gvsig.tools/library/tags/org.gvsig.tools-3.0.120/org.gvsig.tools.util/pom.xml
1
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
2
  <modelVersion>4.0.0</modelVersion>
3
  <parent>
4
    <groupId>org.gvsig</groupId>
5
    <artifactId>org.gvsig.tools</artifactId>
6
    <version>3.0.120</version>
7
  </parent>
8
  <artifactId>org.gvsig.tools.util</artifactId>
9
  <name>org.gvsig.tools.util</name>
10
  <packaging>pom</packaging>
11
  <modules>
12
    <module>org.gvsig.tools.util.api</module>
13
    <module>org.gvsig.tools.util.impl</module>
14
  </modules>
15
</project>
org.gvsig.tools/library/tags/org.gvsig.tools-3.0.120/org.gvsig.tools.util/org.gvsig.tools.util.impl/src/main/resources/META-INF/services/org.gvsig.tools.library.Library
1
org.gvsig.tools.util.impl.ToolsUtilLibraryImpl
org.gvsig.tools/library/tags/org.gvsig.tools-3.0.120/org.gvsig.tools.util/org.gvsig.tools.util.impl/src/main/java/org/gvsig/dialogremember/impl/DefaultDialogRememberManager.java
1

  
2
package org.gvsig.dialogremember.impl;
3

  
4
import java.util.ArrayList;
5
import java.util.Collections;
6
import java.util.HashMap;
7
import java.util.Iterator;
8
import java.util.List;
9
import java.util.Map;
10
import org.gvsig.dialogremember.DialogRememeber;
11
import org.gvsig.dialogremember.DialogRememberManager;
12

  
13

  
14
public class DefaultDialogRememberManager implements DialogRememberManager {
15

  
16
    private Map<String,DialogRememeber> remembers;
17
    
18
    public DefaultDialogRememberManager() {
19
        this.remembers = new HashMap<>();
20
    }
21
    
22
    @Override
23
    public boolean exists(String id) {
24
        return this.remembers.containsKey(id);
25
    }
26

  
27
    @Override
28
    public DialogRememeber get(String id) {
29
        return this.remembers.get(id);
30
    }
31

  
32
    @Override
33
    public DialogRememeber add(String id) {
34
        DialogRememeber r = this.get(id);
35
        if( r == null ) {
36
            r = new DefaultDialogRemember(id);
37
            this.remembers.put(id, r);
38
        }
39
        return r;
40
    }
41

  
42
    @Override
43
    public DialogRememeber add(String id, int value) {
44
        DialogRememeber r = this.add(id);
45
        r.setValue(value);
46
        return r;
47
    }
48

  
49
    @Override
50
    public Iterator<DialogRememeber> iterator() {
51
        return this.remembers.values().iterator();
52
    }
53

  
54
    @Override
55
    public List<DialogRememeber> remembers() {
56
        return Collections.unmodifiableList(new ArrayList<>(this.remembers.values()));
57
    }
58
    
59
}
org.gvsig.tools/library/tags/org.gvsig.tools-3.0.120/org.gvsig.tools.util/org.gvsig.tools.util.impl/src/main/java/org/gvsig/dialogremember/impl/DefaultDialogRemember.java
1

  
2
package org.gvsig.dialogremember.impl;
3

  
4
import org.gvsig.dialogremember.DialogRememeber;
5

  
6

  
7
public class DefaultDialogRemember implements DialogRememeber {
8
    private final String id;
9
    private Object value;
10

  
11
    public DefaultDialogRemember(String id) {
12
        this.id = id;
13
        this.value = null;
14
    }
15
    @Override
16
    public String getId() {
17
        return id;
18
    }
19

  
20
    @Override
21
    public Object getValue() {
22
        return this.value;
23
    }
24

  
25
    @Override
26
    public void reset() {
27
        this.value = null;
28
    }
29

  
30
    @Override
31
    public boolean hasValue() {
32
        return this.value!=null;
33
    }
34

  
35
    @Override
36
    public void setValue(Object value) {
37
        this.value = value;
38
    }
39
    
40
}
org.gvsig.tools/library/tags/org.gvsig.tools-3.0.120/org.gvsig.tools.util/org.gvsig.tools.util.impl/src/main/java/org/gvsig/tools/util/impl/ToolsUtilLibraryImpl.java
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 modify it under
7
 * the terms of the GNU General Public License as published by the Free Software
8
 * Foundation; either version 2 of the License, or (at your option) any later
9
 * version.
10
 *
11
 * This program is distributed in the hope that it will be useful, but WITHOUT
12
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
13
 * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
14
 * details.
15
 *
16
 * You should have received a copy of the GNU General Public License along with
17
 * this program; if not, write to the Free Software Foundation, Inc., 51
18
 * Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
19
 *
20
 * For any additional information, do not hesitate to contact us at info AT
21
 * gvsig.com, or visit our website www.gvsig.com.
22
 */
23
package org.gvsig.tools.util.impl;
24

  
25
import org.gvsig.dialogremember.impl.DefaultDialogRememberManager;
26
import org.gvsig.filedialogchooser.impl.DefaultFileDialogChooserManager;
27
import org.gvsig.svgsupport.DumbSVGSupportManager;
28
import org.gvsig.tools.library.AbstractLibrary;
29
import org.gvsig.tools.library.Library;
30
import org.gvsig.tools.library.LibraryException;
31
import org.gvsig.tools.util.ToolsUtilLibrary;
32
import org.gvsig.tools.util.ToolsUtilLocator;
33

  
34
/**
35
 * {@link Library} for the default tools util implementation.
36
 *
37
 * @author gvSIG team
38
 */
39
public class ToolsUtilLibraryImpl extends AbstractLibrary {
40

  
41
    @Override
42
    public void doRegistration() {
43
        super.doRegistration();
44
        registerAsImplementationOf(ToolsUtilLibrary.class);
45
    }
46

  
47
    @Override
48
    protected void doInitialize() throws LibraryException {
49
        ToolsUtilLocator.registerDefaultToolsUtilManager(DefaultToolsUtilManager.class);
50
        ToolsUtilLocator.registerDefaultDialogRememberManager(DefaultDialogRememberManager.class);
51
        ToolsUtilLocator.registerDefaultFileDialogChooserManager(DefaultFileDialogChooserManager.class);
52
        ToolsUtilLocator.registerDefaultSVGSupportManager(DumbSVGSupportManager.class);
53
    }
54

  
55
    @Override
56
    protected void doPostInitialize() throws LibraryException {
57

  
58
    }
59

  
60
}
org.gvsig.tools/library/tags/org.gvsig.tools-3.0.120/org.gvsig.tools.util/org.gvsig.tools.util.impl/src/main/java/org/gvsig/tools/util/impl/BaseInformationBuilder.java
1
package org.gvsig.tools.util.impl;
2

  
3
import java.util.ArrayList;
4
import java.util.List;
5

  
6
import org.apache.commons.lang3.StringEscapeUtils;
7
import org.apache.commons.lang3.StringUtils;
8

  
9
import org.gvsig.tools.ToolsLocator;
10
import org.gvsig.tools.util.InformationBuilder;
11

  
12

  
13
public class BaseInformationBuilder implements InformationBuilder {
14

  
15
    private String backgroundColor = "\"#FFFFFF\"";
16
    private String backgroundColorTitle = "\"#FBFFE1\""; // light yellow
17
    private String backgroundColorPropertyLabel = "\"#D6D6D6\""; // Gris
18
    private String backgroundColorPropertyValue1 = "\"#FEEDD6\""; // light salmon
19
    private String backgroundColorPropertyValue2 = "\"#EAEAEA\""; // light grey
20

  
21
    protected int propertyCount = 0;
22
    protected final List<Element> elements;
23

  
24
    protected class BaseTitleElement implements TitleElement {
25

  
26
        protected String label;
27

  
28
        @Override
29
        public TitleElement value(String format, Object... args) {
30
            if (args == null) {
31
                this.label = format;
32
            } else {
33
                this.label = String.format(format, args);
34
            }
35
            return this;
36
        }
37
        
38
        @Override
39
        public TitleElement label(String label) {
40
            this.label = StringEscapeUtils.escapeHtml3(label);
41
            return this;
42
        }
43

  
44
        @Override
45
        public TitleElement labelkey(String labelkey) {
46
            return label(ToolsLocator.getI18nManager().getTranslation(labelkey));
47
        }
48

  
49
        @Override
50
        public String build() {
51
            propertyCount = 0;
52
            return "<tr valign=\"middle\" >"
53
                    + "<td bgcolor=" + backgroundColorTitle + " align=\"center\" colspan=\"2\"><font face=\"Arial\" size=\"3\"><b> " + this.label + "</b></font></td>"
54
                    + "</tr>";
55
        }
56
    }
57

  
58
    protected class BaseRawElement implements RawElement {
59

  
60
        protected String value;
61

  
62
        @Override
63
        public RawElement value(String format, Object... args) {
64
            if (args == null) {
65
                this.value = format;
66
            } else {
67
                this.value = String.format(format, args);
68
            }
69
            return this;
70
        }
71

  
72
        @Override
73
        public String build() {
74
            String color = ((propertyCount++ % 2) == 0) ? backgroundColorPropertyValue1 : backgroundColorPropertyValue2;
75
            String content = "<tr valign=\"top\">\n";
76
            content += "<td bgcolor=" + color + "align=\"left\" colspan=\"2\"><font face=\"Arial\" size=\"3\"><div>" + value.replace("\\n",  "<br>\n") + "</div></font></td>\n";
77
            content += "</tr>\n";
78
            return content;
79
        }
80
    }
81

  
82
    protected class BaseTextElement implements TextElement {
83

  
84
        protected String value;
85

  
86
        @Override
87
        public TextElement value(String format, Object... args) {
88
            if (args == null) {
89
                this.value = StringEscapeUtils.escapeHtml3(format);
90
            } else {
91
                this.value = StringEscapeUtils.escapeHtml3(String.format(format, args));
92
            }
93
            return this;
94
        }
95

  
96
        @Override
97
        public String build() {
98
            String color = ((propertyCount++ % 2) == 0) ? backgroundColorPropertyValue1 : backgroundColorPropertyValue2;
99
            String content = "<tr valign=\"top\">\n";
100
            content += "<td bgcolor=" + color + "align=\"left\" colspan=\"2\"><font face=\"Arial\" size=\"3\">" + value.replace("\n",  "<br>\n") + "</font></td>\n";
101
            content += "</tr>\n";
102
            return content;
103
        }
104
    }
105

  
106
    protected class BasePropertyElement implements PropertyElement {
107

  
108
        protected String label;
109
        protected boolean monospace = false;
110
        protected String value;
111

  
112
        @Override
113
        public PropertyElement value(String format, Object... args) {
114
            if (args == null) {
115
                this.value = StringEscapeUtils.escapeHtml3(format);
116
            } else {
117
                this.value = StringEscapeUtils.escapeHtml3(String.format(format, args));
118
            }
119
            return this;
120
        }
121

  
122
        @Override
123
        public PropertyElement label(String label) {
124
            this.label = StringEscapeUtils.escapeHtml3(label);
125
            return this;
126
        }
127

  
128
        @Override
129
        public PropertyElement labelkey(String labelkey) {
130
            return label(ToolsLocator.getI18nManager().getTranslation(labelkey));
131
        }
132

  
133
        @Override
134
        public PropertyElement monospace() {
135
            this.monospace = true;
136
            return this;
137
        }
138

  
139
        @Override
140
        public String build() {
141
            String color = ((propertyCount++ % 2) == 0) ? backgroundColorPropertyValue1 : backgroundColorPropertyValue2;
142
            String content = "<tr valign=\"top\">\n";
143
            if (!StringUtils.isEmpty(label)) {
144
                content += "<td nowrap bgcolor=" + backgroundColorPropertyLabel + "align=\"right\" width=\"140\"><font face=\"Arial\" size=\"3\">" + label + ":&nbsp;</font></td>\n";
145
            }
146
            if( this.monospace ) {
147
                content += "<td bgcolor=" + color + "align=\"left\"><font face=\"Monospaced\" size=\"3\">" + value.replace("\\n",  "<br>\n") + "</font></td>";
148
            } else {
149
                content += "<td bgcolor=" + color + "align=\"left\"><font face=\"Arial\" size=\"3\">" + value.replace("\\n",  "<br>\n") + "</font></td>";
150
            }
151
            content += "</tr>\n";
152
            return content;
153
        }
154

  
155
    }
156

  
157
    public BaseInformationBuilder() {
158
        this.elements = new ArrayList<>();
159
    }
160

  
161
    @Override
162
    public InformationBuilder backgroundColor(String color) {
163
        this.backgroundColor = color;
164
        return this;
165
    }
166

  
167
    @Override
168
    public InformationBuilder backgroundColorTitle(String color) {
169
        this.backgroundColorTitle = color;
170
        return this;
171
    }
172

  
173
    @Override
174
    public InformationBuilder backgroundColorPropertyLabel(String color) {
175
        this.backgroundColorPropertyLabel = color;
176
        return this;
177
    }
178

  
179
    @Override
180
    public InformationBuilder backgroundColorPropertyValue1(String color) {
181
        this.backgroundColorPropertyValue1 = color;
182
        return this;
183
    }
184

  
185
    @Override
186
    public InformationBuilder backgroundColorPropertyValue2(String color) {
187
        this.backgroundColorPropertyValue2 = color;
188
        return this;
189
    }
190

  
191
    @Override
192
    public TitleElement title() {
193
        TitleElement element = new BaseTitleElement();
194
        this.elements.add(element);
195
        return element;
196
    }
197

  
198
    @Override
199
    public PropertyElement property() {
200
        PropertyElement element = new BasePropertyElement();
201
        this.elements.add(element);
202
        return element;
203
    }
204

  
205
    @Override
206
    public TextElement text() {
207
        TextElement element = new BaseTextElement();
208
        this.elements.add(element);
209
        return element;
210
    }
211

  
212
    @Override
213
    public RawElement raw() {
214
        RawElement element = new BaseRawElement();
215
        this.elements.add(element);
216
        return element;
217
    }
218

  
219
    @Override
220
    public String build() {
221
        StringBuilder html = new StringBuilder();
222
        html.append("<html>\n");
223
        html.append("<body bgcolor=").append(backgroundColor).append(" topmargin=\"0\" marginheight=\"0\">\n");
224
        html.append("<table cellpadding=\"0\" cellspacing=\"0\" align=\"center\" width=\"100%\">");
225
        boolean first = true;
226
        for (Element element : elements) {
227
            if( element instanceof TitleElement ) {
228
                if( first ) {
229
                    first = false;
230
                } else {
231
                    html.append("<tr>\n<td><br></td>\n<td></td></tr>\n");
232
                }
233
            }
234
            html.append(element.build());
235
        }
236
        html.append("</table>");
237
        html.append("</body>");
238
        html.append("</html>");
239
        return html.toString();
240
    }
241

  
242
    @Override
243
    public String toString() {
244
        return this.build();
245
    }
246
}
org.gvsig.tools/library/tags/org.gvsig.tools-3.0.120/org.gvsig.tools.util/org.gvsig.tools.util.impl/src/main/java/org/gvsig/tools/util/impl/DefaultToolsUtilManager.java
1

  
2
package org.gvsig.tools.util.impl;
3

  
4
import org.gvsig.desktopopen.DefaultDesktopOpen;
5
import org.gvsig.desktopopen.DesktopOpen;
6
import org.gvsig.tools.util.InformationBuilder;
7
import org.gvsig.tools.util.ToolsUtilManager;
8

  
9

  
10
/**
11
 * @author fdiaz
12
 *
13
 */
14
public class DefaultToolsUtilManager implements ToolsUtilManager {
15

  
16
    @Override
17
    public InformationBuilder createInformationBuilder() {
18
        return new BaseInformationBuilder();
19
    }
20

  
21
    @Override
22
    public DesktopOpen createDesktopOpen() {
23
        return new DefaultDesktopOpen();
24
    }
25
}
org.gvsig.tools/library/tags/org.gvsig.tools-3.0.120/org.gvsig.tools.util/org.gvsig.tools.util.impl/src/main/java/org/gvsig/filedialogchooser/impl/DefaultFileDialogChooserManager.java
1

  
2
package org.gvsig.filedialogchooser.impl;
3

  
4
import java.io.File;
5
import java.util.HashMap;
6
import java.util.Map;
7
import javax.swing.filechooser.FileSystemView;
8
import org.gvsig.filedialogchooser.FileDialogChooser;
9
import org.gvsig.filedialogchooser.FileDialogChooserManager;
10

  
11

  
12

  
13
public class DefaultFileDialogChooserManager implements FileDialogChooserManager {
14

  
15
    private Map<String,File> lastPaths;
16
    private boolean useNativeFileChooser = true;
17
    
18
    public DefaultFileDialogChooserManager() {
19
        this.lastPaths = new HashMap<>();
20
    }
21
    
22
    @Override
23
    public void setUseNativeFileChooser(boolean b) {
24
        useNativeFileChooser = b;
25
    }
26
    
27
    @Override
28
    public boolean useNativeFileChooser() {
29
        return useNativeFileChooser;
30
    }
31
    
32
    @Override
33
    public FileDialogChooser create(String fileChooserID) {
34
        if( useNativeFileChooser ) {
35
          return new JFileChooserBased(fileChooserID);
36
        }
37
        return new VFSJFileChooserBased(fileChooserID);
38
    }
39

  
40
    @Override
41
    public FileDialogChooser create() {
42
        String fileChooserID = "DEFAULT_ID";
43
        if( useNativeFileChooser ) {
44
            return new JFileChooserBased(fileChooserID);
45
        }
46
        return new VFSJFileChooserBased(fileChooserID);
47
    }
48
    
49
    @Override
50
    public File getLastPath(String fileChooserID, File defaultDirectory) {
51
		File path = this.lastPaths.get(fileChooserID);
52

  
53
		if (path != null) {
54
			return path;
55
        }
56
		if (defaultDirectory != null) {
57
			return defaultDirectory;
58
        }
59
		return FileSystemView.getFileSystemView().getHomeDirectory();
60
    }
61
    
62
    @Override
63
    public void setLastPath(String fileChooserID, File path) {
64
        lastPaths.put(fileChooserID, path);
65
    }
66

  
67
    
68
}
org.gvsig.tools/library/tags/org.gvsig.tools-3.0.120/org.gvsig.tools.util/org.gvsig.tools.util.impl/src/main/java/org/gvsig/filedialogchooser/impl/VFSJFileChooserBased.java
1
/*
2
 * To change this license header, choose License Headers in Project Properties.
3
 * To change this template file, choose Tools | Templates
4
 * and open the template in the editor.
5
 */
6
package org.gvsig.filedialogchooser.impl;
7

  
8
import com.googlecode.vfsjfilechooser2.VFSJFileChooser;
9
import com.googlecode.vfsjfilechooser2.filechooser.AbstractVFSFileFilter;
10
import java.awt.Component;
11
import java.io.File;
12
import javax.swing.filechooser.FileFilter;
13
import org.apache.commons.vfs2.FileObject;
14
import org.apache.commons.vfs2.provider.local.LocalFile;
15
import org.gvsig.filedialogchooser.FileDialogChooser;
16
import org.gvsig.filedialogchooser.FileDialogChooserManager;
17
import org.gvsig.tools.util.ToolsUtilLocator;
18

  
19

  
20
public class VFSJFileChooserBased implements FileDialogChooser {
21

  
22
    private static class FileFilterAdapter extends AbstractVFSFileFilter {
23

  
24
        private final FileFilter filter;
25

  
26
        FileFilterAdapter(FileFilter filter) {
27
            this.filter = filter;
28
        }
29

  
30
        @Override
31
        public boolean accept(FileObject f) {
32
            if( f instanceof LocalFile ) {
33
                return this.filter.accept( new File(f.getName().getPath()));
34
            }
35
            return false;
36
        }
37

  
38
        @Override
39
        public String getDescription() {
40
            return this.filter.getDescription();
41
        }
42

  
43
        public FileFilter getFilter() {
44
            return this.filter;
45
        }
46
    }
47
    
48
    private final VFSJFileChooser jfc;
49
    private final String fileChooserID;
50

  
51
    public VFSJFileChooserBased(String fileChooserID) {
52
        super();
53
        this.jfc = new VFSJFileChooser();
54
        this.fileChooserID = fileChooserID;
55
    }
56
    
57
    @Override
58
    public void setCurrentDirectory(File dir) {
59
        this.jfc.setCurrentDirectory(dir);
60
    }
61

  
62
    @Override
63
    public File getCurrentDirectory() {
64
        return this.jfc.getCurrentDirectory();
65
    }
66

  
67
    @Override
68
    public void setDialogTitle(String dialogTitle) {
69
        this.jfc.setDialogTitle(dialogTitle);
70
    }
71

  
72
    @Override
73
    public void setDialogType(int dialogType) {
74
        switch(dialogType) {
75
        default:
76
        case OPEN_DIALOG:
77
            this.jfc.setDialogType(VFSJFileChooser.DIALOG_TYPE.OPEN);
78
            break;
79
        case SAVE_DIALOG:
80
            this.jfc.setDialogType(VFSJFileChooser.DIALOG_TYPE.SAVE);
81
            break;
82
        }
83
    }
84

  
85
    @Override
86
    public void setDragEnabled(boolean b) {
87
        this.jfc.setDragEnabled(b);
88
    }
89

  
90
    @Override
91
    public void setFileFilter(FileFilter filter) {
92
        if( filter == null ) {
93
            this.jfc.setFileFilter(null);
94
        } else {
95
            this.jfc.setFileFilter(new FileFilterAdapter(filter));
96
        }
97
    }
98

  
99
    @Override
100
    public FileFilter getFileFilter() {
101
        FileFilterAdapter f = (FileFilterAdapter) this.jfc.getFileFilter();
102
        return f.getFilter();
103
    }
104

  
105
    @Override
106
    public void setFileSelectionMode(int mode) {
107
        switch(mode) {
108
        case FILES_ONLY:
109
            this.jfc.setFileSelectionMode(VFSJFileChooser.SELECTION_MODE.FILES_ONLY);
110
            break;
111
        case DIRECTORIES_ONLY:
112
            this.jfc.setFileSelectionMode(VFSJFileChooser.SELECTION_MODE.DIRECTORIES_ONLY);
113
            break;
114
        default:
115
        case FILES_AND_DIRECTORIES:
116
            this.jfc.setFileSelectionMode(VFSJFileChooser.SELECTION_MODE.FILES_AND_DIRECTORIES);
117
            break;
118
        }
119
    }
120

  
121
    @Override
122
    public File getSelectedFile() {
123
        return this.jfc.getSelectedFile();
124
    }
125

  
126
    @Override
127
    public File[] getSelectedFiles() {
128
        return this.jfc.getSelectedFiles();
129
    }
130

  
131
    @Override
132
    public void setFileHidingEnabled(boolean b) {
133
        this.jfc.setFileHidingEnabled(b);
134
    }
135

  
136
    @Override
137
    public void setMultiSelectionEnabled(boolean b) {
138
        this.jfc.setMultiSelectionEnabled(b);
139
    }
140

  
141
    @Override
142
    public boolean isMultiSelectionEnabled() {
143
        return this.jfc.isMultiSelectionEnabled();
144
    }
145

  
146
    @Override
147
    public int showOpenDialog(Component parent) {
148
        VFSJFileChooser.RETURN_TYPE r = this.jfc.showOpenDialog(parent);
149
        if( r == VFSJFileChooser.RETURN_TYPE.CANCEL ) {
150
            return CANCEL_OPTION;            
151
        }
152
        if( r == VFSJFileChooser.RETURN_TYPE.APPROVE ) {
153
            FileDialogChooserManager manager = ToolsUtilLocator.getFileDialogChooserManager();
154
            manager.setLastPath(fileChooserID, this.getCurrentDirectory());
155
            return APPROVE_OPTION;            
156
        }
157
        if( r == VFSJFileChooser.RETURN_TYPE.ERROR ) {
158
            return ERROR_OPTION;            
159
        }
160
        return ERROR_OPTION;            
161
    }
162

  
163
    @Override
164
    public int showSaveDialog(Component parent) {
165
        VFSJFileChooser.RETURN_TYPE r = this.jfc.showSaveDialog(parent);
166
        if( r == VFSJFileChooser.RETURN_TYPE.CANCEL ) {
167
            return CANCEL_OPTION;            
168
        }
169
        if( r == VFSJFileChooser.RETURN_TYPE.APPROVE ) {
170
            FileDialogChooserManager manager = ToolsUtilLocator.getFileDialogChooserManager();
171
            manager.setLastPath(fileChooserID, this.getCurrentDirectory());
172
            return APPROVE_OPTION;            
173
        }
174
        if( r == VFSJFileChooser.RETURN_TYPE.ERROR ) {
175
            return ERROR_OPTION;            
176
        }
177
        return ERROR_OPTION;            
178
    }
179
    
180
    @Override
181
    public void setAcceptAllFileFilterUsed(boolean b) {
182
        this.jfc.setAcceptAllFileFilterUsed(b);
183
    }
184

  
185
    @Override
186
    public void addChoosableFileFilter(FileFilter next) {
187
        this.jfc.addChoosableFileFilter(new FileFilterAdapter(next));
188
    }
189

  
190
}
org.gvsig.tools/library/tags/org.gvsig.tools-3.0.120/org.gvsig.tools.util/org.gvsig.tools.util.impl/src/main/java/org/gvsig/filedialogchooser/impl/JFileChooserBased.java
1
/*
2
 * To change this license header, choose License Headers in Project Properties.
3
 * To change this template file, choose Tools | Templates
4
 * and open the template in the editor.
5
 */
6
package org.gvsig.filedialogchooser.impl;
7

  
8
import java.awt.Component;
9
import java.awt.HeadlessException;
10
import java.io.File;
11
import javax.swing.JFileChooser;
12
import org.gvsig.filedialogchooser.FileDialogChooser;
13
import org.gvsig.filedialogchooser.FileDialogChooserManager;
14
import org.gvsig.tools.util.ToolsUtilLocator;
15

  
16

  
17

  
18

  
19
public class JFileChooserBased extends JFileChooser implements FileDialogChooser {
20
    
21
    private static final long serialVersionUID = 2825200958209418322L;
22
    private final String fileChooserID;
23

  
24
    public JFileChooserBased(String fileChooserID) {
25
        super();
26
        this.fileChooserID = fileChooserID;
27
    }
28

  
29
    @Override
30
    public int showOpenDialog(Component parent) throws HeadlessException {
31
        int r = super.showOpenDialog(parent);
32
        if( r == JFileChooser.APPROVE_OPTION ) {
33
            FileDialogChooserManager manager = ToolsUtilLocator.getFileDialogChooserManager();
34
            manager.setLastPath(fileChooserID, this.getCurrentDirectory());
35
        }
36
        return r;
37
    }
38

  
39
    @Override
40
    public int showSaveDialog(Component parent) throws HeadlessException {
41
        int r = super.showSaveDialog(parent);
42
        if( r == JFileChooser.APPROVE_OPTION ) {
43
            FileDialogChooserManager manager = ToolsUtilLocator.getFileDialogChooserManager();
44
            manager.setLastPath(fileChooserID, this.getCurrentDirectory());
45
        }
46
        return r;
47
    }
48
}
org.gvsig.tools/library/tags/org.gvsig.tools-3.0.120/org.gvsig.tools.util/org.gvsig.tools.util.impl/src/main/java/org/gvsig/desktopopen/DefaultDesktopOpen.java
1
package org.gvsig.desktopopen;
2

  
3
import java.awt.Desktop;
4
import java.io.File;
5
import java.io.IOException;
6
import java.net.URI;
7
import java.util.ArrayList;
8
import java.util.List;
9
import org.slf4j.Logger;
10
import org.slf4j.LoggerFactory;
11

  
12
/*
13
 * Based on portions of code of MightyPork, http://www.ondrovo.com/
14
 * extracted from :
15
 * http://stackoverflow.com/questions/18004150/desktop-api-is-not-supported-on-the-current-platform
16
 */
17
public class DefaultDesktopOpen implements DesktopOpen {
18

  
19
    private static Logger logger = LoggerFactory.getLogger(DefaultDesktopOpen.class);
20

  
21
    public enum EnumOS {
22

  
23
        linux, macos, solaris, unknown, windows;
24

  
25
        public boolean isLinux() {
26

  
27
            return this == linux || this == solaris;
28
        }
29

  
30
        public boolean isMac() {
31

  
32
            return this == macos;
33
        }
34

  
35
        public boolean isWindows() {
36

  
37
            return this == windows;
38
        }
39
    }
40

  
41
    @Override
42
    public boolean browse(URI uri) {
43

  
44
        if ( browseDESKTOP(uri) ) {
45
            return true;
46
        }
47

  
48
        return openSystemSpecific(uri.toString());
49
    }
50

  
51
    @Override
52
    public boolean open(File file) {
53

  
54
        if ( openDESKTOP(file) ) {
55
            return true;
56
        }
57

  
58
        return openSystemSpecific(file.getPath());
59
    }
60

  
61
    @Override
62
    public boolean edit(File file) {
63

  
64
        if ( editDESKTOP(file) ) {
65
            return true;
66
        }
67

  
... This diff was truncated because it exceeds the maximum size that can be displayed.

Also available in: Unified diff