Revision 343

View differences:

org.gvsig.educa.portableview/tags/org.gvsig.educa.portableview-1.0.12/LEEME.txt
1
===============
2
gvSIG Educa
3
===============
4

  
5
---------------------
6
Vistas Portables
7
---------------------
8

  
9
Descripci?n
10
==============
11

  
12
Este directorio contiene los fuentes de la funcionalidad Vistas Portables.
13

  
14
Requisitos
15
==============
16

  
17
* Maven 2.6 or higher
18

  
19
* Java JDK 1.5 or higher
20

  
21
Para trabajar con eclipse
22
--------------------------
23

  
24
Ver `Gu?a del desarrollador en gvSIG.org <https://gvsig.org/web/projects/gvsig-desktop/docs/devel/gvsig-devel-guide/2.0.0/>`_ y el fichero ``REAME-ECLIPSE.txt``
25

  
26
Contenido
27
==========
28

  
29
org.gvsig.educa.portableview.lib
30
---------------------------------
31

  
32
Fuentes de la funcionalidad. Estos proyectos contienen los procesos y l?gica principal sin dependencias de interface de usuario.
33

  
34
org.gvsig.educa.portableview.swing
35
-------------------------------------
36

  
37
Componentes de interface de usuario para gestionar los servicios que ofrece la librer??a.
38

  
39
org.gvsig.educa.portableview.main
40
-----------------------------------
41

  
42
Peque?a aplicaci?n que permite ejecutar las funcionalidades y realizar pruebas funcionales.
43

  
44
Ver `Ejecutar aplicaci?n de pruebas`_ para saber como arrancarla.
45

  
46
pom.xml
47
---------
48

  
49
Archivo de definici?n de proyecto Maven.
50

  
51
README.txt LEEME.txt
52
----------------------
53

  
54
Este fichero (en formato reStructureText, para mas informaci?n sobre este ver el `portal de gvSIG <https://gvsig.org/web/projects/gvsig-desktop/docs/devel/guia-para-documentar/el-formato-restructuredtext>`_  en la `referencia de docUtils  <http://docutils.sourceforge.net/rst.html>`_)
55

  
56

  
57
Compilaci?n
58
================
59

  
60
Desde el shell
61
----------------
62

  
63
Ejecute este comando::
64

  
65
    org.gvsig.educa.portablewview$ mvn clean install
66

  
67

  
68
Desde eclipse
69
--------------
70
Ver `Trabajar con un proyecto de la gu?a de desarrollador en gvSIG.org <https://gvsig.org/web/projects/gvsig-desktop/docs/devel/gvsig-devel-guide/2.0.0/trabajar-con-un-proyecto>`_
71

  
72
En algunos proyectos puede que sea necesario user el comando ``mvn eclipse:clean eclipse:eclipse`` e importar como *Standar/Import existing project...* en vez de cargar como *Maven Project*. Esto es debido a que, en algunas circunstancias, parece que el plugin de Maven del eclipse no prepara el *classpath* de forma correcta.
73

  
74

  
75
Empaquetado
76
===============
77

  
78
Esta funcionalidad no tiene ning?n proyecto pensado para empaquetar de forma independiente.
79

  
80
Versionado
81
--------------
82

  
83
Para cambiar el n?mero de versi?n de los plugins solo es necesario ajustar la etiqueta ``project/version`` del fichero *pom.xml*. Los subproyectos heredar?n el valor.
84

  
85
La pol??tica de versi?n es la est?ndar. Los cambios en los numeroso son:
86

  
87
* tercer n?mero: Arreglo de errores y mejoras menores. Sin cambios en el API.
88
* segundo n?mero: Arreglo de erroes y mejoras. Pueden haber cambios menores en el API. Los elementos marcados como *deprecated* en versiones anteriores pueden eliminarse. Sin cambios de arquitectura.
89
* primer n?mero: Cambios mayores.
90

  
91
Crear un tag
92
------------------
93

  
94
TODO: usar el plugin *release* de maven
95

  
96
Usar el comando *svn copy*. El proceso podr?a ser:
97

  
98
#. Comprobar que no hay cambios en la copia local::
99

  
100
   svn up ; svn status
101

  
102
#. Comprobar que los proyecto compilan y pasan todas las bater?as de test::
103

  
104
   mvn clean install
105

  
106
#. Actualizar el fichero *pom.xml* con la versi?n de tag (normalmente quitando el sufijo *-SNAPSHOT*)
107
#. Crear el directorio para el tag en el servidor::
108

  
109
   svn mkdir -m "Create {version} tag folder" https://devel.gvsig.org/svn/gvsig-educa/org.gvsig.educa.portablewview.app/tags/{version}
110

  
111
#. Subir la copia local al directorio del tag en el servidor::
112

  
113
   svn copy -m "Create {version} tag" * https://devel.gvsig.org/svn/gvsig-educa/org.gvsig.educa.portablewview.app/tags/{version}
114

  
115
#. Actualizar el *pom.xml* a la siguiente version (y a?adirle el sufijo *-SNAPSHOT*)
116
#. Subir los cambios del *pom.xml*::
117

  
118
   svn commit -m "Set new version {version}-SNAPSHOT" pom.xml
119

  
120

  
121
i18n
122
======
123

  
124
Los ficheros de internacionalizaci?n se pueden encontrar en los directorios:
125

  
126
+ */org.gvsig.educa.portableview.swing/org.gvsig.educa.portableview.swing.impl/src/main/resources/org/gvsig/educa/portableview/swing/impl/i18n*
127
+ *org.gvsig.educa.portableview.lib/org.gvsig.educa.portableview.lib.impl/src/main/resources/org/gvsig/educa/portableview/impl/i18n*
128

  
129
La internacionalizaci?n est? basada en el mecanismo est?ndar de los *resource bundle*. Para a?adir un nuevo idioma es necesario a?adir el fichero de propiedades en todos los directorio con el codigo de idioma adecuado.
130

  
131
Ejecutar aplicaci?n de pruebas
132
=================================
133

  
134
Desde el Shell
135
----------------
136

  
137
Despu?s del proceso de `Compilaci?n`_ , ejecute estos comandos::
138

  
139
    org.gvsig.educa.portablewview$ cd org.gvsig.educa.portablewview.main
140
    org.gvsig.educa.portablewview/org.gvsig.educa.portablewview.main$ mvn exec:java
141

  
142
Desde el eclipse
143
------------------
144

  
145
Seleccione el proyecto ``org.gvsig.educa.portableview.main`` en el *Project tree* de la *Java perspective*, haga click con el bot?n derecho y seleccione ``Run as.../Java application``. Seleccione la clase ``Main`` del propio proyecto.
146

  
147
Si tiene problemas al ejecutar, compruebe la nota de la secci?n `Compilaci?n`_ sobre la importaci?n del proyecto.
148

  
org.gvsig.educa.portableview/tags/org.gvsig.educa.portableview-1.0.12/org.gvsig.educa.portableview.app/pom.xml
1
<?xml version="1.0" encoding="ISO-8859-1"?>
2

  
3
<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">
4
	<modelVersion>4.0.0</modelVersion>
5
	<groupId>org.gvsig</groupId>
6
	<artifactId>org.gvsig.educa.portableview.app</artifactId>
7
	<packaging>pom</packaging>
8
	<name>org.gvsig.educa.portableview.app</name>
9
	<description>Educa.PortableView plugins</description>
10
	<parent>
11
            <groupId>org.gvsig</groupId>
12
            <artifactId>org.gvsig.educa.portableview</artifactId>
13
            <version>1.0.12</version> 
14
	</parent>
15
	<properties>
16
		<gvsig.package.info.poolURL>https://devel.gvsig.org/download/projects/gvsig-educa/pool</gvsig.package.info.poolURL>
17
	</properties>
18
	<dependencies>
19
		<dependency>
20
			<groupId>org.slf4j</groupId>
21
			<artifactId>slf4j-api</artifactId>
22
			<scope>compile</scope>
23
		</dependency>
24
	</dependencies>
25
	<modules>
26
		<module>org.gvsig.educa.portableview.app.viewer</module>
27
		<module>org.gvsig.educa.portableview.app.editor</module>
28
	</modules>
29
</project>
org.gvsig.educa.portableview/tags/org.gvsig.educa.portableview-1.0.12/org.gvsig.educa.portableview.app/org.gvsig.educa.portableview.app.editor/buildNumber.properties
1
#Tue May 19 12:18:52 CEST 2015
2
buildNumber=22
org.gvsig.educa.portableview/tags/org.gvsig.educa.portableview-1.0.12/org.gvsig.educa.portableview.app/org.gvsig.educa.portableview.app.editor/src/main/resources/META-INF/services/org.gvsig.tools.library.Library
1
org.gvsig.educa.portableview.app.editor.PortableViewEditorLibrary
2
org.gvsig.educa.portableview.app.editor.impl.PortableViewEditorDefaultImplLibrary
org.gvsig.educa.portableview/tags/org.gvsig.educa.portableview-1.0.12/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.12/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.12/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.12/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.12/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.12/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.12/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.12/org.gvsig.educa.portableview.app/org.gvsig.educa.portableview.app.editor/src/main/java/org/gvsig/educa/portableview/app/editor/document/RegeneratePortableViewFromViewAction.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.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 regenerates a Portable View from 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 RegeneratePortableViewFromViewAction extends AbstractDocumentAction {
52

  
53
    private final PortableViewEditorManager editorManager;
54

  
55
    /**
56
     *
57
     */
58
    public RegeneratePortableViewFromViewAction() {
59
        super("RegeneratePortableViewFromView");
60
        this.order = 0;
61
        this.title =
62
            PluginServices.getText(this, "regenerate_portable_view_from_a_view");
63
        this.group =
64
            ProjectManager.getInstance().addDocumentActionGroup(
65
                "PortableViewActions", "Portable View actions", null, 0);
66
        editorManager = PortableViewEditorLocator.getManager();
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
        Document doc = null;
80
        if (document != null) {
81
            doc = document;
82
        } else {
83
            if (documents != null && !documents.isEmpty()) {
84
                doc = documents.get(0);
85
            }
86
        }
87
        if (doc == null) {
88
            return false;
89
        }
90
        if (doc instanceof PortableViewDocument) {
91
            return ((PortableViewDocument) doc).getSourceView() != null;
92

  
93
        } else
94
            if (doc instanceof ViewDocument) {
95
                return editorManager
96
                    .getPortableViewDocumentByView((ViewDocument) doc) != null;
97
            }
98

  
99
        return false;
100
    }
101

  
102
    /** {@inheridDoc} */
103
    public void execute(Document document, List<Document> documents) {
104
        Document doc;
105
        final PortableViewDocument tmDocument;
106
        if (document != null) {
107
            doc = document;
108
        } else {
109
            if (documents.size() != 1) {
110
                return;
111
            }
112
            doc = documents.get(0);
113
        }
114

  
115
        if (doc instanceof PortableViewDocument) {
116
            tmDocument = ((PortableViewDocument) doc);
117

  
118
        } else
119
            if (doc instanceof ViewDocument) {
120
                tmDocument =
121
                    editorManager
122
                        .getPortableViewDocumentByView((ViewDocument) doc);
123
                if (tmDocument == null) {
124
                    return;
125
                }
126
            } else {
127
                return;
128
            }
129

  
130
        SwingUtilities.invokeLater(new Runnable() {
131

  
132
            public void run() {
133
                try {
134
                    editorManager.regeneratePortableView(tmDocument, null, true);
135
                } catch (Exception ex) {
136
                    NotificationManager.addError(
137
                        "problems_exporting_portable_view_to_view", ex);
138
                }
139

  
140
            }
141
        });
142
    }
143

  
144
}
org.gvsig.educa.portableview/tags/org.gvsig.educa.portableview-1.0.12/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.12/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.12/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.12/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);
... This diff was truncated because it exceeds the maximum size that can be displayed.

Also available in: Unified diff