Revision 1240
org.gvsig.educa.portableview/tags/org.gvsig.educa.portableview-1.0.189/org.gvsig.educa.portableview.app/org.gvsig.educa.portableview.app.editor/src/main/assembly/gvsig-plugin-package.xml | ||
---|---|---|
1 |
<assembly> |
|
2 |
<id>gvsig-plugin-package</id> |
|
3 |
<formats> |
|
4 |
<format>zip</format> |
|
5 |
</formats> |
|
6 |
<baseDirectory>${project.artifactId}</baseDirectory> |
|
7 |
<includeBaseDirectory>true</includeBaseDirectory> |
|
8 |
<files> |
|
9 |
<file> |
|
10 |
<source>target/${project.artifactId}-${project.version}.jar</source> |
|
11 |
<outputDirectory>lib</outputDirectory> |
|
12 |
</file> |
|
13 |
<file> |
|
14 |
<source>target/package.info</source> |
|
15 |
</file> |
|
16 |
</files> |
|
17 |
|
|
18 |
<fileSets> |
|
19 |
<fileSet> |
|
20 |
<directory>src/main/resources-plugin</directory> |
|
21 |
<outputDirectory>.</outputDirectory> |
|
22 |
</fileSet> |
|
23 |
</fileSets> |
|
24 |
|
|
25 |
<dependencySets> |
|
26 |
<dependencySet> |
|
27 |
<useProjectArtifact>false</useProjectArtifact> |
|
28 |
<useTransitiveDependencies>false</useTransitiveDependencies> |
|
29 |
<outputDirectory>lib</outputDirectory> |
|
30 |
<includes> |
|
31 |
<include>org.gvsig:org.gvsig.educa.portableview.app.editor</include> |
|
32 |
</includes> |
|
33 |
</dependencySet> |
|
34 |
</dependencySets> |
|
35 |
|
|
36 |
</assembly> |
org.gvsig.educa.portableview/tags/org.gvsig.educa.portableview-1.0.189/org.gvsig.educa.portableview.app/org.gvsig.educa.portableview.app.editor/src/main/java/org/gvsig/educa/portableview/app/editor/OpenRelatedPortableViewExtension.java | ||
---|---|---|
1 |
/* gvSIG. Geographic Information System of the Valencian Government |
|
2 |
* |
|
3 |
* Copyright (C) 2007-2008 Infrastructures and Transports Department |
|
4 |
* of the Valencian Government (CIT) |
|
5 |
* |
|
6 |
* This program is free software; you can redistribute it and/or |
|
7 |
* modify it under the terms of the GNU General Public License |
|
8 |
* as published by the Free Software Foundation; either version 2 |
|
9 |
* of the License, or (at your option) any later version. |
|
10 |
* |
|
11 |
* This program is distributed in the hope that it will be useful, |
|
12 |
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
13 |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
14 |
* GNU General Public License for more details. |
|
15 |
* |
|
16 |
* You should have received a copy of the GNU General Public License |
|
17 |
* along with this program; if not, write to the Free Software |
|
18 |
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, |
|
19 |
* MA 02110-1301, USA. |
|
20 |
* |
|
21 |
*/ |
|
22 |
package org.gvsig.educa.portableview.app.editor; |
|
23 |
|
|
24 |
import org.gvsig.andami.PluginServices; |
|
25 |
import org.gvsig.andami.ui.mdiManager.IWindow; |
|
26 |
import org.gvsig.app.project.documents.view.gui.IView; |
|
27 |
|
|
28 |
/** |
|
29 |
* Andami extension which opens related portable view of a view |
|
30 |
* |
|
31 |
* @author gvSIG Team |
|
32 |
* @version $Id$ |
|
33 |
* |
|
34 |
*/ |
|
35 |
public class OpenRelatedPortableViewExtension extends |
|
36 |
OpenRelatedDocumentExtension { |
|
37 |
|
|
38 |
@Override |
|
39 |
public boolean isVisible() { |
|
40 |
IWindow window = PluginServices.getMDIManager().getActiveWindow(); |
|
41 |
return window instanceof IView && super.isVisible(); |
|
42 |
} |
|
43 |
} |
org.gvsig.educa.portableview/tags/org.gvsig.educa.portableview-1.0.189/org.gvsig.educa.portableview.app/org.gvsig.educa.portableview.app.editor/src/main/java/org/gvsig/educa/portableview/app/editor/CompilationListener.java | ||
---|---|---|
1 |
/* gvSIG. Geographic Information System of the Valencian Government |
|
2 |
* |
|
3 |
* Copyright (C) 2007-2008 Infrastructures and Transports Department |
|
4 |
* of the Valencian Government (CIT) |
|
5 |
* |
|
6 |
* This program is free software; you can redistribute it and/or |
|
7 |
* modify it under the terms of the GNU General Public License |
|
8 |
* as published by the Free Software Foundation; either version 2 |
|
9 |
* of the License, or (at your option) any later version. |
|
10 |
* |
|
11 |
* This program is distributed in the hope that it will be useful, |
|
12 |
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
13 |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
14 |
* GNU General Public License for more details. |
|
15 |
* |
|
16 |
* You should have received a copy of the GNU General Public License |
|
17 |
* along with this program; if not, write to the Free Software |
|
18 |
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, |
|
19 |
* MA 02110-1301, USA. |
|
20 |
* |
|
21 |
*/ |
|
22 |
package org.gvsig.educa.portableview.app.editor; |
|
23 |
|
|
24 |
import org.gvsig.educa.portableview.compilation.PortableViewCompilation; |
|
25 |
import org.gvsig.educa.portableview.compilation.PortableViewCompilerStatus; |
|
26 |
|
|
27 |
/** |
|
28 |
* Portable View Document compilation listener |
|
29 |
* |
|
30 |
* @author gvSIG Team |
|
31 |
* @version $Id$ |
|
32 |
* |
|
33 |
*/ |
|
34 |
public interface CompilationListener { |
|
35 |
|
|
36 |
/** |
|
37 |
* Call when process is success |
|
38 |
* |
|
39 |
* @param status |
|
40 |
*/ |
|
41 |
void finished(PortableViewCompilerStatus status); |
|
42 |
|
|
43 |
/** |
|
44 |
* Call when process is canceled in the compilation step |
|
45 |
* |
|
46 |
* @param status |
|
47 |
*/ |
|
48 |
void canceledCompilation(PortableViewCompilerStatus status); |
|
49 |
|
|
50 |
/** |
|
51 |
* Call when user cancel the editor |
|
52 |
* |
|
53 |
* @param compilation |
|
54 |
*/ |
|
55 |
void canceledEditing(PortableViewCompilation compilation); |
|
56 |
|
|
57 |
/** |
|
58 |
* Call when compilation process is not sucess |
|
59 |
* |
|
60 |
* @param status |
|
61 |
*/ |
|
62 |
void fail(PortableViewCompilerStatus status); |
|
63 |
|
|
64 |
/** |
|
65 |
* Call when an exception is throw |
|
66 |
* |
|
67 |
* @param message |
|
68 |
* @param exception |
|
69 |
*/ |
|
70 |
void exception(String message, Throwable exception); |
|
71 |
} |
org.gvsig.educa.portableview/tags/org.gvsig.educa.portableview-1.0.189/org.gvsig.educa.portableview.app/org.gvsig.educa.portableview.app.editor/src/main/java/org/gvsig/educa/portableview/app/editor/PortableViewEditorManager.java | ||
---|---|---|
1 |
/* gvSIG. Geographic Information System of the Valencian Government |
|
2 |
* |
|
3 |
* Copyright (C) 2007-2008 Infrastructures and Transports Department |
|
4 |
* of the Valencian Government (CIT) |
|
5 |
* |
|
6 |
* This program is free software; you can redistribute it and/or |
|
7 |
* modify it under the terms of the GNU General Public License |
|
8 |
* as published by the Free Software Foundation; either version 2 |
|
9 |
* of the License, or (at your option) any later version. |
|
10 |
* |
|
11 |
* This program is distributed in the hope that it will be useful, |
|
12 |
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
13 |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
14 |
* GNU General Public License for more details. |
|
15 |
* |
|
16 |
* You should have received a copy of the GNU General Public License |
|
17 |
* along with this program; if not, write to the Free Software |
|
18 |
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, |
|
19 |
* MA 02110-1301, USA. |
|
20 |
* |
|
21 |
*/ |
|
22 |
package org.gvsig.educa.portableview.app.editor; |
|
23 |
|
|
24 |
import java.io.File; |
|
25 |
import java.io.IOException; |
|
26 |
|
|
27 |
import org.gvsig.app.project.documents.view.ViewDocument; |
|
28 |
import org.gvsig.educa.portableview.PortableViewException; |
|
29 |
import org.gvsig.educa.portableview.PortableViewManager; |
|
30 |
import org.gvsig.educa.portableview.app.viewer.PortableViewDocument; |
|
31 |
import org.gvsig.educa.portableview.app.viewer.PortableViewDocumentManager; |
|
32 |
import org.gvsig.educa.portableview.compilation.PortableViewCompilation; |
|
33 |
import org.gvsig.educa.portableview.map.CantLoadContextException; |
|
34 |
import org.gvsig.educa.portableview.map.InvalidPortableViewFormatException; |
|
35 |
import org.gvsig.educa.portableview.map.PortableView; |
|
36 |
import org.gvsig.educa.portableview.swing.PortableViewSwingManager; |
|
37 |
import org.gvsig.tools.persistence.exception.PersistenceException; |
|
38 |
|
|
39 |
/** |
|
40 |
* <p> |
|
41 |
* Manager which make easy the creation, editing and share PortableView |
|
42 |
* </p> |
|
43 |
* <p> |
|
44 |
* This uses all services of {@link PortableViewManager} and |
|
45 |
* {@link PortableViewSwingManager} in a high level way. |
|
46 |
* </p> |
|
47 |
* |
|
48 |
* <p> |
|
49 |
* This manager provides the most important services which provides this add-on |
|
50 |
* </p> |
|
51 |
* |
|
52 |
* @author gvSIG Team |
|
53 |
* @version $Id$ |
|
54 |
* |
|
55 |
*/ |
|
56 |
public interface PortableViewEditorManager { |
|
57 |
|
|
58 |
/** |
|
59 |
* Returns {@link PortableViewDocumentManager} instance |
|
60 |
* |
|
61 |
* @return |
|
62 |
*/ |
|
63 |
PortableViewDocumentManager getDocManager(); |
|
64 |
|
|
65 |
/** |
|
66 |
* Compile a {@link PortableViewCompilation} and deploy it in current install |
|
67 |
* folder ( {@link PortableViewManager#getInstallationMapFolder()} ) |
|
68 |
* |
|
69 |
* @param compilation |
|
70 |
* to compile |
|
71 |
* |
|
72 |
* @param listener |
|
73 |
* of the process |
|
74 |
*/ |
|
75 |
void compileInInstallFolder(PortableViewCompilation compilation, |
|
76 |
CompilationListener listener); |
|
77 |
|
|
78 |
/** |
|
79 |
* <p> |
|
80 |
* Create a new {@link PortableView} from a view contents and open it as a |
|
81 |
* {@link PortableViewDocument} |
|
82 |
* </p> |
|
83 |
* <p> |
|
84 |
* {@link PortableViewDocument} will be linked to source view so it can be |
|
85 |
* regenerated. |
|
86 |
* </p> |
|
87 |
* |
|
88 |
* @param view |
|
89 |
* @param listener |
|
90 |
* @param openWindow |
|
91 |
*/ |
|
92 |
void createPortableViewFromView(ViewDocument view, |
|
93 |
CompilationListener listener, boolean openWindow); |
|
94 |
|
|
95 |
/** |
|
96 |
* Gets the {@link PortableViewDocument} linked to a {@link ViewDocument} |
|
97 |
* |
|
98 |
* @param view |
|
99 |
* @return the document or null if not found |
|
100 |
*/ |
|
101 |
PortableViewDocument getPortableViewDocumentByView(ViewDocument view); |
|
102 |
|
|
103 |
/** |
|
104 |
* Generate a gvSIG add-ons installer package from a |
|
105 |
* {@link PortableViewDocument} |
|
106 |
* |
|
107 |
* @param portableView |
|
108 |
* to packing |
|
109 |
* @param targetFolder |
|
110 |
* to store result file |
|
111 |
* @return |
|
112 |
* @throws IOException |
|
113 |
* @throws PortableViewException |
|
114 |
*/ |
|
115 |
File generatePackage(PortableViewDocument portableView, File targetFolder) |
|
116 |
throws PortableViewException, IOException; |
|
117 |
|
|
118 |
/** |
|
119 |
* <p> |
|
120 |
* Generate a gvSIG add-ons installer package from a |
|
121 |
* {@link PortableViewDocument} |
|
122 |
* </p> |
|
123 |
* <p> |
|
124 |
* User will be prompted for folder to store result file |
|
125 |
* </p> |
|
126 |
* |
|
127 |
* @param portableView |
|
128 |
* @return |
|
129 |
* @throws IOException |
|
130 |
* @throws PortableViewException |
|
131 |
*/ |
|
132 |
File generatePackage(PortableViewDocument portableView) |
|
133 |
throws PortableViewException, IOException; |
|
134 |
|
|
135 |
/** |
|
136 |
* Export the contents of a Portable View into a folder and create a |
|
137 |
* {@link ViewDocument} in project with it's layers |
|
138 |
* <p> |
|
139 |
* User will be prompted for extract folder |
|
140 |
* </p> |
|
141 |
* <p> |
|
142 |
* If Portable view document has no related view link the new one to it |
|
143 |
* </p> |
|
144 |
* |
|
145 |
* @param map |
|
146 |
* @param openViewWindow |
|
147 |
* @return |
|
148 |
* @throws IOException |
|
149 |
* @throws InvalidPortableViewFormatException |
|
150 |
* @throws PersistenceException |
|
151 |
*/ |
|
152 |
ViewDocument exportPortableViewToView(PortableViewDocument map, |
|
153 |
boolean openViewWindow) throws IOException, |
|
154 |
InvalidPortableViewFormatException, PersistenceException; |
|
155 |
|
|
156 |
/** |
|
157 |
* Export the contents of a Portable View into a folder and create a |
|
158 |
* {@link ViewDocument} in project with it's layers |
|
159 |
* <p> |
|
160 |
* If Portable view document has no related view link the new one to it |
|
161 |
* </p> |
|
162 |
* |
|
163 |
* @param map |
|
164 |
* @param exportFolder |
|
165 |
* <b>Warning:</b> this folder must be empty |
|
166 |
* @return |
|
167 |
* @throws IOException |
|
168 |
* @throws InvalidPortableViewFormatException |
|
169 |
* @throws PersistenceException |
|
170 |
*/ |
|
171 |
ViewDocument exportPortableViewToView(PortableViewDocument map, |
|
172 |
File exportFolder, boolean openViewWindow) throws IOException, |
|
173 |
InvalidPortableViewFormatException, PersistenceException; |
|
174 |
|
|
175 |
/** |
|
176 |
* <p> |
|
177 |
* Regenerates the Portable View from current state of source View |
|
178 |
* </p> |
|
179 |
* <p> |
|
180 |
* Portable View document must be linked to a view, otherwise this method do |
|
181 |
* nothing. |
|
182 |
* </p> |
|
183 |
* |
|
184 |
* @param map |
|
185 |
* @param listener |
|
186 |
* @param openWindow |
|
187 |
* @throws IOException |
|
188 |
* @throws CantLoadContextException |
|
189 |
* @throws InvalidPortableViewFormatException |
|
190 |
*/ |
|
191 |
void regeneratePortableView(PortableViewDocument map, |
|
192 |
CompilationListener listener, boolean openWindow) |
|
193 |
throws InvalidPortableViewFormatException, CantLoadContextException, |
|
194 |
IOException; |
|
195 |
|
|
196 |
} |
org.gvsig.educa.portableview/tags/org.gvsig.educa.portableview-1.0.189/org.gvsig.educa.portableview.app/org.gvsig.educa.portableview.app.editor/src/main/java/org/gvsig/educa/portableview/app/editor/GeneratePackagePortableViewExtension.java | ||
---|---|---|
1 |
/* gvSIG. Geographic Information System of the Valencian Government |
|
2 |
* |
|
3 |
* Copyright (C) 2007-2008 Infrastructures and Transports Department |
|
4 |
* of the Valencian Government (CIT) |
|
5 |
* |
|
6 |
* This program is free software; you can redistribute it and/or |
|
7 |
* modify it under the terms of the GNU General Public License |
|
8 |
* as published by the Free Software Foundation; either version 2 |
|
9 |
* of the License, or (at your option) any later version. |
|
10 |
* |
|
11 |
* This program is distributed in the hope that it will be useful, |
|
12 |
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
13 |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
14 |
* GNU General Public License for more details. |
|
15 |
* |
|
16 |
* You should have received a copy of the GNU General Public License |
|
17 |
* along with this program; if not, write to the Free Software |
|
18 |
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, |
|
19 |
* MA 02110-1301, USA. |
|
20 |
* |
|
21 |
*/ |
|
22 |
package org.gvsig.educa.portableview.app.editor; |
|
23 |
|
|
24 |
import java.io.File; |
|
25 |
|
|
26 |
import javax.swing.SwingUtilities; |
|
27 |
|
|
28 |
import org.gvsig.andami.PluginServices; |
|
29 |
import org.gvsig.andami.messages.NotificationManager; |
|
30 |
import org.gvsig.andami.plugins.Extension; |
|
31 |
import org.gvsig.andami.ui.mdiManager.IWindow; |
|
32 |
import org.gvsig.educa.portableview.app.viewer.PortableViewDocument; |
|
33 |
import org.gvsig.educa.portableview.app.viewer.ui.PortableViewDocumentViewer; |
|
34 |
import org.gvsig.educa.portableview.swing.PortableViewSwingLocator; |
|
35 |
import org.gvsig.educa.portableview.swing.PortableViewSwingManager; |
|
36 |
import org.gvsig.educa.portableview.swing.PortableViewWindowManager.MESSAGE_DIALOG_TYPE; |
|
37 |
|
|
38 |
/** |
|
39 |
* Andami extension to create a gvSIG package of a Portable View. |
|
40 |
* |
|
41 |
* @author gvSIG Team |
|
42 |
* @version $Id$ |
|
43 |
*/ |
|
44 |
public class GeneratePackagePortableViewExtension extends Extension { |
|
45 |
|
|
46 |
private PortableViewEditorManager editorManager; |
|
47 |
private PortableViewSwingManager swingManager; |
|
48 |
|
|
49 |
public void initialize() { |
|
50 |
// Do nothing |
|
51 |
} |
|
52 |
|
|
53 |
@Override |
|
54 |
public void postInitialize() { |
|
55 |
editorManager = PortableViewEditorLocator.getManager(); |
|
56 |
swingManager = PortableViewSwingLocator.getSwingManager(); |
|
57 |
} |
|
58 |
|
|
59 |
public void execute(String actionCommand) { |
|
60 |
IWindow window = PluginServices.getMDIManager().getActiveWindow(); |
|
61 |
if (!(window instanceof PortableViewDocumentViewer)) { |
|
62 |
return; |
|
63 |
} |
|
64 |
final PortableViewDocument tmDocument = |
|
65 |
((PortableViewDocumentViewer) window).getPortableViewDocument(); |
|
66 |
|
|
67 |
SwingUtilities.invokeLater(new Runnable() { |
|
68 |
|
|
69 |
public void run() { |
|
70 |
try { |
|
71 |
File file = editorManager.generatePackage(tmDocument); |
|
72 |
if (file != null) { |
|
73 |
swingManager.getWindowManager().showMessageDialog( |
|
74 |
swingManager.getTranslation("generate_package"), |
|
75 |
swingManager.getTranslation("generated_file") |
|
76 |
.concat(":").concat(file.getAbsolutePath()), |
|
77 |
MESSAGE_DIALOG_TYPE.INFO); |
|
78 |
} |
|
79 |
} catch (Exception ex) { |
|
80 |
NotificationManager.addError( |
|
81 |
swingManager |
|
82 |
.getTranslation("problems_exporting_portable_view_to_view"), |
|
83 |
ex); |
|
84 |
} |
|
85 |
|
|
86 |
} |
|
87 |
}); |
|
88 |
} |
|
89 |
|
|
90 |
public boolean isEnabled() { |
|
91 |
return true; |
|
92 |
} |
|
93 |
|
|
94 |
public boolean isVisible() { |
|
95 |
IWindow window = PluginServices.getMDIManager().getActiveWindow(); |
|
96 |
return window instanceof PortableViewDocumentViewer; |
|
97 |
} |
|
98 |
} |
org.gvsig.educa.portableview/tags/org.gvsig.educa.portableview-1.0.189/org.gvsig.educa.portableview.app/org.gvsig.educa.portableview.app.editor/src/main/java/org/gvsig/educa/portableview/app/editor/PortableViewEditorExtension.java | ||
---|---|---|
1 |
/* gvSIG. Geographic Information System of the Valencian Government |
|
2 |
* |
|
3 |
* Copyright (C) 2007-2008 Infrastructures and Transports Department |
|
4 |
* of the Valencian Government (CIT) |
|
5 |
* |
|
6 |
* This program is free software; you can redistribute it and/or |
|
7 |
* modify it under the terms of the GNU General Public License |
|
8 |
* as published by the Free Software Foundation; either version 2 |
|
9 |
* of the License, or (at your option) any later version. |
|
10 |
* |
|
11 |
* This program is distributed in the hope that it will be useful, |
|
12 |
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
13 |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
14 |
* GNU General Public License for more details. |
|
15 |
* |
|
16 |
* You should have received a copy of the GNU General Public License |
|
17 |
* along with this program; if not, write to the Free Software |
|
18 |
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, |
|
19 |
* MA 02110-1301, USA. |
|
20 |
* |
|
21 |
*/ |
|
22 |
package org.gvsig.educa.portableview.app.editor; |
|
23 |
|
|
24 |
import java.util.ArrayList; |
|
25 |
import java.util.List; |
|
26 |
|
|
27 |
import org.gvsig.about.AboutManager; |
|
28 |
import org.gvsig.about.AboutParticipant; |
|
29 |
import org.gvsig.andami.plugins.Extension; |
|
30 |
import org.gvsig.app.ApplicationLocator; |
|
31 |
import org.gvsig.app.ApplicationManager; |
|
32 |
import org.gvsig.app.project.ProjectManager; |
|
33 |
import org.gvsig.app.project.documents.view.ViewManager; |
|
34 |
import org.gvsig.educa.portableview.app.editor.document.GeneratePackageOfPortableViewAction; |
|
35 |
import org.gvsig.educa.portableview.app.editor.document.OpenRelatedPortableViewAction; |
|
36 |
import org.gvsig.educa.portableview.app.editor.document.OpenSourceViewAction; |
|
37 |
import org.gvsig.educa.portableview.app.editor.document.RegeneratePortableViewFromViewAction; |
|
38 |
import org.gvsig.educa.portableview.app.editor.document.PortableViewToViewAction; |
|
39 |
import org.gvsig.educa.portableview.app.editor.document.ViewToPortableViewAction; |
|
40 |
import org.gvsig.educa.portableview.app.viewer.PortableViewDocumentManager; |
|
41 |
import org.gvsig.educa.portableview.app.viewer.PortableViewExtension; |
|
42 |
|
|
43 |
/** |
|
44 |
* Andami extension which initializes the document actions related to |
|
45 |
* PortableView creation, editing and share. |
|
46 |
* |
|
47 |
* @author gvSIG Team |
|
48 |
* @version $Id$ |
|
49 |
*/ |
|
50 |
public class PortableViewEditorExtension extends Extension { |
|
51 |
|
|
52 |
public void initialize() { |
|
53 |
// Do nothing |
|
54 |
} |
|
55 |
|
|
56 |
@Override |
|
57 |
public void postInitialize() { |
|
58 |
|
|
59 |
super.postInitialize(); |
|
60 |
|
|
61 |
// Register Document action |
|
62 |
ProjectManager projectManager = ProjectManager.getInstance(); |
|
63 |
|
|
64 |
// Actions for PortableViewDocuments: |
|
65 |
|
|
66 |
// Create from view |
|
67 |
projectManager.registerDocumentAction( |
|
68 |
PortableViewDocumentManager.TYPENAME, new PortableViewToViewAction()); |
|
69 |
// Open Related document |
|
70 |
projectManager.registerDocumentAction( |
|
71 |
PortableViewDocumentManager.TYPENAME, new OpenSourceViewAction()); |
|
72 |
// Regenerate from the view |
|
73 |
projectManager.registerDocumentAction( |
|
74 |
PortableViewDocumentManager.TYPENAME, |
|
75 |
new RegeneratePortableViewFromViewAction()); |
|
76 |
// Export to a view |
|
77 |
projectManager.registerDocumentAction( |
|
78 |
PortableViewDocumentManager.TYPENAME, |
|
79 |
new GeneratePackageOfPortableViewAction()); |
|
80 |
|
|
81 |
// Actions for ViewDocuments: |
|
82 |
|
|
83 |
// Create a Portable View |
|
84 |
projectManager.registerDocumentAction(ViewManager.TYPENAME, |
|
85 |
new ViewToPortableViewAction()); |
|
86 |
// Open Related document |
|
87 |
projectManager.registerDocumentAction(ViewManager.TYPENAME, |
|
88 |
new OpenRelatedPortableViewAction()); |
|
89 |
// Update the Portable View contents |
|
90 |
projectManager.registerDocumentAction(ViewManager.TYPENAME, |
|
91 |
new RegeneratePortableViewFromViewAction()); |
|
92 |
|
|
93 |
registerAbout(); |
|
94 |
|
|
95 |
} |
|
96 |
|
|
97 |
/** |
|
98 |
* |
|
99 |
*/ |
|
100 |
private void registerAbout() { |
|
101 |
// Register the about panel |
|
102 |
ApplicationManager application = ApplicationLocator.getManager(); |
|
103 |
|
|
104 |
AboutManager about = application.getAbout(); |
|
105 |
|
|
106 |
List<AboutParticipant> participants = new ArrayList<AboutParticipant>(); |
|
107 |
|
|
108 |
participants.add(about.addDeveloper("DISID", PortableViewExtension.class |
|
109 |
.getClassLoader().getResource("about/disid.html"), 1)); |
|
110 |
|
|
111 |
participants.add(about.addDeveloper( |
|
112 |
"UdelaR.uy", |
|
113 |
PortableViewExtension.class.getClassLoader().getResource( |
|
114 |
"about/universidad.edu.uy.html"), 1)); |
|
115 |
|
|
116 |
participants.add(about.addSponsor( |
|
117 |
"MTOP.gub.uy", |
|
118 |
PortableViewExtension.class.getClassLoader().getResource( |
|
119 |
"about/MTOP.html"), 1)); |
|
120 |
|
|
121 |
for (AboutParticipant participant : participants) { |
|
122 |
participant |
|
123 |
.addContribution( |
|
124 |
"PortableViewEditorExtension", |
|
125 |
"Provides tools to create and generate packages of Portable View", |
|
126 |
2011, 11, 1, 2012, 2, 29); |
|
127 |
} |
|
128 |
|
|
129 |
} |
|
130 |
|
|
131 |
/** {@inheridDoc} */ |
|
132 |
public boolean isEnabled() { |
|
133 |
return true; |
|
134 |
} |
|
135 |
|
|
136 |
/** {@inheridDoc} */ |
|
137 |
public boolean isVisible() { |
|
138 |
return true; |
|
139 |
} |
|
140 |
|
|
141 |
/** {@inheridDoc} */ |
|
142 |
public void execute(String actionCommand) { |
|
143 |
|
|
144 |
} |
|
145 |
} |
org.gvsig.educa.portableview/tags/org.gvsig.educa.portableview-1.0.189/org.gvsig.educa.portableview.app/org.gvsig.educa.portableview.app.editor/src/main/java/org/gvsig/educa/portableview/app/editor/NewPortableViewExtension.java | ||
---|---|---|
1 |
/* gvSIG. Geographic Information System of the Valencian Government |
|
2 |
* |
|
3 |
* Copyright (C) 2007-2008 Infrastructures and Transports Department |
|
4 |
* of the Valencian Government (CIT) |
|
5 |
* |
|
6 |
* This program is free software; you can redistribute it and/or |
|
7 |
* modify it under the terms of the GNU General Public License |
|
8 |
* as published by the Free Software Foundation; either version 2 |
|
9 |
* of the License, or (at your option) any later version. |
|
10 |
* |
|
11 |
* This program is distributed in the hope that it will be useful, |
|
12 |
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
13 |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
14 |
* GNU General Public License for more details. |
|
15 |
* |
|
16 |
* You should have received a copy of the GNU General Public License |
|
17 |
* along with this program; if not, write to the Free Software |
|
18 |
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, |
|
19 |
* MA 02110-1301, USA. |
|
20 |
* |
|
21 |
*/ |
|
22 |
package org.gvsig.educa.portableview.app.editor; |
|
23 |
|
|
24 |
import javax.swing.SwingUtilities; |
|
25 |
|
|
26 |
import org.gvsig.andami.PluginServices; |
|
27 |
import org.gvsig.andami.messages.NotificationManager; |
|
28 |
import org.gvsig.andami.plugins.Extension; |
|
29 |
import org.gvsig.andami.ui.mdiManager.IWindow; |
|
30 |
import org.gvsig.app.project.documents.view.ViewDocument; |
|
31 |
import org.gvsig.app.project.documents.view.gui.IView; |
|
32 |
import org.gvsig.educa.portableview.swing.PortableViewSwingLocator; |
|
33 |
import org.gvsig.educa.portableview.swing.PortableViewSwingManager; |
|
34 |
|
|
35 |
/** |
|
36 |
* Andami extension to create a Portable view from a View. |
|
37 |
* |
|
38 |
* @author gvSIG Team |
|
39 |
* @version $Id$ |
|
40 |
*/ |
|
41 |
public class NewPortableViewExtension extends Extension { |
|
42 |
|
|
43 |
private PortableViewEditorManager editorManager; |
|
44 |
private PortableViewSwingManager swingManager; |
|
45 |
|
|
46 |
public void initialize() { |
|
47 |
// Do nothing |
|
48 |
} |
|
49 |
|
|
50 |
@Override |
|
51 |
public void postInitialize() { |
|
52 |
editorManager = PortableViewEditorLocator.getManager(); |
|
53 |
swingManager = PortableViewSwingLocator.getSwingManager(); |
|
54 |
} |
|
55 |
|
|
56 |
public void execute(String actionCommand) { |
|
57 |
IWindow window = PluginServices.getMDIManager().getActiveWindow(); |
|
58 |
if (!(window instanceof IView)) { |
|
59 |
return; |
|
60 |
} |
|
61 |
IView view = (IView) window; |
|
62 |
|
|
63 |
final ViewDocument viewDocument = (ViewDocument) view.getDocument(); |
|
64 |
|
|
65 |
SwingUtilities.invokeLater(new Runnable() { |
|
66 |
|
|
67 |
public void run() { |
|
68 |
try { |
|
69 |
editorManager.createPortableViewFromView(viewDocument, null, |
|
70 |
true); |
|
71 |
} catch (Exception ex) { |
|
72 |
NotificationManager.addError( |
|
73 |
swingManager |
|
74 |
.getTranslation("problems_creating_portable_view_from_a_view"), |
|
75 |
ex); |
|
76 |
} |
|
77 |
|
|
78 |
} |
|
79 |
}); |
|
80 |
} |
|
81 |
|
|
82 |
public boolean isEnabled() { |
|
83 |
return true; |
|
84 |
} |
|
85 |
|
|
86 |
public boolean isVisible() { |
|
87 |
IWindow window = PluginServices.getMDIManager().getActiveWindow(); |
|
88 |
return window instanceof IView; |
|
89 |
} |
|
90 |
} |
org.gvsig.educa.portableview/tags/org.gvsig.educa.portableview-1.0.189/org.gvsig.educa.portableview.app/org.gvsig.educa.portableview.app.editor/src/main/java/org/gvsig/educa/portableview/app/editor/OpenSourceViewExtension.java | ||
---|---|---|
1 |
/* gvSIG. Geographic Information System of the Valencian Government |
|
2 |
* |
|
3 |
* Copyright (C) 2007-2008 Infrastructures and Transports Department |
|
4 |
* of the Valencian Government (CIT) |
|
5 |
* |
|
6 |
* This program is free software; you can redistribute it and/or |
|
7 |
* modify it under the terms of the GNU General Public License |
|
8 |
* as published by the Free Software Foundation; either version 2 |
|
9 |
* of the License, or (at your option) any later version. |
|
10 |
* |
|
11 |
* This program is distributed in the hope that it will be useful, |
|
12 |
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
13 |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
14 |
* GNU General Public License for more details. |
|
15 |
* |
|
16 |
* You should have received a copy of the GNU General Public License |
|
17 |
* along with this program; if not, write to the Free Software |
|
18 |
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, |
|
19 |
* MA 02110-1301, USA. |
|
20 |
* |
|
21 |
*/ |
|
22 |
package org.gvsig.educa.portableview.app.editor; |
|
23 |
|
|
24 |
import org.gvsig.andami.PluginServices; |
|
25 |
import org.gvsig.andami.ui.mdiManager.IWindow; |
|
26 |
import org.gvsig.educa.portableview.app.viewer.ui.PortableViewDocumentViewer; |
|
27 |
|
|
28 |
/** |
|
29 |
* Andami extension which opens source view of a portable view |
|
30 |
* |
|
31 |
* @author gvSIG Team |
|
32 |
* @version $Id$ |
|
33 |
* |
|
34 |
*/ |
|
35 |
public class OpenSourceViewExtension extends OpenRelatedDocumentExtension { |
|
36 |
|
|
37 |
@Override |
|
38 |
public boolean isVisible() { |
|
39 |
IWindow window = PluginServices.getMDIManager().getActiveWindow(); |
|
40 |
return window instanceof PortableViewDocumentViewer && super.isVisible(); |
|
41 |
} |
|
42 |
} |
org.gvsig.educa.portableview/tags/org.gvsig.educa.portableview-1.0.189/org.gvsig.educa.portableview.app/org.gvsig.educa.portableview.app.editor/src/main/java/org/gvsig/educa/portableview/app/editor/OpenRelatedDocumentExtension.java | ||
---|---|---|
1 |
/* gvSIG. Geographic Information System of the Valencian Government |
|
2 |
* |
|
3 |
* Copyright (C) 2007-2008 Infrastructures and Transports Department |
|
4 |
* of the Valencian Government (CIT) |
|
5 |
* |
|
6 |
* This program is free software; you can redistribute it and/or |
|
7 |
* modify it under the terms of the GNU General Public License |
|
8 |
* as published by the Free Software Foundation; either version 2 |
|
9 |
* of the License, or (at your option) any later version. |
|
10 |
* |
|
11 |
* This program is distributed in the hope that it will be useful, |
|
12 |
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
13 |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
14 |
* GNU General Public License for more details. |
|
15 |
* |
|
16 |
* You should have received a copy of the GNU General Public License |
|
17 |
* along with this program; if not, write to the Free Software |
|
18 |
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, |
|
19 |
* MA 02110-1301, USA. |
|
20 |
* |
|
21 |
*/ |
|
22 |
package org.gvsig.educa.portableview.app.editor; |
|
23 |
|
|
24 |
import javax.swing.SwingUtilities; |
|
25 |
|
|
26 |
import org.gvsig.andami.PluginServices; |
|
27 |
import org.gvsig.andami.plugins.Extension; |
|
28 |
import org.gvsig.andami.ui.mdiManager.IWindow; |
|
29 |
import org.gvsig.app.project.documents.Document; |
|
30 |
import org.gvsig.app.project.documents.view.gui.IView; |
|
31 |
import org.gvsig.educa.portableview.app.viewer.ui.PortableViewDocumentViewer; |
|
32 |
|
|
33 |
/** |
|
34 |
* Abstract Andami extension which opens a the related document: source view of |
|
35 |
* a portable view or related portable view of a view |
|
36 |
* |
|
37 |
* @author gvSIG Team |
|
38 |
* @version $Id$ |
|
39 |
*/ |
|
40 |
public abstract class OpenRelatedDocumentExtension extends Extension { |
|
41 |
|
|
42 |
private PortableViewEditorManager editorManager; |
|
43 |
|
|
44 |
public void initialize() { |
|
45 |
// Do nothing |
|
46 |
} |
|
47 |
|
|
48 |
@Override |
|
49 |
public void postInitialize() { |
|
50 |
editorManager = PortableViewEditorLocator.getManager(); |
|
51 |
} |
|
52 |
|
|
53 |
public void execute(String actionCommand) { |
|
54 |
IWindow window = PluginServices.getMDIManager().getActiveWindow(); |
|
55 |
final Document docToShow = getRelatedDocument(window); |
|
56 |
if (docToShow == null) { |
|
57 |
return; |
|
58 |
} |
|
59 |
|
|
60 |
SwingUtilities.invokeLater(new Runnable() { |
|
61 |
|
|
62 |
public void run() { |
|
63 |
PluginServices.getMDIManager().addWindow( |
|
64 |
docToShow.getFactory().getMainWindow(docToShow)); |
|
65 |
} |
|
66 |
}); |
|
67 |
|
|
68 |
} |
|
69 |
|
|
70 |
public boolean isEnabled() { |
|
71 |
IWindow window = PluginServices.getMDIManager().getActiveWindow(); |
|
72 |
return getRelatedDocument(window) != null; |
|
73 |
} |
|
74 |
|
|
75 |
/** |
|
76 |
* <p> |
|
77 |
* Returns related document to window |
|
78 |
* </p> |
|
79 |
* <p> |
|
80 |
* if window is a view return the Portable View. if it's a Portable view |
|
81 |
* returns a view. |
|
82 |
* </p> |
|
83 |
* |
|
84 |
* @param window |
|
85 |
* @return |
|
86 |
*/ |
|
87 |
private Document getRelatedDocument(IWindow window) { |
|
88 |
if (editorManager == null) { |
|
89 |
// initialization process not finished yet |
|
90 |
return null; |
|
91 |
} |
|
92 |
if (window instanceof IView) { |
|
93 |
return editorManager.getPortableViewDocumentByView(((IView) window) |
|
94 |
.getViewDocument()); |
|
95 |
} else |
|
96 |
if (window instanceof PortableViewDocumentViewer) { |
|
97 |
return ((PortableViewDocumentViewer) window) |
|
98 |
.getPortableViewDocument().getSourceView(); |
|
99 |
|
|
100 |
} |
|
101 |
return null; |
|
102 |
|
|
103 |
} |
|
104 |
|
|
105 |
public boolean isVisible() { |
|
106 |
IWindow window = PluginServices.getMDIManager().getActiveWindow(); |
|
107 |
return window instanceof IView |
|
108 |
|| window instanceof PortableViewDocumentViewer; |
|
109 |
} |
|
110 |
} |
org.gvsig.educa.portableview/tags/org.gvsig.educa.portableview-1.0.189/org.gvsig.educa.portableview.app/org.gvsig.educa.portableview.app.editor/src/main/java/org/gvsig/educa/portableview/app/editor/PortableViewEditorLocator.java | ||
---|---|---|
1 |
/* gvSIG. Geographic Information System of the Valencian Government |
|
2 |
* |
|
3 |
* Copyright (C) 2007-2008 Infrastructures and Transports Department |
|
4 |
* of the Valencian Government (CIT) |
|
5 |
* |
|
6 |
* This program is free software; you can redistribute it and/or |
|
7 |
* modify it under the terms of the GNU General Public License |
|
8 |
* as published by the Free Software Foundation; either version 2 |
|
9 |
* of the License, or (at your option) any later version. |
|
10 |
* |
|
11 |
* This program is distributed in the hope that it will be useful, |
|
12 |
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
13 |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
14 |
* GNU General Public License for more details. |
|
15 |
* |
|
16 |
* You should have received a copy of the GNU General Public License |
|
17 |
* along with this program; if not, write to the Free Software |
|
18 |
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, |
|
19 |
* MA 02110-1301, USA. |
|
20 |
* |
|
21 |
*/ |
|
22 |
package org.gvsig.educa.portableview.app.editor; |
|
23 |
|
|
24 |
import org.gvsig.educa.portableview.map.PortableView; |
|
25 |
import org.gvsig.tools.locator.BaseLocator; |
|
26 |
import org.gvsig.tools.locator.Locator; |
|
27 |
import org.gvsig.tools.locator.LocatorException; |
|
28 |
|
|
29 |
/** |
|
30 |
* Locator which provide access to the services to create, modify and share |
|
31 |
* {@link PortableView} |
|
32 |
* |
|
33 |
* @author gvSIG team |
|
34 |
* @version $Id$ |
|
35 |
*/ |
|
36 |
public class PortableViewEditorLocator extends BaseLocator { |
|
37 |
|
|
38 |
/** |
|
39 |
* PortableView manager name. |
|
40 |
*/ |
|
41 |
public static final String MANAGER_NAME = "PortableViewEditor.manager"; |
|
42 |
|
|
43 |
/** |
|
44 |
* PortableView manager description. |
|
45 |
*/ |
|
46 |
public static final String MANAGER_DESCRIPTION = |
|
47 |
"PortableView Editor Manager"; |
|
48 |
|
|
49 |
private static final String LOCATOR_NAME = "PortableViewEditor.locator"; |
|
50 |
|
|
51 |
/** |
|
52 |
* Unique instance. |
|
53 |
*/ |
|
54 |
private static final PortableViewEditorLocator INSTANCE = |
|
55 |
new PortableViewEditorLocator(); |
|
56 |
|
|
57 |
/** |
|
58 |
* Return the singleton instance. |
|
59 |
* |
|
60 |
* @return the singleton instance |
|
61 |
*/ |
|
62 |
public static PortableViewEditorLocator getInstance() { |
|
63 |
return INSTANCE; |
|
64 |
} |
|
65 |
|
|
66 |
/** |
|
67 |
* Return the Locator's name. |
|
68 |
* |
|
69 |
* @return a String with the Locator's name |
|
70 |
*/ |
|
71 |
@Override |
|
72 |
public final String getLocatorName() { |
|
73 |
return LOCATOR_NAME; |
|
74 |
} |
|
75 |
|
|
76 |
/** |
|
77 |
* Return a reference to the PortableViewEditorManager. |
|
78 |
* |
|
79 |
* @return a reference to the PortableViewEditorManager |
|
80 |
* @throws LocatorException |
|
81 |
* if there is no access to the class or the class cannot be |
|
82 |
* instantiated |
|
83 |
* @see Locator#get(String) |
|
84 |
*/ |
|
85 |
public static PortableViewEditorManager getManager() throws LocatorException { |
|
86 |
return (PortableViewEditorManager) getInstance().get(MANAGER_NAME); |
|
87 |
} |
|
88 |
|
|
89 |
/** |
|
90 |
* Registers the Class implementing the PortableViewEditorManager interface. |
|
91 |
* |
|
92 |
* @param clazz |
|
93 |
* implementing the PortableViewManager interface |
|
94 |
*/ |
|
95 |
public static void registerManager( |
|
96 |
Class<? extends PortableViewEditorManager> clazz) { |
|
97 |
getInstance().register(MANAGER_NAME, MANAGER_DESCRIPTION, clazz); |
|
98 |
} |
|
99 |
|
|
100 |
} |
org.gvsig.educa.portableview/tags/org.gvsig.educa.portableview-1.0.189/org.gvsig.educa.portableview.app/org.gvsig.educa.portableview.app.editor/src/main/java/org/gvsig/educa/portableview/app/editor/document/OpenRelatedPortableViewAction.java | ||
---|---|---|
1 |
/* gvSIG. Geographic Information System of the Valencian Government |
|
2 |
* |
|
3 |
* Copyright (C) 2007-2008 Infrastructures and Transports Department |
|
4 |
* of the Valencian Government (CIT) |
|
5 |
* |
|
6 |
* This program is free software; you can redistribute it and/or |
|
7 |
* modify it under the terms of the GNU General Public License |
|
8 |
* as published by the Free Software Foundation; either version 2 |
|
9 |
* of the License, or (at your option) any later version. |
|
10 |
* |
|
11 |
* This program is distributed in the hope that it will be useful, |
|
12 |
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
13 |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
14 |
* GNU General Public License for more details. |
|
15 |
* |
|
16 |
* You should have received a copy of the GNU General Public License |
|
17 |
* along with this program; if not, write to the Free Software |
|
18 |
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, |
|
19 |
* MA 02110-1301, USA. |
|
20 |
* |
|
21 |
*/ |
|
22 |
package org.gvsig.educa.portableview.app.editor.document; |
|
23 |
|
|
24 |
import java.util.List; |
|
25 |
|
|
26 |
import javax.swing.SwingUtilities; |
|
27 |
|
|
28 |
import org.gvsig.andami.PluginServices; |
|
29 |
import org.gvsig.andami.ui.mdiManager.IWindow; |
|
30 |
import org.gvsig.app.project.ProjectManager; |
|
31 |
import org.gvsig.app.project.documents.AbstractDocumentAction; |
|
32 |
import org.gvsig.app.project.documents.Document; |
|
33 |
import org.gvsig.app.project.documents.view.ViewDocument; |
|
34 |
import org.gvsig.educa.portableview.app.editor.PortableViewEditorLocator; |
|
35 |
import org.gvsig.educa.portableview.app.editor.PortableViewEditorManager; |
|
36 |
import org.gvsig.educa.portableview.app.viewer.PortableViewDocument; |
|
37 |
|
|
38 |
/** |
|
39 |
* <p> |
|
40 |
* Document action which opens the Portable View related to a View |
|
41 |
* </p> |
|
42 |
* |
|
43 |
* <p> |
|
44 |
* This action can be set on PortableViewDocuments or ViewDocuments |
|
45 |
* </p> |
|
46 |
* |
|
47 |
* @author gvSIG Team |
|
48 |
* @version $Id$ |
|
49 |
* |
|
50 |
*/ |
|
51 |
public class OpenRelatedPortableViewAction extends AbstractDocumentAction { |
|
52 |
|
|
53 |
private final PortableViewEditorManager editorManager; |
|
54 |
|
|
55 |
/** |
|
56 |
* |
|
57 |
*/ |
|
58 |
public OpenRelatedPortableViewAction() { |
|
59 |
super("OpenRelatedPortableView"); |
|
60 |
this.order = 0; |
|
61 |
this.title = PluginServices.getText(this, "open_related_portable_view"); |
|
62 |
this.group = |
|
63 |
ProjectManager.getInstance().addDocumentActionGroup( |
|
64 |
"PortableViewActions", "Portable View actions", null, 0); |
|
65 |
editorManager = PortableViewEditorLocator.getManager(); |
|
66 |
} |
|
67 |
|
|
68 |
/** {@inheridDoc} */ |
|
69 |
public boolean isVisible(Document document, List<Document> documents) { |
|
70 |
if (document != null || documents.size() != 1) { |
|
71 |
return false; |
|
72 |
} |
|
73 |
return true; |
|
74 |
} |
|
75 |
|
|
76 |
/** {@inheridDoc} */ |
|
77 |
public boolean isAvailable(Document document, List<Document> documents) { |
|
78 |
Document doc = null; |
|
79 |
if (document != null) { |
|
80 |
doc = document; |
|
81 |
} else { |
|
82 |
if (documents != null && !documents.isEmpty()) { |
|
83 |
doc = documents.get(0); |
|
84 |
} |
|
85 |
} |
|
86 |
if (doc == null) { |
|
87 |
return false; |
|
88 |
} |
|
89 |
|
|
90 |
if (doc instanceof ViewDocument) { |
|
91 |
return editorManager |
|
92 |
.getPortableViewDocumentByView((ViewDocument) doc) != null; |
|
93 |
} |
|
94 |
|
|
95 |
return false; |
|
96 |
} |
|
97 |
|
|
98 |
/** {@inheridDoc} */ |
|
99 |
public void execute(Document document, List<Document> documents) { |
|
100 |
Document doc; |
|
101 |
final IWindow window; |
|
102 |
if (document != null) { |
|
103 |
doc = document; |
|
104 |
} else { |
|
105 |
if (documents.size() != 1) { |
|
106 |
return; |
|
107 |
} |
|
108 |
doc = documents.get(0); |
|
109 |
} |
|
110 |
|
|
111 |
PortableViewDocument tmDocument; |
|
112 |
|
|
113 |
if (doc instanceof ViewDocument) { |
|
114 |
tmDocument = |
|
115 |
editorManager.getPortableViewDocumentByView((ViewDocument) doc); |
|
116 |
if (tmDocument == null) { |
|
117 |
return; |
|
118 |
} |
|
119 |
window = tmDocument.getFactory().getMainWindow(tmDocument); |
|
120 |
} else { |
|
121 |
return; |
|
122 |
} |
|
123 |
|
|
124 |
SwingUtilities.invokeLater(new Runnable() { |
|
125 |
|
|
126 |
public void run() { |
|
127 |
PluginServices.getMDIManager().addWindow(window); |
|
128 |
|
|
129 |
} |
|
130 |
}); |
|
131 |
} |
|
132 |
|
|
133 |
} |
org.gvsig.educa.portableview/tags/org.gvsig.educa.portableview-1.0.189/org.gvsig.educa.portableview.app/org.gvsig.educa.portableview.app.editor/src/main/java/org/gvsig/educa/portableview/app/editor/document/OpenSourceViewAction.java | ||
---|---|---|
1 |
/* gvSIG. Geographic Information System of the Valencian Government |
|
2 |
* |
|
3 |
* Copyright (C) 2007-2008 Infrastructures and Transports Department |
|
4 |
* of the Valencian Government (CIT) |
|
5 |
* |
|
6 |
* This program is free software; you can redistribute it and/or |
|
7 |
* modify it under the terms of the GNU General Public License |
|
8 |
* as published by the Free Software Foundation; either version 2 |
|
9 |
* of the License, or (at your option) any later version. |
|
10 |
* |
|
11 |
* This program is distributed in the hope that it will be useful, |
|
12 |
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
13 |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
14 |
* GNU General Public License for more details. |
|
15 |
* |
|
16 |
* You should have received a copy of the GNU General Public License |
|
17 |
* along with this program; if not, write to the Free Software |
|
18 |
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, |
|
19 |
* MA 02110-1301, USA. |
|
20 |
* |
|
21 |
*/ |
|
22 |
package org.gvsig.educa.portableview.app.editor.document; |
|
23 |
|
|
24 |
import java.util.List; |
|
25 |
|
|
26 |
import javax.swing.SwingUtilities; |
|
27 |
|
|
28 |
import org.gvsig.andami.PluginServices; |
|
29 |
import org.gvsig.andami.ui.mdiManager.IWindow; |
|
30 |
import org.gvsig.app.project.ProjectManager; |
|
31 |
import org.gvsig.app.project.documents.AbstractDocumentAction; |
|
32 |
import org.gvsig.app.project.documents.Document; |
|
33 |
import org.gvsig.app.project.documents.view.ViewDocument; |
|
34 |
import org.gvsig.educa.portableview.app.viewer.PortableViewDocument; |
|
35 |
|
|
36 |
/** |
|
37 |
* <p> |
|
38 |
* Document action which opens the source View of a Portable View |
|
39 |
* </p> |
|
40 |
* |
|
41 |
* <p> |
|
42 |
* This action can be set on PortableViewDocuments or ViewDocuments |
|
43 |
* </p> |
|
44 |
* |
|
45 |
* @author gvSIG Team |
|
46 |
* @version $Id$ |
|
47 |
* |
|
48 |
*/ |
|
49 |
public class OpenSourceViewAction extends AbstractDocumentAction { |
|
50 |
|
|
51 |
/** |
|
52 |
* |
|
53 |
*/ |
|
54 |
public OpenSourceViewAction() { |
|
55 |
super("OpenSourceViewExtension"); |
|
56 |
this.order = 0; |
|
57 |
this.title = PluginServices.getText(this, "open_source_view"); |
|
58 |
this.group = |
|
59 |
ProjectManager.getInstance().addDocumentActionGroup( |
|
60 |
"PortableViewActions", "Portable View actions", null, 0); |
|
61 |
} |
|
62 |
|
|
63 |
/** {@inheridDoc} */ |
|
64 |
public boolean isVisible(Document document, List<Document> documents) { |
|
65 |
if (document != null || documents.size() != 1) { |
|
66 |
return false; |
|
67 |
} |
|
68 |
return true; |
|
69 |
} |
|
70 |
|
|
71 |
/** {@inheridDoc} */ |
|
72 |
public boolean isAvailable(Document document, List<Document> documents) { |
|
73 |
Document doc = null; |
|
74 |
if (document != null) { |
|
75 |
doc = document; |
|
76 |
} else { |
|
77 |
if (documents != null && !documents.isEmpty()) { |
|
78 |
doc = documents.get(0); |
|
79 |
} |
|
80 |
} |
|
81 |
if (doc == null) { |
|
82 |
return false; |
|
83 |
} |
|
84 |
if (doc instanceof PortableViewDocument) { |
|
85 |
return ((PortableViewDocument) doc).getSourceView() != null; |
|
86 |
|
|
87 |
} |
|
88 |
|
|
89 |
return false; |
|
90 |
} |
|
91 |
|
|
92 |
/** {@inheridDoc} */ |
|
93 |
public void execute(Document document, List<Document> documents) { |
|
94 |
Document doc; |
|
95 |
final IWindow window; |
|
96 |
if (document != null) { |
|
97 |
doc = document; |
|
98 |
} else { |
|
99 |
if (documents.size() != 1) { |
|
100 |
return; |
|
101 |
} |
|
102 |
doc = documents.get(0); |
|
103 |
} |
|
104 |
|
|
105 |
PortableViewDocument tmDocument; |
|
106 |
if (doc instanceof PortableViewDocument) { |
|
107 |
tmDocument = ((PortableViewDocument) doc); |
|
108 |
ViewDocument view = tmDocument.getSourceView(); |
|
109 |
if (view == null) { |
|
110 |
return; |
|
111 |
} |
|
112 |
window = view.getFactory().getMainWindow(view); |
|
113 |
|
|
114 |
} else { |
|
115 |
return; |
|
116 |
} |
|
117 |
|
|
118 |
SwingUtilities.invokeLater(new Runnable() { |
|
119 |
|
|
120 |
public void run() { |
|
121 |
PluginServices.getMDIManager().addWindow(window); |
|
122 |
|
|
123 |
} |
|
124 |
}); |
|
125 |
} |
|
126 |
|
|
127 |
} |
org.gvsig.educa.portableview/tags/org.gvsig.educa.portableview-1.0.189/org.gvsig.educa.portableview.app/org.gvsig.educa.portableview.app.editor/src/main/java/org/gvsig/educa/portableview/app/editor/document/GeneratePackageOfPortableViewAction.java | ||
---|---|---|
1 |
/* gvSIG. Geographic Information System of the Valencian Government |
|
2 |
* |
|
3 |
* Copyright (C) 2007-2008 Infrastructures and Transports Department |
|
4 |
* of the Valencian Government (CIT) |
|
5 |
* |
|
6 |
* This program is free software; you can redistribute it and/or |
|
7 |
* modify it under the terms of the GNU General Public License |
|
8 |
* as published by the Free Software Foundation; either version 2 |
|
9 |
* of the License, or (at your option) any later version. |
|
10 |
* |
|
11 |
* This program is distributed in the hope that it will be useful, |
|
12 |
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
13 |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
14 |
* GNU General Public License for more details. |
|
15 |
* |
|
16 |
* You should have received a copy of the GNU General Public License |
|
17 |
* along with this program; if not, write to the Free Software |
|
18 |
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, |
|
19 |
* MA 02110-1301, USA. |
|
20 |
* |
|
21 |
*/ |
|
22 |
package org.gvsig.educa.portableview.app.editor.document; |
|
23 |
|
|
24 |
import java.io.File; |
|
25 |
import java.util.List; |
|
26 |
|
|
27 |
import javax.swing.SwingUtilities; |
|
28 |
|
|
29 |
import org.gvsig.andami.PluginServices; |
|
30 |
import org.gvsig.andami.messages.NotificationManager; |
|
31 |
import org.gvsig.app.project.ProjectManager; |
|
32 |
import org.gvsig.app.project.documents.AbstractDocumentAction; |
|
33 |
import org.gvsig.app.project.documents.Document; |
|
34 |
import org.gvsig.educa.portableview.app.editor.PortableViewEditorLocator; |
|
35 |
import org.gvsig.educa.portableview.app.editor.PortableViewEditorManager; |
|
36 |
import org.gvsig.educa.portableview.app.viewer.PortableViewDocument; |
|
37 |
import org.gvsig.educa.portableview.swing.PortableViewSwingLocator; |
|
38 |
import org.gvsig.educa.portableview.swing.PortableViewSwingManager; |
|
39 |
import org.gvsig.educa.portableview.swing.PortableViewWindowManager.MESSAGE_DIALOG_TYPE; |
|
40 |
|
|
41 |
/** |
|
42 |
* Document action which launch the process to generate a <i>gvpkg</i> of a |
|
43 |
* Portable View |
|
44 |
* |
|
45 |
* @author gvSIG Team |
|
46 |
* @version $Id$ |
|
47 |
* |
|
48 |
*/ |
|
49 |
public class GeneratePackageOfPortableViewAction extends AbstractDocumentAction { |
|
50 |
|
|
51 |
private final PortableViewEditorManager editorManager; |
|
52 |
private final PortableViewSwingManager swingManager; |
|
53 |
|
|
54 |
/** |
|
55 |
* |
|
56 |
*/ |
|
57 |
public GeneratePackageOfPortableViewAction() { |
|
58 |
super("GeneratePackageOfPortableView"); |
|
59 |
this.order = 0; |
|
60 |
this.title = PluginServices.getText(this, "generate_package"); |
|
61 |
this.group = |
|
62 |
ProjectManager.getInstance().addDocumentActionGroup( |
|
63 |
"PortableViewActions", "Portable View actions", null, 0); |
|
64 |
|
|
65 |
editorManager = PortableViewEditorLocator.getManager(); |
|
66 |
swingManager = PortableViewSwingLocator.getSwingManager(); |
|
67 |
} |
|
68 |
|
|
69 |
/** {@inheridDoc} */ |
|
70 |
public boolean isVisible(Document document, List<Document> documents) { |
|
71 |
if (document != null || documents.size() != 1) { |
|
72 |
return false; |
|
73 |
} |
|
74 |
return true; |
|
75 |
} |
|
76 |
|
|
77 |
/** {@inheridDoc} */ |
|
78 |
public boolean isAvailable(Document document, List<Document> documents) { |
|
79 |
return true; |
|
80 |
} |
|
81 |
|
|
82 |
/** {@inheridDoc} */ |
|
83 |
public void execute(Document document, List<Document> documents) { |
|
84 |
final PortableViewDocument tmDocument; |
|
85 |
if (document != null) { |
|
86 |
tmDocument = (PortableViewDocument) document; |
|
87 |
} else { |
|
88 |
if (documents.size() != 1) { |
|
89 |
return; |
|
90 |
} |
|
91 |
tmDocument = (PortableViewDocument) documents.get(0); |
|
92 |
} |
|
93 |
SwingUtilities.invokeLater(new Runnable() { |
|
94 |
|
|
95 |
public void run() { |
|
96 |
try { |
|
97 |
File file = editorManager.generatePackage(tmDocument); |
|
98 |
if (file != null) { |
|
99 |
swingManager.getWindowManager().showMessageDialog( |
|
100 |
swingManager.getTranslation("generate_package"), |
|
101 |
swingManager.getTranslation("generated_file") |
|
102 |
.concat(":").concat(file.getAbsolutePath()), |
|
103 |
MESSAGE_DIALOG_TYPE.INFO); |
|
104 |
} |
|
105 |
} catch (Exception ex) { |
|
106 |
NotificationManager.addError( |
|
107 |
"problems_exporting_portable_view_to_view", ex); |
|
108 |
} |
|
109 |
|
|
110 |
} |
|
111 |
}); |
|
112 |
} |
|
113 |
|
|
114 |
} |
org.gvsig.educa.portableview/tags/org.gvsig.educa.portableview-1.0.189/org.gvsig.educa.portableview.app/org.gvsig.educa.portableview.app.editor/src/main/java/org/gvsig/educa/portableview/app/editor/document/PortableViewToViewAction.java | ||
---|---|---|
1 |
/* gvSIG. Geographic Information System of the Valencian Government |
|
2 |
* |
|
3 |
* Copyright (C) 2007-2008 Infrastructures and Transports Department |
|
4 |
* of the Valencian Government (CIT) |
|
5 |
* |
|
6 |
* This program is free software; you can redistribute it and/or |
|
7 |
* modify it under the terms of the GNU General Public License |
|
8 |
* as published by the Free Software Foundation; either version 2 |
|
9 |
* of the License, or (at your option) any later version. |
|
10 |
* |
|
11 |
* This program is distributed in the hope that it will be useful, |
|
12 |
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
13 |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
14 |
* GNU General Public License for more details. |
|
15 |
* |
|
16 |
* You should have received a copy of the GNU General Public License |
|
17 |
* along with this program; if not, write to the Free Software |
|
18 |
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, |
|
19 |
* MA 02110-1301, USA. |
|
20 |
* |
|
21 |
*/ |
|
22 |
package org.gvsig.educa.portableview.app.editor.document; |
|
23 |
|
|
24 |
import java.util.List; |
|
25 |
|
|
26 |
import javax.swing.SwingUtilities; |
|
27 |
|
|
28 |
import org.gvsig.andami.PluginServices; |
|
29 |
import org.gvsig.andami.messages.NotificationManager; |
|
30 |
import org.gvsig.app.project.ProjectManager; |
|
31 |
import org.gvsig.app.project.documents.AbstractDocumentAction; |
|
32 |
import org.gvsig.app.project.documents.Document; |
|
33 |
import org.gvsig.educa.portableview.app.editor.PortableViewEditorLocator; |
|
34 |
import org.gvsig.educa.portableview.app.editor.PortableViewEditorManager; |
|
35 |
import org.gvsig.educa.portableview.app.viewer.PortableViewDocument; |
|
36 |
import org.gvsig.educa.portableview.swing.PortableViewSwingLocator; |
|
37 |
import org.gvsig.educa.portableview.swing.PortableViewSwingManager; |
|
38 |
|
|
39 |
/** |
|
40 |
* Document action which exports a Portable View into a view |
|
41 |
* |
|
42 |
* @author gvSIG Team |
|
43 |
* @version $Id$ |
|
44 |
* |
|
45 |
*/ |
|
46 |
public class PortableViewToViewAction extends AbstractDocumentAction { |
|
47 |
|
|
48 |
private final PortableViewEditorManager editorManager; |
|
49 |
private final PortableViewSwingManager swingManager; |
|
50 |
|
|
51 |
/** |
|
52 |
* |
|
53 |
*/ |
|
54 |
public PortableViewToViewAction() { |
|
55 |
super("PortableViewToView"); |
|
56 |
this.order = 0; |
|
57 |
this.title = PluginServices.getText(this, "export_to_view"); |
|
58 |
this.group = |
|
59 |
ProjectManager.getInstance().addDocumentActionGroup( |
|
60 |
"PortableViewActions", "Portable View actions", null, 0); |
|
61 |
editorManager = PortableViewEditorLocator.getManager(); |
|
62 |
swingManager = PortableViewSwingLocator.getSwingManager(); |
|
63 |
} |
|
64 |
|
|
65 |
/** {@inheridDoc} */ |
|
66 |
public boolean isVisible(Document document, List<Document> documents) { |
|
67 |
if (document != null || documents.size() != 1) { |
|
68 |
return false; |
|
69 |
} |
|
70 |
return true; |
|
71 |
} |
|
72 |
|
|
73 |
/** {@inheridDoc} */ |
|
74 |
public boolean isAvailable(Document document, List<Document> documents) { |
|
75 |
return true; |
|
76 |
} |
|
77 |
|
|
78 |
/** {@inheridDoc} */ |
|
79 |
public void execute(Document document, List<Document> documents) { |
|
80 |
final PortableViewDocument tmDoc; |
|
81 |
if (document != null) { |
|
82 |
tmDoc = (PortableViewDocument) document; |
|
83 |
} else { |
|
84 |
if (documents.size() != 1) { |
|
85 |
return; |
|
86 |
} |
|
87 |
tmDoc = (PortableViewDocument) documents.get(0); |
|
88 |
} |
|
89 |
|
|
90 |
SwingUtilities.invokeLater(new Runnable() { |
|
91 |
|
|
92 |
public void run() { |
|
93 |
try { |
|
94 |
editorManager.exportPortableViewToView(tmDoc, true); |
|
95 |
} catch (Exception ex) { |
|
96 |
NotificationManager.addError( |
|
97 |
swingManager |
|
98 |
.getTranslation("problems_exporting_portable_view_to_view"), |
|
99 |
ex); |
|
100 |
} |
|
101 |
|
|
102 |
} |
|
103 |
}); |
|
104 |
|
|
105 |
} |
|
106 |
|
|
107 |
} |
org.gvsig.educa.portableview/tags/org.gvsig.educa.portableview-1.0.189/org.gvsig.educa.portableview.app/org.gvsig.educa.portableview.app.editor/src/main/java/org/gvsig/educa/portableview/app/editor/document/ViewToPortableViewAction.java | ||
---|---|---|
1 |
/* gvSIG. Geographic Information System of the Valencian Government |
|
2 |
* |
|
3 |
* Copyright (C) 2007-2008 Infrastructures and Transports Department |
|
4 |
* of the Valencian Government (CIT) |
|
5 |
* |
|
6 |
* This program is free software; you can redistribute it and/or |
|
7 |
* modify it under the terms of the GNU General Public License |
|
8 |
* as published by the Free Software Foundation; either version 2 |
|
9 |
* of the License, or (at your option) any later version. |
|
10 |
* |
|
11 |
* This program is distributed in the hope that it will be useful, |
|
12 |
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
13 |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
Also available in: Unified diff