Revision 13815

View differences:

org.gvsig.raster.tools/tags/org.gvsig.raster.tools-2.2.131/org.gvsig.raster.tools.app.basic/buildNumber.properties
1
#Fri Mar 12 00:26:23 CET 2021
2
buildNumber=182
0 3

  
org.gvsig.raster.tools/tags/org.gvsig.raster.tools-2.2.131/org.gvsig.raster.tools.app.basic/src/test/resources/README.txt
1
Put into this folder the resources needed by your test classes.
2

  
3
This folder is added to the Tests classpath, so you can load any resources 
4
through the ClassLoader.
5

  
6
By default, in this folder you can find an example of log4j configuration,
7
prepared to log messages through the console, so logging works when you
8
run your tests classes.
0 9

  
org.gvsig.raster.tools/tags/org.gvsig.raster.tools-2.2.131/org.gvsig.raster.tools.app.basic/src/test/resources/log4j.xml
1
<?xml version="1.0" encoding="ISO-8859-1" ?>
2
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
3

  
4
<!-- 
5
Log4J configuration file for unit tests execution.
6
 -->
7
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
8

  
9
	<!-- Appender configuration to show logging messages through the console -->
10
	<appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
11
		<layout class="org.apache.log4j.PatternLayout">
12
			<param name="ConversionPattern" value="%d{HH:mm:ss,SSS} %-5p [%c{2}.%M()]\n  %m%n" />
13
		</layout>
14
	</appender>
15

  
16
	<!-- 
17
	Activate logging messages of DEBUG level of higher only for the
18
	org.gvsig.tools packages.
19
	You can put full classes names or packages instead, to configure
20
	logging for all the classes and subpackages of the package.
21
	-->
22
	<category name="org.gvsig.tools">
23
		<priority value="DEBUG" />
24
	</category>
25
	<category name="org.gvsig.raster">
26
		<priority value="DEBUG" />
27
	</category>
28

  
29
	<!-- 
30
	By default, show only logging messages of INFO level or higher, 
31
	through the previously configured CONSOLE appender. 
32
	-->
33
	<root>
34
		<priority value="INFO" />
35
		<appender-ref ref="CONSOLE" />
36
	</root>
37
</log4j:configuration>
0 38

  
org.gvsig.raster.tools/tags/org.gvsig.raster.tools-2.2.131/org.gvsig.raster.tools.app.basic/src/test/java/org/gvsig/raster/app/extension/TestNoDataPanel.java
1
package org.gvsig.raster.app.extension;
2

  
3
import javax.swing.JFrame;
4

  
5
import org.gvsig.raster.tools.app.basic.tool.properties.panel.NoDataPanel;
6

  
7
public class TestNoDataPanel {
8
		private int                          w        = 510;
9
		private int                          h        = 300;
10
		private JFrame                       frame    = new JFrame();
11
		private NoDataPanel               desc     = null;
12

  
13
		public TestNoDataPanel() {
14
			desc = new NoDataPanel();
15
			frame.getContentPane().add(desc);
16
			frame.setSize(w, h);
17
			frame.setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
18
			frame.setVisible(true);
19
		}
20

  
21
		public static void main(String[] args) {
22
			new TestNoDataPanel();
23
		}
24
	}
0 25

  
org.gvsig.raster.tools/tags/org.gvsig.raster.tools-2.2.131/org.gvsig.raster.tools.app.basic/src/test/java/org/gvsig/raster/app/extension/TestClipPanel.java
1
package org.gvsig.raster.app.extension;
2

  
3
import javax.swing.JFrame;
4

  
5
import org.gvsig.raster.tools.app.basic.tool.clip.ui.ClippingPanel;
6
import org.gvsig.tools.library.impl.DefaultLibrariesInitializer;
7

  
8
public class TestClipPanel {
9
		private int                          w        = 510;
10
		private int                          h        = 300;
11
		private JFrame                       frame    = new JFrame();
12
		private ClippingPanel               desc     = null;
13

  
14
		public TestClipPanel() {
15
			new DefaultLibrariesInitializer().fullInitialize(true);
16
			desc = new ClippingPanel(null);
17
			frame.getContentPane().add(desc);
18
			frame.setSize(w, h);
19
			frame.setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
20
			frame.setVisible(true);
21
		}
22

  
23
		public static void main(String[] args) {
24
			new TestClipPanel();
25
		}
26
	}
0 27

  
org.gvsig.raster.tools/tags/org.gvsig.raster.tools-2.2.131/org.gvsig.raster.tools.app.basic/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

  
26
  <dependencySets>
27
    <dependencySet>
28
      <useProjectArtifact>false</useProjectArtifact>
29
	  <useTransitiveDependencies>false</useTransitiveDependencies>
30
      <outputDirectory>lib</outputDirectory>
31
      <includes> 
32
				<include>org.gvsig:org.gvsig.raster.tools.app.basic:jar</include>
33
				<include>org.gvsig:org.gvsig.raster.tools.algorithm.layerdatatype:jar</include>
34
				<include>org.gvsig:org.gvsig.raster.tools.algorithm.saveraster:jar</include>
35
				<include>org.gvsig:org.gvsig.raster.tools.algorithm.swing.api:jar</include>
36
				<include>org.gvsig:org.gvsig.raster.tools.algorithm.swing.impl:jar</include>
37
				<include>org.gvsig:org.gvsig.raster.tools.toolbox.algorithm:jar</include>
38
	  </includes>
39
	</dependencySet>
40
  </dependencySets>
41
</assembly>
0 42

  
org.gvsig.raster.tools/tags/org.gvsig.raster.tools-2.2.131/org.gvsig.raster.tools.app.basic/src/main/java/org/gvsig/raster/tools/app/basic/toolbox/ClipToolboxAction.java
1
/**
2
 * gvSIG. Desktop Geographic Information System.
3
 *
4
 * Copyright (C) 2007-2012 gvSIG Association.
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
 * For any additional information, do not hesitate to contact us
22
 * at info AT gvsig.com, or visit our website www.gvsig.com.
23
 */
24

  
25

  
26
package org.gvsig.raster.tools.app.basic.toolbox;
27

  
28
import javax.swing.ImageIcon;
29

  
30
import org.gvsig.andami.IconThemeHelper;
31
import org.gvsig.fmap.mapcontext.layers.FLayer;
32
import org.gvsig.geoprocess.sextante.gui.core.GUIFactory;
33
import org.gvsig.i18n.Messages;
34
import org.gvsig.raster.tools.app.basic.tool.clip.ClippingTocMenuEntry;
35

  
36
/**
37
 * Input in Sextante framework for clip tool
38
 * 
39
 * @author <a href="mailto:nachobrodin@gmail.com">Nacho Brodin</a>
40
 */
41
public class ClipToolboxAction extends AbstractToolboxAction {
42
	
43
	public ClipToolboxAction() {
44
		ImageIcon ico = IconThemeHelper.getImageIcon("gvsig-icon16x16");
45
		GUIFactory.registerExternalTool(Messages.getText("gv_tools"), ico, this);
46
	}
47
	
48
	@Override
49
	public void execute() {
50
		if(!super.loadLayer())
51
			return;
52
		
53
		ClippingTocMenuEntry.getSingleton().execute(null, new FLayer[]{lyr}); 
54
	}
55

  
56
	@Override
57
	public String getName() {
58
		return Messages.getText("clip_raster");
59
	}
60

  
61
	public ImageIcon getIcon() {
62
		return (ImageIcon)ClippingTocMenuEntry.getSingleton().getIcon();
63
	}
64
	
65
	public boolean isPluginInstalled() {
66
		try {
67
			ClippingTocMenuEntry.getSingleton();
68
		} catch(Exception e) {
69
			return false;
70
		} catch(Error e) {
71
			return false;
72
		}
73
		return true;
74
	}
75

  
76
}
0 77

  
org.gvsig.raster.tools/tags/org.gvsig.raster.tools-2.2.131/org.gvsig.raster.tools.app.basic/src/main/java/org/gvsig/raster/tools/app/basic/toolbox/LayerDatatypeToolboxAction.java
1
/**
2
 * gvSIG. Desktop Geographic Information System.
3
 *
4
 * Copyright (C) 2007-2012 gvSIG Association.
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
 * For any additional information, do not hesitate to contact us
22
 * at info AT gvsig.com, or visit our website www.gvsig.com.
23
 */
24

  
25

  
26
package org.gvsig.raster.tools.app.basic.toolbox;
27

  
28
import javax.swing.ImageIcon;
29

  
30
import org.gvsig.andami.IconThemeHelper;
31
import org.gvsig.fmap.mapcontext.layers.FLayer;
32
import org.gvsig.geoprocess.sextante.gui.core.GUIFactory;
33
import org.gvsig.i18n.Messages;
34
import org.gvsig.raster.tools.app.basic.tool.layerdatatype.LayerDatatypeTocMenuEntry;
35

  
36
/**
37
 * Input in Sextante framework for layer datatype tool
38
 * 
39
 * @author <a href="mailto:nachobrodin@gmail.com">Nacho Brodin</a>
40
 */
41
public class LayerDatatypeToolboxAction extends AbstractToolboxAction {
42
	
43
	public LayerDatatypeToolboxAction() {
44
		ImageIcon ico = IconThemeHelper.getImageIcon("gvsig-icon16x16");
45
		GUIFactory.registerExternalTool(Messages.getText("gv_tools"), ico, this);
46
	}
47
	
48
	@Override
49
	public void execute() {
50
		if(!super.loadLayer())
51
			return;
52
		LayerDatatypeTocMenuEntry.getSingleton().execute(null, new FLayer[]{lyr}); 
53
	}
54

  
55
	@Override
56
	public String getName() {
57
		return Messages.getText("layer_datatype");
58
	}
59
	
60
	public ImageIcon getIcon() {
61
		return (ImageIcon)LayerDatatypeTocMenuEntry.getSingleton().getIcon();
62
	}
63
	
64
	public boolean isPluginInstalled() {
65
		try {
66
			LayerDatatypeTocMenuEntry.getSingleton();
67
		} catch(Exception e) {
68
			return false;
69
		} catch(Error e) {
70
			return false;
71
		}
72
		return true;
73
	}
74

  
75
}
0 76

  
org.gvsig.raster.tools/tags/org.gvsig.raster.tools-2.2.131/org.gvsig.raster.tools.app.basic/src/main/java/org/gvsig/raster/tools/app/basic/toolbox/RadiometricEnhancementToolboxAction.java
1
/**
2
 * gvSIG. Desktop Geographic Information System.
3
 *
4
 * Copyright (C) 2007-2012 gvSIG Association.
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
 * For any additional information, do not hesitate to contact us
22
 * at info AT gvsig.com, or visit our website www.gvsig.com.
23
 */
24

  
25
package org.gvsig.raster.tools.app.basic.toolbox;
26

  
27
import javax.swing.ImageIcon;
28

  
29
import org.gvsig.andami.IconThemeHelper;
30
import org.gvsig.fmap.mapcontext.layers.FLayer;
31
import org.gvsig.geoprocess.sextante.gui.core.GUIFactory;
32
import org.gvsig.i18n.Messages;
33
import org.gvsig.raster.tools.app.basic.tool.enhanced.EnhancedTocMenuEntry;
34

  
35
/**
36
 * Input in Sextante framework for Radiometric enhancement tool
37
 * 
38
 * @author <a href="mailto:nachobrodin@gmail.com">Nacho Brodin</a>
39
 */
40
public class RadiometricEnhancementToolboxAction extends AbstractToolboxAction {
41
	
42
	public RadiometricEnhancementToolboxAction() {
43
		ImageIcon ico = IconThemeHelper.getImageIcon("gvsig-icon16x16");
44
		GUIFactory.registerExternalTool(Messages.getText("gv_tools"), ico, this);
45
	}
46
   
47
   @Override
48
   public void execute() {
49
	   if(!super.loadLayer())
50
		   return;
51

  
52
	   EnhancedTocMenuEntry.getSingleton().execute(null, new FLayer[]{lyr}); 
53
   }
54

  
55

  
56
   @Override
57
   public String getName() {
58
      return Messages.getText("radiometric_enhancedment");
59
   }
60

  
61
   public ImageIcon getIcon() {
62
	   return (ImageIcon)EnhancedTocMenuEntry.getSingleton().getIcon();
63
   }
64
   
65
   public boolean isPluginInstalled() {
66
		try {
67
			EnhancedTocMenuEntry.getSingleton();
68
		} catch(Exception e) {
69
			return false;
70
		} catch(Error e) {
71
			return false;
72
		}
73
		return true;
74
	}
75
}
0 76

  
org.gvsig.raster.tools/tags/org.gvsig.raster.tools-2.2.131/org.gvsig.raster.tools.app.basic/src/main/java/org/gvsig/raster/tools/app/basic/toolbox/OverviewsToolboxAction.java
1
/**
2
 * gvSIG. Desktop Geographic Information System.
3
 *
4
 * Copyright (C) 2007-2012 gvSIG Association.
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
 * For any additional information, do not hesitate to contact us
22
 * at info AT gvsig.com, or visit our website www.gvsig.com.
23
 */
24

  
25

  
26
package org.gvsig.raster.tools.app.basic.toolbox;
27

  
28
import javax.swing.ImageIcon;
29

  
30
import org.gvsig.andami.IconThemeHelper;
31
import org.gvsig.fmap.mapcontext.layers.FLayer;
32
import org.gvsig.geoprocess.sextante.gui.core.GUIFactory;
33
import org.gvsig.i18n.Messages;
34
import org.gvsig.raster.tools.app.basic.tool.overview.OverviewsTocMenuEntry;
35

  
36
/**
37
 * Input in Sextante framework for overview tool
38
 * 
39
 * @author <a href="mailto:nachobrodin@gmail.com">Nacho Brodin</a>
40
 */
41
public class OverviewsToolboxAction extends AbstractToolboxAction {
42
	
43
	public OverviewsToolboxAction() {
44
		ImageIcon ico = IconThemeHelper.getImageIcon("gvsig-icon16x16");
45
		GUIFactory.registerExternalTool(Messages.getText("gv_tools"), ico, this);
46
	}
47
	
48
	@Override
49
	public void execute() {
50
		if(!super.loadLayer())
51
			return;
52
		
53
		OverviewsTocMenuEntry.getSingleton().execute(null, new FLayer[]{lyr}); 
54
	}
55

  
56
	@Override
57
	public String getName() {
58
		return Messages.getText("overviews");
59
	}
60

  
61
	public ImageIcon getIcon() {
62
		return (ImageIcon)OverviewsTocMenuEntry.getSingleton().getIcon();
63
	}
64

  
65
	public boolean isPluginInstalled() {
66
		try {
67
			OverviewsTocMenuEntry.getSingleton();
68
		} catch(Exception e) {
69
			return false;
70
		} catch(Error e) {
71
			return false;
72
		}
73
		return true;
74
	}
75

  
76
}
0 77

  
org.gvsig.raster.tools/tags/org.gvsig.raster.tools-2.2.131/org.gvsig.raster.tools.app.basic/src/main/java/org/gvsig/raster/tools/app/basic/toolbox/ToolboxRasterToolsLoader.java
1
package org.gvsig.raster.tools.app.basic.toolbox;
2

  
3
import java.lang.reflect.Constructor;
4
import java.lang.reflect.InvocationTargetException;
5

  
6
import org.slf4j.Logger;
7
import org.slf4j.LoggerFactory;
8

  
9
/**
10
 * Loader for this tool in the toolbox dialog
11
 * 
12
 * @author <a href="mailto:nachobrodin@gmail.com">Nacho Brodin</a>
13
 */
14
public class ToolboxRasterToolsLoader {
15
	private Logger log      = LoggerFactory.getLogger(ToolboxRasterToolsLoader.class); 
16
	private String errorMsg = "The basic raster tools are not been added in the toolbox";
17

  
18
	public void registerTool() {
19
		try {
20
			Class<?> c = Class.forName("org.gvsig.raster.tools.app.basic.toolbox.ClipToolboxAction");
21
			Constructor<?> constructor = c.getConstructor();
22
			constructor.newInstance();
23
			
24
			c = Class.forName("org.gvsig.raster.tools.app.basic.toolbox.FilterToolboxAction");
25
			constructor = c.getConstructor();
26
			constructor.newInstance();
27
			
28
			c = Class.forName("org.gvsig.raster.tools.app.basic.toolbox.LayerDatatypeToolboxAction");
29
			constructor = c.getConstructor();
30
			constructor.newInstance();
31
			
32
			Class.forName("org.gvsig.raster.tools.app.basic.toolbox.OverviewsToolboxAction");
33
			constructor = c.getConstructor();
34
			constructor.newInstance();
35
			
36
			c = Class.forName("org.gvsig.raster.tools.app.basic.toolbox.RadiometricEnhancementToolboxAction");
37
			constructor = c.getConstructor();
38
			constructor.newInstance();
39
			
40
			c = Class.forName("org.gvsig.raster.tools.app.basic.toolbox.SaveAsToolboxAction");
41
			constructor = c.getConstructor();
42
			constructor.newInstance();
43
			
44
			c = Class.forName("org.gvsig.raster.tools.app.basic.toolbox.SetViewProjectionToolboxAction");
45
			constructor = c.getConstructor();
46
			constructor.newInstance();
47
		} catch (ClassNotFoundException e) {
48
			log.info(errorMsg, e);
49
		} catch (SecurityException e) {
50
			log.info(errorMsg, e);
51
		} catch (NoSuchMethodException e) {
52
			log.info(errorMsg, e);
53
		} catch (IllegalArgumentException e) {
54
			log.info(errorMsg, e);
55
		} catch (InstantiationException e) {
56
			log.info(errorMsg, e);
57
		} catch (IllegalAccessException e) {
58
			log.info(errorMsg, e);
59
		} catch (InvocationTargetException e) {
60
			log.info(errorMsg, e);
61
		} catch (NoClassDefFoundError e) {
62
			log.info("Geoprocess are not installed." + errorMsg, e);
63
		}
64
	}
65

  
66
}
0 67

  
org.gvsig.raster.tools/tags/org.gvsig.raster.tools-2.2.131/org.gvsig.raster.tools.app.basic/src/main/java/org/gvsig/raster/tools/app/basic/toolbox/SaveAsToolboxAction.java
1
/**
2
 * gvSIG. Desktop Geographic Information System.
3
 *
4
 * Copyright (C) 2007-2012 gvSIG Association.
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
 * For any additional information, do not hesitate to contact us
22
 * at info AT gvsig.com, or visit our website www.gvsig.com.
23
 */
24

  
25

  
26
package org.gvsig.raster.tools.app.basic.toolbox;
27

  
28
import javax.swing.ImageIcon;
29

  
30
import org.gvsig.andami.IconThemeHelper;
31
import org.gvsig.fmap.mapcontext.layers.FLayer;
32
import org.gvsig.geoprocess.sextante.gui.core.GUIFactory;
33
import org.gvsig.i18n.Messages;
34
import org.gvsig.raster.tools.app.basic.tool.saveas.SaveAsTocMenuEntry;
35

  
36
/**
37
 * Input in Sextante framework for SaveAs tool
38
 * 
39
 * @author <a href="mailto:nachobrodin@gmail.com">Nacho Brodin</a>
40
 */
41
public class SaveAsToolboxAction extends AbstractToolboxAction {
42
	
43
	public SaveAsToolboxAction() {
44
		ImageIcon ico = IconThemeHelper.getImageIcon("gvsig-icon16x16");
45
		GUIFactory.registerExternalTool(Messages.getText("gv_tools"), ico, this);
46
	}
47
	
48
	@Override
49
	public void execute() {
50
		if(!super.loadLayer())
51
			return;
52
		SaveAsTocMenuEntry.getSingleton().execute(null, new FLayer[]{lyr}); 
53
	}
54

  
55
	@Override
56
	public String getName() {
57
		return Messages.getText("save_as");
58
	}
59

  
60
	public ImageIcon getIcon() {
61
		return (ImageIcon)SaveAsTocMenuEntry.getSingleton().getIcon();
62
	}
63
	
64
	public boolean isPluginInstalled() {
65
		try {
66
			SaveAsTocMenuEntry.getSingleton();
67
		} catch(Exception e) {
68
			return false;
69
		} catch(Error e) {
70
			return false;
71
		}
72
		return true;
73
	}
74
}
0 75

  
org.gvsig.raster.tools/tags/org.gvsig.raster.tools-2.2.131/org.gvsig.raster.tools.app.basic/src/main/java/org/gvsig/raster/tools/app/basic/toolbox/AbstractToolboxAction.java
1
/**
2
 * gvSIG. Desktop Geographic Information System.
3
 *
4
 * Copyright (C) 2007-2012 gvSIG Association.
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
 * For any additional information, do not hesitate to contact us
22
 * at info AT gvsig.com, or visit our website www.gvsig.com.
23
 */
24

  
25
package org.gvsig.raster.tools.app.basic.toolbox;
26

  
27
import org.gvsig.andami.PluginServices;
28
import org.gvsig.andami.ui.mdiManager.IWindow;
29
import org.gvsig.app.project.documents.view.gui.AbstractViewPanel;
30
import org.gvsig.fmap.mapcontext.MapContext;
31
import org.gvsig.fmap.mapcontext.layers.FLayers;
32
import org.gvsig.geoprocess.lib.sextante.dataObjects.FLyrRasterIRasterLayer;
33
import org.gvsig.i18n.Messages;
34
import org.gvsig.raster.fmap.layers.FLyrRaster;
35
import org.gvsig.raster.swing.RasterSwingLibrary;
36

  
37
import es.unex.sextante.dataObjects.IRasterLayer;
38
import es.unex.sextante.gui.core.SextanteGUI;
39
import es.unex.sextante.gui.core.ToolboxAction;
40

  
41
/**
42
 * Base class for toolBox actions
43
 *
44
 * @author <a href="mailto:nachobrodin@gmail.com">Nacho Brodin</a>
45
 */
46
public abstract class AbstractToolboxAction extends ToolboxAction {
47
	protected FLyrRaster             lyr = null;
48

  
49
	@Override
50
	public String getGroup() {
51
		return Messages.getText("group_tools");
52
	}
53

  
54

  
55
	@Override
56
	public boolean isActive() {
57
		IWindow[] windows = PluginServices.getMDIManager().getAllWindows();
58
		for (int i = 0; i < windows.length; i++) {
59
			if(windows[i] instanceof AbstractViewPanel) {
60
				FLayers lyrs = ((AbstractViewPanel)windows[i]).getMapControl().getMapContext().getLayers();
61
				for (int j = 0; j < lyrs.getLayersCount(); j++) {
62
					if(lyrs.getLayer(j) instanceof FLyrRaster)
63
						return true;
64
				}
65
			}
66
		}
67
		return false;
68
	}
69

  
70
	/**
71
	 * Returns true if the plugin which gives the functionality is installed
72
	 * in gvSIG
73
	 * @return
74
	 */
75
	public abstract boolean isPluginInstalled();
76

  
77
	/**
78
	 * Loads the raster layer for the tool
79
	 * @return
80
	 */
81
	public boolean loadLayer() {
82
		if(!isPluginInstalled()) {
83
			RasterSwingLibrary.messageBoxError(Messages.getText("plugin_not_installed"), null);
84
			return false;
85
		}
86

  
87
		if(!isActive()) {
88
			RasterSwingLibrary.messageBoxError(Messages.getText("layer_not_valid"), null);
89
			return false;
90
		}
91

  
92
		boolean existsRasterButNotActive = false;
93
		lyr = null;
94
		IWindow[] windows = PluginServices.getMDIManager().getOrderedWindows();
95
		MapContext mapCtx = null;
96
		for (int i = 0; i < windows.length; i++) {
97
			if(windows[i] instanceof AbstractViewPanel) {
98
				mapCtx = ((AbstractViewPanel)windows[i]).getMapControl().getMapContext();
99
				break;
100
			}
101
		}
102

  
103
		IRasterLayer[] layers = SextanteGUI.getInputFactory().getRasterLayers();
104
		for (int i = 0; i < layers.length; i++) {
105
			FLyrRaster l = (FLyrRaster)((FLyrRasterIRasterLayer)layers[i]).getBaseDataObject();
106
			existsRasterButNotActive = true;
107
			if(l.isActive() && mapCtx == l.getMapContext()) {
108
				existsRasterButNotActive = false;
109
				lyr = l;
110
				break;
111
			}
112
		}
113

  
114
		if(existsRasterButNotActive) {
115
			RasterSwingLibrary.messageBoxError(Messages.getText("raster_layer_not_active"), null);
116
			return false;
117
		}
118

  
119
		return true;
120
	}
121

  
122
}
0 123

  
org.gvsig.raster.tools/tags/org.gvsig.raster.tools-2.2.131/org.gvsig.raster.tools.app.basic/src/main/java/org/gvsig/raster/tools/app/basic/toolbox/SetViewProjectionToolboxAction.java
1
/**
2
 * gvSIG. Desktop Geographic Information System.
3
 *
4
 * Copyright (C) 2007-2012 gvSIG Association.
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
 * For any additional information, do not hesitate to contact us
22
 * at info AT gvsig.com, or visit our website www.gvsig.com.
23
 */
24

  
25

  
26
package org.gvsig.raster.tools.app.basic.toolbox;
27

  
28
import javax.swing.ImageIcon;
29

  
30
import org.gvsig.andami.IconThemeHelper;
31
import org.gvsig.fmap.mapcontext.layers.FLayer;
32
import org.gvsig.geoprocess.sextante.gui.core.GUIFactory;
33
import org.gvsig.i18n.Messages;
34
import org.gvsig.raster.tools.app.basic.tool.setviewprojection.SetViewProjectionTocMenuEntry;
35

  
36
/**
37
 * Input in Sextante framework for "SetViewProjection" tool
38
 * 
39
 * @author <a href="mailto:nachobrodin@gmail.com">Nacho Brodin</a>
40
 */
41
public class SetViewProjectionToolboxAction extends AbstractToolboxAction {
42
	
43
	public SetViewProjectionToolboxAction() {
44
		ImageIcon ico = IconThemeHelper.getImageIcon("gvsig-icon16x16");
45
		GUIFactory.registerExternalTool(Messages.getText("gv_tools"), ico, this);
46
	}
47
	
48
	@Override
49
	public void execute() {
50
		if(!super.loadLayer())
51
			return;
52
		
53
		SetViewProjectionTocMenuEntry.getSingleton().execute(null, new FLayer[]{lyr}); 
54
	}
55

  
56
	@Override
57
	public String getName() {
58
		return Messages.getText("set_view_projection");
59
	}
60
	
61
	public ImageIcon getIcon() {
62
		return (ImageIcon)SetViewProjectionTocMenuEntry.getSingleton().getIcon();
63
	}
64
	
65
	public boolean isPluginInstalled() {
66
		try {
67
			SetViewProjectionTocMenuEntry.getSingleton();
68
		} catch(Exception e) {
69
			return false;
70
		} catch(Error e) {
71
			return false;
72
		}
73
		return true;
74
	}
75

  
76
}
0 77

  
org.gvsig.raster.tools/tags/org.gvsig.raster.tools-2.2.131/org.gvsig.raster.tools.app.basic/src/main/java/org/gvsig/raster/tools/app/basic/toolbox/FilterToolboxAction.java
1
/**
2
 * gvSIG. Desktop Geographic Information System.
3
 *
4
 * Copyright (C) 2007-2012 gvSIG Association.
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
 * For any additional information, do not hesitate to contact us
22
 * at info AT gvsig.com, or visit our website www.gvsig.com.
23
 */
24

  
25
package org.gvsig.raster.tools.app.basic.toolbox;
26

  
27
import javax.swing.ImageIcon;
28

  
29
import org.gvsig.andami.IconThemeHelper;
30
import org.gvsig.fmap.mapcontext.layers.FLayer;
31
import org.gvsig.geoprocess.sextante.gui.core.GUIFactory;
32
import org.gvsig.i18n.Messages;
33
import org.gvsig.raster.tools.app.basic.tool.filter.FilterTocMenuEntry;
34

  
35
/**
36
 * Input in Sextante framework for Radiometric enhancement tool
37
 * 
38
 * @author <a href="mailto:nachobrodin@gmail.com">Nacho Brodin</a>
39
 */
40
public class FilterToolboxAction extends AbstractToolboxAction {
41
	
42
	public FilterToolboxAction() {
43
		ImageIcon ico = IconThemeHelper.getImageIcon("gvsig-icon16x16");
44
		GUIFactory.registerExternalTool(Messages.getText("gv_tools"), ico, this);
45
	}
46
   
47
   @Override
48
   public void execute() {
49
	   if(!super.loadLayer())
50
		   return;
51
	   
52
	   FilterTocMenuEntry.getSingleton().execute(null, new FLayer[]{lyr}); 
53
   }
54

  
55
   @Override
56
   public String getName() {
57
	   return Messages.getText("filters");
58
   }
59

  
60
   public ImageIcon getIcon() {
61
	   return (ImageIcon)FilterTocMenuEntry.getSingleton().getIcon();
62
   }
63
   
64
	public boolean isPluginInstalled() {
65
		try {
66
			FilterTocMenuEntry.getSingleton();
67
		} catch(Exception e) {
68
			return false;
69
		} catch(Error e) {
70
			return false;
71
		}
72
		return true;
73
	}
74

  
75
}
0 76

  
org.gvsig.raster.tools/tags/org.gvsig.raster.tools-2.2.131/org.gvsig.raster.tools.app.basic/src/main/java/org/gvsig/raster/tools/app/basic/SystemGCExtension.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.raster.tools.app.basic;
23

  
24
import org.gvsig.andami.plugins.Extension;
25

  
26

  
27
/**
28
 * @author Nacho Brodin (nachobrodin@gmail.com)
29
 */
30
public class SystemGCExtension extends Extension {
31

  
32
	public void execute(String actionCommand) {
33
		System.gc();
34
	}
35

  
36
	public void initialize() {
37

  
38
	}
39

  
40
	public boolean isEnabled() {
41
		return true;
42
	}
43

  
44
	public boolean isVisible() {
45
		return true;
46
	}
47

  
48
}
0 49

  
org.gvsig.raster.tools/tags/org.gvsig.raster.tools-2.2.131/org.gvsig.raster.tools.app.basic/src/main/java/org/gvsig/raster/tools/app/basic/MainWindow.java
1
/* gvSIG. Geographic Information System of the Valencian Government
2
 *
3
 * Copyright (C) 2011-2012 Prodevelop S.L
4
 *
5
 * This program is free software; you can redistribute it and/or
6
 * modify it under the terms of the GNU General Public License
7
 * as published by the Free Software Foundation; either version 2
8
 * of the License, or (at your option) any later version.
9
 *
10
 * This program is distributed in the hope that it will be useful,
11
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
 * GNU General Public License for more details.
14
 *
15
 * You should have received a copy of the GNU General Public License
16
 * along with this program; if not, write to the Free Software
17
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
18
 * MA  02110-1301, USA.
19
 *
20
 */
21
package org.gvsig.raster.tools.app.basic;
22

  
23
import java.awt.GridBagConstraints;
24
import java.awt.GridBagLayout;
25
import java.awt.event.ActionEvent;
26
import java.awt.event.ActionListener;
27

  
28
import javax.swing.JComponent;
29

  
30
import org.gvsig.andami.PluginServices;
31
import org.gvsig.andami.ui.mdiManager.IWindow;
32
import org.gvsig.andami.ui.mdiManager.WindowInfo;
33
import org.gvsig.gui.beans.buttonspanel.ButtonsPanel;
34
import org.gvsig.gui.beans.defaultbuttonspanel.DefaultButtonsPanel;
35

  
36

  
37
/**
38
 * Basic frame for a gvSIG <code>IWindow</code> object. This frame adds buttons 
39
 * of Cancel, Accept and others.
40
 * 
41
 * @author Nacho Brodin (nachobrodin@gmail.com)
42
 */
43
public class MainWindow extends DefaultButtonsPanel implements IWindow, ActionListener {
44
    
45
    private static final long  serialVersionUID = -4401123724140025094L;
46
    private ActionListener     listener         = null;
47
    private WindowInfo         info             = null;
48

  
49
    private Object profile = WindowInfo.EDITOR_PROFILE;
50

  
51
    public MainWindow(JComponent panel, JComponent preview, String title, int w, int h, ActionListener actionListener) {
52
    	this.listener = actionListener;
53
    	
54
    	setLayout(new GridBagLayout());
55
		GridBagConstraints gbc = new GridBagConstraints();
56
		gbc.fill = GridBagConstraints.BOTH;
57
		gbc.weightx = 1;
58
		gbc.weighty = 1;
59
		add(panel, gbc);
60
		
61
		if(preview != null) {
62
			gbc.anchor = GridBagConstraints.NORTH;
63
			gbc.fill = GridBagConstraints.NONE;
64
			gbc.weightx = 0;
65
			gbc.weighty = 0;
66
			gbc.gridx = 1;
67
			add(preview, gbc);
68
		}
69

  
70
        getButtonsPanel().getButton(ButtonsPanel.BUTTON_ACCEPT).addActionListener(this);
71
        getButtonsPanel().getButton(ButtonsPanel.BUTTON_APPLY).addActionListener(this);
72
        getButtonsPanel().getButton(ButtonsPanel.BUTTON_CANCEL).addActionListener(this);
73
        
74
        info = new WindowInfo(WindowInfo.PALETTE | WindowInfo.RESIZABLE);
75
        info.setTitle(title);
76
        info.setWidth(w);
77
        info.setHeight(h);
78
    }
79

  
80
    public WindowInfo getWindowInfo() {
81
        return info;
82
    }
83

  
84
    public Object getWindowProfile() {
85
        return profile;
86
    }
87

  
88
    public void actionPerformed(ActionEvent e) {
89
    	if(e.getSource() == getButtonsPanel().getButton(ButtonsPanel.BUTTON_ACCEPT)) {
90
    		listener.actionPerformed(e);
91
    		PluginServices.getMDIManager().closeWindow(this);
92
    	}
93
    	
94
    	if(e.getSource() == getButtonsPanel().getButton(ButtonsPanel.BUTTON_APPLY)) {
95
    		listener.actionPerformed(e);
96
    	}
97
    	
98
    	if(e.getSource() == getButtonsPanel().getButton(ButtonsPanel.BUTTON_CANCEL)) {
99
    		PluginServices.getMDIManager().closeWindow(this);
100
    	}
101
    }
102
}
0 103

  
org.gvsig.raster.tools/tags/org.gvsig.raster.tools-2.2.131/org.gvsig.raster.tools.app.basic/src/main/java/org/gvsig/raster/tools/app/basic/RasterExtension.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.raster.tools.app.basic;
23

  
24
import java.util.ArrayList;
25
import java.util.prefs.Preferences;
26

  
27
import org.gvsig.andami.IconThemeHelper;
28
import org.gvsig.andami.PluginServices;
29
import org.gvsig.andami.plugins.Extension;
30
import org.gvsig.andami.plugins.IExtensionQueryByAction;
31
import org.gvsig.andami.ui.mdiManager.IWindow;
32
import org.gvsig.app.ApplicationLocator;
33
import org.gvsig.app.ApplicationManager;
34
import org.gvsig.app.project.documents.view.ViewDocument;
35
import org.gvsig.app.project.documents.view.gui.AbstractViewPanel;
36
import org.gvsig.app.project.documents.view.toc.AbstractTocContextMenuAction;
37
import org.gvsig.app.project.documents.view.toc.ITocItem;
38
import org.gvsig.fmap.dal.coverage.RasterLibrary;
39
import org.gvsig.fmap.dal.coverage.RasterLocator;
40
import org.gvsig.fmap.dal.coverage.store.RasterDataStore;
41
import org.gvsig.fmap.mapcontext.MapContext;
42
import org.gvsig.fmap.mapcontext.layers.FLayer;
43
import org.gvsig.fmap.mapcontext.layers.FLayers;
44
import org.gvsig.raster.algorithm.RasterBaseAlgorithmLibrary;
45
import org.gvsig.raster.fmap.FmapRasterLibrary;
46
import org.gvsig.raster.fmap.layers.DefaultFLyrRaster;
47
import org.gvsig.raster.fmap.layers.FLyrRaster;
48
import org.gvsig.raster.mainplugin.config.Configuration;
49
import org.gvsig.raster.mainplugin.config.ConfigurationEvent;
50
import org.gvsig.raster.mainplugin.config.ConfigurationListener;
51
import org.gvsig.raster.tools.app.basic.raster.gui.preference.RasterPreferences;
52
import org.gvsig.raster.tools.app.basic.raster.gui.wizard.PrepareDataStoreParametersRaw;
53
import org.gvsig.raster.tools.app.basic.raster.gui.wizard.PrepareDataStoreParametersVTR;
54
import org.gvsig.raster.tools.app.basic.raster.gui.wizard.PrepareLayerAskWritableDirectory;
55
import org.gvsig.raster.tools.app.basic.raster.process.ClippingProcess;
56
import org.gvsig.raster.tools.app.basic.tool.analysisview.ViewRasterAnalysisTocMenuEntry;
57
import org.gvsig.raster.tools.app.basic.tool.clip.ClippingTocMenuEntry;
58
import org.gvsig.raster.tools.app.basic.tool.colortable.ColorTableTocMenuEntry;
59
import org.gvsig.raster.tools.app.basic.tool.colortable.ui.library.RasterColorTablesFactory;
60
import org.gvsig.raster.tools.app.basic.tool.enhanced.EnhancedTocMenuEntry;
61
import org.gvsig.raster.tools.app.basic.tool.filter.FilterTocMenuEntry;
62
import org.gvsig.raster.tools.app.basic.tool.geolocation.GeoLocationTocMenuEntry;
63
import org.gvsig.raster.tools.app.basic.tool.histogram.HistogramTocMenuEntry;
64
import org.gvsig.raster.tools.app.basic.tool.infobypoint.InfoByRasterPointTocMenuEntry;
65
import org.gvsig.raster.tools.app.basic.tool.layerdatatype.LayerDatatypeTocMenuEntry;
66
import org.gvsig.raster.tools.app.basic.tool.multiresolution.ZoomResolutionLevelTocMenuEntry;
67
import org.gvsig.raster.tools.app.basic.tool.overview.OverviewsTocMenuEntry;
68
import org.gvsig.raster.tools.app.basic.tool.properties.panel.EnhancedPanel;
69
import org.gvsig.raster.tools.app.basic.tool.properties.panel.GeneralPanel;
70
import org.gvsig.raster.tools.app.basic.tool.properties.panel.InfoPanel;
71
import org.gvsig.raster.tools.app.basic.tool.properties.panel.TransparencyPanel;
72
import org.gvsig.raster.tools.app.basic.tool.rasterresolution.ZoomPixelCursorTocMenuEntry;
73
import org.gvsig.raster.tools.app.basic.tool.roi.ROIManagerTocMenuEntry;
74
import org.gvsig.raster.tools.app.basic.tool.saveas.SaveAsTocMenuEntry;
75
import org.gvsig.raster.tools.app.basic.tool.saveviewtoraster.SaveViewToRasterTocMenuEntry;
76
import org.gvsig.raster.tools.app.basic.tool.selectrasterlayer.SelectLayerTocMenuEntry;
77
import org.gvsig.raster.tools.app.basic.tool.setviewprojection.SetViewProjectionTocMenuEntry;
78
import org.gvsig.raster.tools.app.basic.tool.viewexport.SaveViewToImageTocMenuEntry;
79
import org.gvsig.raster.tools.app.basic.toolbox.ToolboxRasterToolsLoader;
80
import org.gvsig.tools.ToolsLocator;
81
import org.gvsig.tools.extensionpoint.ExtensionBuilder;
82
import org.gvsig.tools.extensionpoint.ExtensionPoint;
83
import org.gvsig.tools.extensionpoint.ExtensionPointManager;
84

  
85

  
86
/**
87
 * Extensi?n que adapta a FMap y gvSIG la nueva implementaci?n de raster. Para
88
 * el cuadro de Propiedades de visualizaci?n de raster contiene el contenedor
89
 * base se registran la entrada del men? del TOC y los paneles en el cuadro.
90
 * Para la parte de FMap contiene una nueva capa raster y los drivers
91
 * necesarios.
92
 *
93
 * @author Nacho Brodin (nachobrodin@gmail.com)
94
 */
95
public class RasterExtension extends Extension implements ConfigurationListener, IExtensionQueryByAction {
96
	public static final String         CLIPPING_PROCESS_LABEL   = ClippingProcess.PROCESS_LABEL;
97

  
98
	/**
99
	 * Indica si en el panel de preferencias se refresca automaticamente la vista
100
	 * para mostrar los cambios
101
	 */
102
	public static boolean       autoRefreshView = true;
103

  
104
	private ExtensionPoint      genericToolBarMenuExtensionPoint  = null;
105

  
106
	public void execute(String actionCommand) {
107
		//Las entradas en GenericToolBarModule est?n registradas con la misma etiqueta que la del actionCommand
108
		//De esta forma pueden recuperarse los TocMenuEntry del punto de extensi?n y ejecutar la acci?n a
109
		//trav?s de este.
110
		ExtensionBuilder ext = getGenericToolBarMenuExtensionPoint().get(actionCommand).getBuilder();
111
		if(ext != null && ext instanceof AbstractTocContextMenuAction) {
112
			IWindow w = PluginServices.getMDIManager().getActiveWindow();
113
			if(w instanceof AbstractViewPanel) {
114
				FLayers lyrs = ((AbstractViewPanel)w).getMapControl().getMapContext().getLayers();
115
				FLayer[] actives = lyrs.getActives();
116
				((AbstractTocContextMenuAction)ext).execute(null, actives);
117
			}
118
		}
119
	}
120

  
121
	public void initialize() {
122
		// Asignamos la configuracion global a FlyrRasterSE
123
		DefaultFLyrRaster.setConfiguration(Configuration.getSingleton());
124

  
125
		Configuration.addValueChangedListener(this);
126
		loadConfigurationValues();
127

  
128
		registerIcons();
129

  
130
		FmapRasterLibrary fmapRaster = new FmapRasterLibrary();
131
		fmapRaster.initialize();
132

  
133
		Preferences prefs = Preferences.userRoot().node("gvsig.foldering");
134
		prefs.put("DataFolder", System.getProperty("user.home"));
135
		ExtensionPointManager extensionPoints = ToolsLocator.getExtensionPointManager();
136

  
137
		// Creaci?n del punto de extensi?n para registrar paneles en el cuadro de propiedades.
138
		if (!extensionPoints.has("RasterSEPropertiesDialog")) {
139
			ExtensionPoint point = extensionPoints.add("RasterSEPropertiesDialog");
140
			point.setDescription("Raster Properties registrable panels (register instances of javax.swing.JPanel)");
141
		}
142

  
143
		// A?adimos la configuracion de Raster a gvSIG
144

  
145
		ExtensionPoint point = extensionPoints.get("AplicationPreferences");
146
		point.append("RasterPreferences", "", RasterPreferences.class);
147

  
148
		// A?adimos paneles al cuadro de propiedades.
149
		point = extensionPoints.get("RasterSEPropertiesDialog");
150
		point.append("info", "", InfoPanel.class);
151
		point.append("general_panel", "", GeneralPanel.class);
152
		point.append("transparencia", "", TransparencyPanel.class);
153
		point.append("realce", "", EnhancedPanel.class);
154

  
155

  
156
		// A?adimos las entradas del men?  del toc de raster
157
		point = extensionPoints.get("View_TocActions");
158
		//point.append("RasterSEProperties", "Raster Properties", RasterPropertiesTocMenuEntry.getSingleton());
159
		point.append("SaveAs", "Save as raster layer", SaveAsTocMenuEntry.getSingleton());
160
		point.append("ZoomPixelCursor", "zoom to pixel resolution", ZoomPixelCursorTocMenuEntry.getSingleton());
161
		point.append("ROI", "ROIs for a raster layer", ROIManagerTocMenuEntry.getSingleton());
162
		point.append("Color table", "Color table for a raster layer", ColorTableTocMenuEntry.getSingleton());
163
		point.append("Histogram", "Histogram of a raster layer", HistogramTocMenuEntry.getSingleton());
164
		point.append("Overviews", "Build overviews", OverviewsTocMenuEntry.getSingleton());
165

  
166
		ApplicationManager appGvSigMan = ApplicationLocator.getManager();
167

  
168
		appGvSigMan.registerPrepareOpenDataStoreParameters(new PrepareLayerAskWritableDirectory());
169
		appGvSigMan.registerPrepareOpenDataStoreParameters(new PrepareDataStoreParametersRaw());
170
		appGvSigMan.registerPrepareOpenDataStoreParameters(new PrepareDataStoreParametersVTR());
171

  
172
		appGvSigMan.registerColorTablesFactory(new RasterColorTablesFactory());
173

  
174
		registerMenuElements();
175
		registerProcesses();
176
	}
177

  
178
	private void registerProcesses() {
179
    	RasterBaseAlgorithmLibrary.register(CLIPPING_PROCESS_LABEL, ClippingProcess.class);
180
    	ClippingProcess.registerParameters();
181
	}
182

  
183
	/**
184
	 * Registra los iconos a utilizar en andami.
185
	 */
186
	private void registerIcons() {
187
		//Actions
188
		IconThemeHelper.registerIcon("action", "menu-layer-icon", this);
189
		IconThemeHelper.registerIcon("action", "menu-process-icon", this);
190
		IconThemeHelper.registerIcon("action", "menu-transgeo-icon", this);
191
		IconThemeHelper.registerIcon("action", "menu-raster-export", this);
192

  
193
		IconThemeHelper.registerIcon("action", "layer-modify-roi", this);
194
		IconThemeHelper.registerIcon("action", "layer-histogram", this);
195
		IconThemeHelper.registerIcon("action", "layer-color-table", this);
196
		IconThemeHelper.registerIcon("action", "layer-modify-overviews", this);
197
		IconThemeHelper.registerIcon("action", "layer-properties-raster", this);
198
		IconThemeHelper.registerIcon("action", "layer-filter-raster", this);
199
		IconThemeHelper.registerIcon("action", "layer-enhanced", this);
200
		IconThemeHelper.registerIcon("action", "view-raster-analysis", this);
201
		IconThemeHelper.registerIcon("action", "view-select-raster-layer", this);
202
		IconThemeHelper.registerIcon("action", "layer-geolocalization", this);
203
		IconThemeHelper.registerIcon("action", "tools-raster-reproject", this);
204
		IconThemeHelper.registerIcon("action", "view-export-georeferenced-raster", this);
205
		IconThemeHelper.registerIcon("action", "layer-saveas", this);
206
		IconThemeHelper.registerIcon("action", "layer-clip-raster", this);
207
		IconThemeHelper.registerIcon("action", "layer-zoom-res-level", this);
208
		IconThemeHelper.registerIcon("action", "layer-info-by-pixel", this);
209
		IconThemeHelper.registerIcon("action", "layer-vectorization", this);
210
		IconThemeHelper.registerIcon("action", "view-export-image", this);
211

  
212
		//Cursor
213
		IconThemeHelper.registerIcon("cursor", "zoom-pixel-cursor", this);
... This diff was truncated because it exceeds the maximum size that can be displayed.

Also available in: Unified diff