Revision 1690
org.gvsig.tools/library/tags/org.gvsig.tools-3.0.149/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.149/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.149/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.filedialogchooser.FileDialogChooserManager; |
|
28 |
import org.gvsig.svgsupport.SVGSupportManager; |
|
29 |
import org.gvsig.tools.locator.AbstractLocator; |
|
30 |
import org.gvsig.tools.locator.Locator; |
|
31 |
import org.gvsig.tools.locator.LocatorException; |
|
32 |
|
|
33 |
/** |
|
34 |
* @author fdiaz |
|
35 |
* |
|
36 |
*/ |
|
37 |
@SuppressWarnings("rawtypes") |
|
38 |
public class ToolsUtilLocator extends AbstractLocator { |
|
39 |
|
|
40 |
private static final String LOCATOR_NAME = "ToolsUtilLocator"; |
|
41 |
|
|
42 |
public static final String TOOLS_UTIL_MANAGER_NAME = "org.gvsig.tools.util.manager"; |
|
43 |
private static final String TOOLS_UTIL_MANAGER_DESCRIPTION = "Tools utilities."; |
|
44 |
|
|
45 |
public static final String FILE_DIALOG_CHOOSER_MANAGER_NAME = "org.gvsig.filedialogchooser.manager"; |
|
46 |
private static final String FILE_DIALOG_CHOOSER_MANAGER_DESCRIPTION = "File dialog chooser."; |
|
47 |
|
|
48 |
public static final String PLUGINS_SVGSUPPORT_MANAGER_NAME = "SVGSupportManager"; |
|
49 |
private static final String PLUGINS_SVGSUPPORT_MANAGER_DESCRIPTION = "SVGSupportManager"; |
|
50 |
|
|
51 |
private static final ToolsUtilLocator instance = new ToolsUtilLocator(); |
|
52 |
|
|
53 |
private ToolsUtilLocator() { |
|
54 |
|
|
55 |
} |
|
56 |
|
|
57 |
/** |
|
58 |
* Return the singleton instance. |
|
59 |
* |
|
60 |
* @return the singleton instance |
|
61 |
*/ |
|
62 |
public static ToolsUtilLocator getInstance() { |
|
63 |
return instance; |
|
64 |
} |
|
65 |
|
|
66 |
public String getLocatorName() { |
|
67 |
return LOCATOR_NAME; |
|
68 |
} |
|
69 |
|
|
70 |
/** |
|
71 |
* Return a reference to ToolsUtilManager. |
|
72 |
* |
|
73 |
* @return a reference to ToolsUtilManager |
|
74 |
* @throws LocatorException |
|
75 |
* if there is no access to the class or the class cannot be |
|
76 |
* instantiated |
|
77 |
* @see Locator#get(String) |
|
78 |
*/ |
|
79 |
public static ToolsUtilManager getToolsUtilManager() |
|
80 |
throws LocatorException { |
|
81 |
return (ToolsUtilManager) getInstance().get(TOOLS_UTIL_MANAGER_NAME); |
|
82 |
} |
|
83 |
|
|
84 |
/** |
|
85 |
* Registers the Class implementing the ToolsUtilManager interface. |
|
86 |
* |
|
87 |
* @param clazz |
|
88 |
* implementing the ToolsUtilManager interface |
|
89 |
*/ |
|
90 |
public static void registerToolsUtilManager(Class clazz) { |
|
91 |
getInstance().register(TOOLS_UTIL_MANAGER_NAME, |
|
92 |
TOOLS_UTIL_MANAGER_DESCRIPTION, clazz); |
|
93 |
} |
|
94 |
|
|
95 |
public static void registerDefaultToolsUtilManager(Class clazz) { |
|
96 |
getInstance().registerDefault(TOOLS_UTIL_MANAGER_NAME, |
|
97 |
TOOLS_UTIL_MANAGER_DESCRIPTION, clazz); |
|
98 |
} |
|
99 |
|
|
100 |
public static FileDialogChooserManager getFileDialogChooserManager() |
|
101 |
throws LocatorException { |
|
102 |
return (FileDialogChooserManager) getInstance().get(FILE_DIALOG_CHOOSER_MANAGER_NAME); |
|
103 |
} |
|
104 |
|
|
105 |
public static void registerFileDialogChooserManager(Class clazz) { |
|
106 |
getInstance().register(FILE_DIALOG_CHOOSER_MANAGER_NAME, |
|
107 |
FILE_DIALOG_CHOOSER_MANAGER_DESCRIPTION, clazz); |
|
108 |
} |
|
109 |
|
|
110 |
public static void registerDefaultFileDialogChooserManager(Class clazz) { |
|
111 |
getInstance().registerDefault(FILE_DIALOG_CHOOSER_MANAGER_NAME, |
|
112 |
FILE_DIALOG_CHOOSER_MANAGER_DESCRIPTION, clazz); |
|
113 |
} |
|
114 |
|
|
115 |
//SVG support |
|
116 |
public static SVGSupportManager getSVGSupportManager() throws LocatorException { |
|
117 |
return (SVGSupportManager) getInstance().get(PLUGINS_SVGSUPPORT_MANAGER_NAME); |
|
118 |
} |
|
119 |
|
|
120 |
public static void registerSVGSupportManager(Class clazz) { |
|
121 |
getInstance().register(PLUGINS_SVGSUPPORT_MANAGER_NAME, PLUGINS_SVGSUPPORT_MANAGER_DESCRIPTION, |
|
122 |
clazz); |
|
123 |
} |
|
124 |
|
|
125 |
public static void registerDefaultSVGSupportManager(Class clazz) { |
|
126 |
getInstance().registerDefault(PLUGINS_SVGSUPPORT_MANAGER_NAME, |
|
127 |
PLUGINS_SVGSUPPORT_MANAGER_DESCRIPTION, clazz); |
|
128 |
} |
|
129 |
|
|
130 |
} |
org.gvsig.tools/library/tags/org.gvsig.tools-3.0.149/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.149/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.149/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.149/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.149/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.149/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.149/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.149/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.149</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.149/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.149</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.149/org.gvsig.tools.util/org.gvsig.tools.util.impl/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.149</version> |
|
7 |
</parent> |
|
8 |
<groupId>org.gvsig</groupId> |
|
9 |
<artifactId>org.gvsig.tools.util.impl</artifactId> |
|
10 |
<name>org.gvsig.tools.util.impl</name> |
|
11 |
<dependencies> |
|
12 |
<dependency> |
|
13 |
<groupId>org.apache.commons</groupId> |
|
14 |
<artifactId>commons-lang3</artifactId> |
|
15 |
</dependency> |
|
16 |
<dependency> |
|
17 |
<groupId>org.gvsig</groupId> |
|
18 |
<artifactId>org.gvsig.tools.lib</artifactId> |
|
19 |
</dependency> |
|
20 |
<dependency> |
|
21 |
<groupId>org.gvsig</groupId> |
|
22 |
<artifactId>org.gvsig.tools.util.api</artifactId> |
|
23 |
<scope>compile</scope> |
|
24 |
</dependency> |
|
25 |
<dependency> |
|
26 |
<groupId>com.github.fracpete</groupId> |
|
27 |
<artifactId>vfsjfilechooser2</artifactId> |
|
28 |
<scope>compile</scope> |
|
29 |
</dependency> |
|
30 |
</dependencies> |
|
31 |
</project> |
org.gvsig.tools/library/tags/org.gvsig.tools-3.0.149/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 |
|
|
68 |
return openSystemSpecific(file.getPath()); |
|
69 |
} |
|
70 |
|
|
71 |
private boolean openSystemSpecific(String what) { |
|
72 |
|
|
73 |
EnumOS os = getOs(); |
|
74 |
|
|
75 |
if (os.isLinux()) { |
|
76 |
// if (runCommand("gnome-open", "%s", what)) { |
|
77 |
// return true; |
|
78 |
// } |
|
79 |
// if (runCommand("kde-open", "%s", what)) { |
|
80 |
// return true; |
|
81 |
// } |
|
82 |
if (runCommand("xdg-open", "%s", what)) { |
|
83 |
return true; |
|
84 |
} |
|
85 |
} |
|
86 |
|
|
87 |
if ( os.isMac() ) { |
|
88 |
if ( runCommand("open", "%s", what) ) { |
|
89 |
return true; |
|
90 |
} |
|
91 |
} |
|
92 |
|
|
93 |
if ( os.isWindows() ) { |
|
94 |
if ( runCommand("explorer", "%s", what) ) { |
|
95 |
return true; |
|
96 |
} |
|
97 |
} |
|
98 |
|
|
99 |
return false; |
|
100 |
} |
|
101 |
|
|
102 |
private boolean browseDESKTOP(URI uri) { |
|
103 |
|
|
104 |
logger.info("Trying to use Desktop.getDesktop().browse() with " + uri.toString()); |
|
105 |
try { |
|
106 |
if ( !Desktop.isDesktopSupported() ) { |
|
107 |
logger.warn("Platform is not supported."); |
|
108 |
return false; |
|
109 |
} |
|
110 |
|
|
111 |
if ( !Desktop.getDesktop().isSupported(Desktop.Action.BROWSE) ) { |
|
112 |
logger.warn("BROWSE is not supported."); |
|
113 |
return false; |
|
114 |
} |
|
115 |
|
|
116 |
Desktop.getDesktop().browse(uri); |
|
117 |
|
|
118 |
return true; |
|
119 |
} catch (Throwable t) { |
|
120 |
if( logger.isDebugEnabled() ) { |
|
121 |
logger.warn("Error using desktop browse.", t); |
|
122 |
} else { |
|
123 |
logger.warn("Error using Desktop.getDesktop().browse(). "+ t.toString()); |
|
124 |
} |
|
125 |
return false; |
|
126 |
} |
|
127 |
} |
|
128 |
|
|
129 |
private boolean openDESKTOP(File file) { |
|
130 |
|
|
131 |
logger.info("Trying to use Desktop.getDesktop().open() with " + file.toString()); |
|
132 |
try { |
|
133 |
if ( !Desktop.isDesktopSupported() ) { |
|
134 |
logger.warn("Platform is not supported."); |
|
135 |
return false; |
|
136 |
} |
|
137 |
|
|
138 |
if ( !Desktop.getDesktop().isSupported(Desktop.Action.OPEN) ) { |
|
139 |
logger.warn("OPEN is not supported."); |
|
140 |
return false; |
|
141 |
} |
|
142 |
|
|
143 |
Desktop.getDesktop().open(file); |
|
144 |
|
|
145 |
return true; |
|
146 |
} catch (Throwable t) { |
|
147 |
if( logger.isDebugEnabled() ) { |
|
148 |
logger.warn("Error using desktop open.", t); |
|
149 |
} else { |
|
150 |
logger.warn("Error using Desktop.getDesktop().open(). "+ t.toString()); |
|
151 |
} |
|
152 |
return false; |
|
153 |
} |
|
154 |
} |
|
155 |
|
|
156 |
private boolean editDESKTOP(File file) { |
|
157 |
|
|
158 |
logger.info("Trying to use Desktop.getDesktop().edit() with " + file); |
|
159 |
try { |
|
160 |
if ( !Desktop.isDesktopSupported() ) { |
|
161 |
logger.warn("Platform is not supported."); |
|
162 |
return false; |
|
163 |
} |
|
164 |
|
|
165 |
if ( !Desktop.getDesktop().isSupported(Desktop.Action.EDIT) ) { |
|
166 |
logger.warn("EDIT is not supported."); |
|
167 |
return false; |
|
168 |
} |
|
169 |
|
|
170 |
Desktop.getDesktop().edit(file); |
|
171 |
|
|
172 |
return true; |
|
173 |
} catch (Throwable t) { |
|
174 |
if( logger.isDebugEnabled() ) { |
|
175 |
logger.warn("Error using desktop edit.", t); |
|
176 |
} else { |
|
177 |
logger.warn("Error using Desktop.getDesktop().edit(). "+ t.toString()); |
|
178 |
} |
|
179 |
return false; |
|
180 |
} |
|
181 |
} |
|
182 |
|
|
183 |
private boolean runCommand(String command, String args, String file) { |
|
184 |
|
|
185 |
logger.info("Trying to exec:\n cmd = " + command + "\n args = " + args + "\n %s = " + file); |
|
186 |
|
|
187 |
String[] parts = prepareCommand(command, args, file); |
|
188 |
|
|
189 |
try { |
|
190 |
Process p = Runtime.getRuntime().exec(parts); |
|
191 |
if ( p == null ) { |
|
192 |
return false; |
|
193 |
} |
|
194 |
|
|
195 |
try { |
|
196 |
int retval = p.exitValue(); |
|
197 |
if ( retval == 0 ) { |
|
198 |
logger.warn("Process ended immediately."); |
|
199 |
return false; |
|
200 |
} else { |
|
201 |
logger.warn("Process crashed."); |
|
202 |
return false; |
|
203 |
} |
|
204 |
} catch (IllegalThreadStateException itse) { |
|
205 |
logger.warn("Process is running."); |
|
206 |
return true; |
|
207 |
} |
|
208 |
} catch (IOException e) { |
|
209 |
if( logger.isDebugEnabled() ) { |
|
210 |
logger.warn("Error running command.", e); |
|
211 |
} else { |
|
212 |
logger.warn("Error running command. "+ e.toString()); |
|
213 |
} |
|
214 |
return false; |
|
215 |
} |
|
216 |
} |
|
217 |
|
|
218 |
private String[] prepareCommand(String command, String args, String file) { |
|
219 |
|
|
220 |
List<String> parts = new ArrayList<>(); |
|
221 |
parts.add(command); |
|
222 |
|
|
223 |
if ( args != null ) { |
|
224 |
for ( String s : args.split(" ") ) { |
|
225 |
s = String.format(s, file); // put in the filename thing |
|
226 |
|
|
227 |
parts.add(s.trim()); |
|
228 |
} |
|
229 |
} |
|
230 |
|
|
231 |
return parts.toArray(new String[parts.size()]); |
|
232 |
} |
|
233 |
|
|
234 |
public EnumOS getOs() { |
|
235 |
|
|
236 |
String s = System.getProperty("os.name").toLowerCase(); |
|
237 |
|
|
238 |
if ( s.contains("win") ) { |
|
239 |
return EnumOS.windows; |
|
240 |
} |
|
241 |
|
|
242 |
if ( s.contains("mac") ) { |
|
243 |
return EnumOS.macos; |
|
244 |
} |
|
245 |
|
|
246 |
if ( s.contains("solaris") ) { |
|
247 |
return EnumOS.solaris; |
|
248 |
} |
|
249 |
|
|
250 |
if ( s.contains("sunos") ) { |
|
251 |
return EnumOS.solaris; |
|
252 |
} |
|
253 |
|
|
254 |
if ( s.contains("linux") ) { |
|
255 |
return EnumOS.linux; |
|
256 |
} |
|
257 |
|
|
258 |
if ( s.contains("unix") ) { |
|
259 |
return EnumOS.linux; |
|
260 |
} else { |
|
261 |
return EnumOS.unknown; |
|
262 |
} |
|
263 |
} |
|
264 |
} |
org.gvsig.tools/library/tags/org.gvsig.tools-3.0.149/org.gvsig.tools.util/org.gvsig.tools.util.impl/src/main/java/org/gvsig/svgsupport/DumbSVGRenderer.java | ||
---|---|---|
1 |
|
|
2 |
package org.gvsig.svgsupport; |
|
3 |
|
|
4 |
import java.awt.Graphics2D; |
|
5 |
import java.awt.geom.Rectangle2D; |
|
6 |
import java.io.File; |
|
7 |
import java.io.IOException; |
|
8 |
import java.net.URISyntaxException; |
|
9 |
import java.net.URL; |
|
10 |
|
|
11 |
|
|
12 |
public class DumbSVGRenderer implements SVGRenderer { |
|
13 |
|
|
14 |
private URL source; |
|
15 |
|
|
16 |
@Override |
|
17 |
public void drawInsideRectangle(Graphics2D g, Rectangle2D rect, boolean keepAspectRatio) { |
|
18 |
|
|
19 |
} |
|
20 |
|
|
21 |
@Override |
|
22 |
public Rectangle2D getBounds() { |
|
23 |
return new Rectangle2D.Float(0, 0, 1, 1); |
|
24 |
} |
|
25 |
|
|
26 |
@Override |
|
27 |
public URL getSource() { |
|
28 |
return source; |
|
29 |
} |
|
30 |
|
|
31 |
@Override |
|
32 |
public void setSource(URL url) throws IOException { |
|
33 |
this.source = url; |
|
34 |
} |
|
35 |
|
|
36 |
@Override |
|
37 |
public void setSource(File f) throws IOException { |
|
38 |
try { |
|
39 |
this.source = source.toURI().toURL(); |
|
40 |
} catch (URISyntaxException ex) { |
|
41 |
|
|
42 |
} |
|
43 |
} |
|
44 |
|
|
45 |
} |
org.gvsig.tools/library/tags/org.gvsig.tools-3.0.149/org.gvsig.tools.util/org.gvsig.tools.util.impl/src/main/java/org/gvsig/svgsupport/DumbSVGSupportManager.java | ||
---|---|---|
1 |
|
|
2 |
package org.gvsig.svgsupport; |
|
3 |
|
|
4 |
import java.io.File; |
|
5 |
import java.io.IOException; |
|
6 |
import java.net.URL; |
|
7 |
|
|
8 |
|
|
9 |
public class DumbSVGSupportManager implements SVGSupportManager { |
|
10 |
|
|
11 |
@Override |
|
12 |
public SVGRenderer createRenderer() { |
|
13 |
return new DumbSVGRenderer(); |
|
14 |
} |
|
15 |
|
|
16 |
@Override |
|
17 |
public SVGRenderer createRenderer(URL source) throws IOException { |
|
18 |
SVGRenderer renderer = new DumbSVGRenderer(); |
|
19 |
renderer.setSource(source); |
|
20 |
return renderer; |
|
21 |
} |
|
22 |
|
|
23 |
@Override |
|
24 |
public SVGRenderer createRenderer(File source) throws IOException { |
|
25 |
SVGRenderer renderer = new DumbSVGRenderer(); |
|
26 |
renderer.setSource(source); |
|
27 |
return renderer; |
|
28 |
} |
|
29 |
|
|
30 |
} |
org.gvsig.tools/library/tags/org.gvsig.tools-3.0.149/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 + ": </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.149/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.149/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.filedialogchooser.impl.DefaultFileDialogChooserManager; |
|
26 |
import org.gvsig.svgsupport.DumbSVGSupportManager; |
|
27 |
import org.gvsig.tools.library.AbstractLibrary; |
|
28 |
import org.gvsig.tools.library.Library; |
|
29 |
import org.gvsig.tools.library.LibraryException; |
|
30 |
import org.gvsig.tools.util.ToolsUtilLibrary; |
|
31 |
import org.gvsig.tools.util.ToolsUtilLocator; |
|
32 |
|
|
33 |
/** |
|
34 |
* {@link Library} for the default tools util implementation. |
|
35 |
* |
|
36 |
* @author gvSIG team |
|
37 |
*/ |
|
38 |
public class ToolsUtilLibraryImpl extends AbstractLibrary { |
|
39 |
|
|
40 |
@Override |
|
41 |
public void doRegistration() { |
|
42 |
super.doRegistration(); |
|
43 |
registerAsImplementationOf(ToolsUtilLibrary.class); |
|
44 |
} |
|
45 |
|
|
46 |
@Override |
|
47 |
protected void doInitialize() throws LibraryException { |
|
48 |
ToolsUtilLocator.registerDefaultToolsUtilManager(DefaultToolsUtilManager.class); |
|
49 |
ToolsUtilLocator.registerDefaultFileDialogChooserManager(DefaultFileDialogChooserManager.class); |
|
50 |
ToolsUtilLocator.registerDefaultSVGSupportManager(DumbSVGSupportManager.class); |
|
51 |
} |
|
52 |
|
|
53 |
@Override |
|
54 |
protected void doPostInitialize() throws LibraryException { |
|
55 |
|
|
56 |
} |
|
57 |
|
|
58 |
} |
org.gvsig.tools/library/tags/org.gvsig.tools-3.0.149/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 |
if( dir == null ) { |
|
60 |
dir = new File(System.getProperty("user.home")); |
|
61 |
} |
|
62 |
this.jfc.setCurrentDirectory(dir); |
|
63 |
} |
|
64 |
|
|
65 |
@Override |
|
66 |
public File getCurrentDirectory() { |
|
67 |
return this.jfc.getCurrentDirectory(); |
|
68 |
} |
|
69 |
|
|
70 |
@Override |
|
71 |
public void setDialogTitle(String dialogTitle) { |
|
72 |
this.jfc.setDialogTitle(dialogTitle); |
|
73 |
} |
|
74 |
|
|
75 |
@Override |
|
76 |
public void setDialogType(int dialogType) { |
|
77 |
switch(dialogType) { |
|
78 |
default: |
|
79 |
case OPEN_DIALOG: |
|
80 |
this.jfc.setDialogType(VFSJFileChooser.DIALOG_TYPE.OPEN); |
|
81 |
break; |
|
82 |
case SAVE_DIALOG: |
|
83 |
this.jfc.setDialogType(VFSJFileChooser.DIALOG_TYPE.SAVE); |
|
84 |
break; |
|
85 |
} |
|
86 |
} |
|
87 |
|
|
88 |
@Override |
|
89 |
public void setDragEnabled(boolean b) { |
|
90 |
this.jfc.setDragEnabled(b); |
|
91 |
} |
|
92 |
|
|
93 |
@Override |
|
94 |
public void setFileFilter(FileFilter filter) { |
|
95 |
if( filter == null ) { |
|
96 |
this.jfc.setFileFilter(null); |
|
97 |
} else { |
|
98 |
this.jfc.setFileFilter(new FileFilterAdapter(filter)); |
|
99 |
} |
|
100 |
} |
|
101 |
|
|
102 |
@Override |
|
103 |
public FileFilter getFileFilter() { |
|
104 |
FileFilterAdapter f = (FileFilterAdapter) this.jfc.getFileFilter(); |
|
105 |
return f.getFilter(); |
|
106 |
} |
|
107 |
|
|
108 |
@Override |
|
109 |
public void setFileSelectionMode(int mode) { |
|
110 |
switch(mode) { |
|
111 |
case FILES_ONLY: |
|
112 |
this.jfc.setFileSelectionMode(VFSJFileChooser.SELECTION_MODE.FILES_ONLY); |
|
113 |
break; |
|
114 |
case DIRECTORIES_ONLY: |
|
115 |
this.jfc.setFileSelectionMode(VFSJFileChooser.SELECTION_MODE.DIRECTORIES_ONLY); |
|
116 |
break; |
|
117 |
default: |
|
118 |
case FILES_AND_DIRECTORIES: |
|
119 |
this.jfc.setFileSelectionMode(VFSJFileChooser.SELECTION_MODE.FILES_AND_DIRECTORIES); |
|
120 |
break; |
|
121 |
} |
|
122 |
} |
|
123 |
|
|
124 |
@Override |
|
125 |
public File getSelectedFile() { |
|
126 |
return this.jfc.getSelectedFile(); |
|
127 |
} |
|
128 |
|
|
129 |
@Override |
|
130 |
public File[] getSelectedFiles() { |
|
131 |
return this.jfc.getSelectedFiles(); |
|
132 |
} |
|
133 |
|
|
134 |
@Override |
|
135 |
public void setFileHidingEnabled(boolean b) { |
|
136 |
this.jfc.setFileHidingEnabled(b); |
|
137 |
} |
|
138 |
|
|
139 |
@Override |
|
140 |
public void setMultiSelectionEnabled(boolean b) { |
|
141 |
this.jfc.setMultiSelectionEnabled(b); |
|
142 |
} |
|
143 |
|
|
144 |
@Override |
|
145 |
public boolean isMultiSelectionEnabled() { |
|
146 |
return this.jfc.isMultiSelectionEnabled(); |
|
147 |
} |
|
148 |
|
|
149 |
@Override |
|
150 |
public int showOpenDialog(Component parent) { |
|
151 |
FileDialogChooserManager manager = ToolsUtilLocator.getFileDialogChooserManager(); |
|
152 |
File f = manager.getLastPath(fileChooserID, this.getCurrentDirectory()); |
|
153 |
this.jfc.setCurrentDirectory(f); |
|
154 |
VFSJFileChooser.RETURN_TYPE r = this.jfc.showOpenDialog(parent); |
|
155 |
if( r == VFSJFileChooser.RETURN_TYPE.CANCEL ) { |
|
156 |
return CANCEL_OPTION; |
|
157 |
} |
|
158 |
if( r == VFSJFileChooser.RETURN_TYPE.APPROVE ) { |
|
159 |
manager.setLastPath(fileChooserID, this.getCurrentDirectory()); |
|
160 |
return APPROVE_OPTION; |
|
161 |
} |
|
162 |
if( r == VFSJFileChooser.RETURN_TYPE.ERROR ) { |
|
163 |
return ERROR_OPTION; |
|
164 |
} |
|
165 |
return ERROR_OPTION; |
|
166 |
} |
|
167 |
|
|
168 |
@Override |
|
169 |
public int showSaveDialog(Component parent) { |
|
170 |
FileDialogChooserManager manager = ToolsUtilLocator.getFileDialogChooserManager(); |
|
171 |
File f = manager.getLastPath(fileChooserID, this.getCurrentDirectory()); |
|
172 |
this.jfc.setCurrentDirectory(f); |
|
173 |
VFSJFileChooser.RETURN_TYPE r = this.jfc.showSaveDialog(parent); |
|
174 |
if( r == VFSJFileChooser.RETURN_TYPE.CANCEL ) { |
|
175 |
return CANCEL_OPTION; |
|
176 |
} |
|
177 |
if( r == VFSJFileChooser.RETURN_TYPE.APPROVE ) { |
|
178 |
manager.setLastPath(fileChooserID, this.getCurrentDirectory()); |
|
179 |
return APPROVE_OPTION; |
|
180 |
} |
|
181 |
if( r == VFSJFileChooser.RETURN_TYPE.ERROR ) { |
Also available in: Unified diff