Index: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.app/pom.xml
===================================================================
--- org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.app/pom.xml	(revision 0)
+++ org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.app/pom.xml	(revision 5862)
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<artifactId>org.gvsig.complexlegend.app</artifactId>
+	<packaging>pom</packaging>
+	<name>org.gvsig.complexlegend.app</name>
+	<description>complex legend extension</description>
+	<parent>
+        <groupId>org.gvsig</groupId>
+        <artifactId>org.gvsig.complexlegend</artifactId>
+		<version>1.0.160</version>
+	</parent>
+	<dependencyManagement>
+		<dependencies>
+		</dependencies>
+	</dependencyManagement>
+
+	<modules>
+		<module>org.gvsig.complexlegend.app.mainplugin</module>
+	</modules>
+
+</project>
\ No newline at end of file

Property changes on: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.app/pom.xml
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.app/org.gvsig.complexlegend.app.mainplugin/buildNumber.properties
===================================================================
--- org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.app/org.gvsig.complexlegend.app.mainplugin/buildNumber.properties	(revision 0)
+++ org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.app/org.gvsig.complexlegend.app.mainplugin/buildNumber.properties	(revision 5862)
@@ -0,0 +1,2 @@
+#Fri Dec 10 01:34:59 CET 2021
+buildNumber=166

Property changes on: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.app/org.gvsig.complexlegend.app.mainplugin/buildNumber.properties
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.app/org.gvsig.complexlegend.app.mainplugin/src/main/resources-plugin/config.xml
===================================================================
--- org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.app/org.gvsig.complexlegend.app.mainplugin/src/main/resources-plugin/config.xml	(revision 0)
+++ org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.app/org.gvsig.complexlegend.app.mainplugin/src/main/resources-plugin/config.xml	(revision 5862)
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<plugin-config>
+	<libraries library-dir="lib">
+	</libraries>
+	<depends plugin-name="org.gvsig.app.mainplugin"/>
+	<depends plugin-name="org.gvsig.labeling.app.mainplugin"/>
+		<resourceBundle name="text"/>
+	<extensions>
+		<extension class-name="org.gvsig.complexlegend.app.mainplugin.ComplexLegendExtension"
+			description="Complex legend extension"
+			active="true">
+		</extension>
+	</extensions>
+</plugin-config>
\ No newline at end of file

Property changes on: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.app/org.gvsig.complexlegend.app.mainplugin/src/main/resources-plugin/config.xml
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.app/org.gvsig.complexlegend.app.mainplugin/src/main/resources-plugin/images/layer/layer-icon-dwg.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.app/org.gvsig.complexlegend.app.mainplugin/src/main/resources-plugin/images/layer/layer-icon-dwg.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.app/org.gvsig.complexlegend.app.mainplugin/src/main/resources-plugin/i18n/text.properties
===================================================================
--- org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.app/org.gvsig.complexlegend.app.mainplugin/src/main/resources-plugin/i18n/text.properties	(revision 0)
+++ org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.app/org.gvsig.complexlegend.app.mainplugin/src/main/resources-plugin/i18n/text.properties	(revision 5862)
@@ -0,0 +1,28 @@
+#Translations for language [es]
+#Tue May 12 10:57:39 CEST 2009
+panel_error_title=Error en el panel
+panel_error=Error en la creaci\u00f3n del panel
+min_max_error_title=Valores de escala por definir
+min_max_error=Se debe definir correctamente la escala m\u00ednima y m\u00e1xima
+min_greather_than_max_error_title=Datos inv\u00e1lidos
+min_greather_than_max_error=Escala m\u00ednima no puede ser mayor que escala m\u00e1xima
+overlaping_error_title=Rango superpuesto
+overlaping_error=El rango definido se superpone con otro ya existente
+MinScale=Escala m\u00ednima
+MaxScale=Escala m\u00e1xima
+LegendType=Tipo de leyenda
+accept=Aceptar
+cancel=Cancelar
+SelectItem=Define un rango
+legend_by_scale=Permite la edici\u00f3n de distintas leyendas en funci\u00f3n de la escala
+complex_symbology=S\u00edmbolo complejo
+select_scale=Rangos definidos
+legend_definition=Definici\u00f3n de la leyenda
+without_min_scale=Sin rango inferior
+without_max_scale=Sin rango superior
+
+complex_label_class_properties=Definici\u00f3n de la etiqueta
+Label_definition=Definici\u00f3n de la etiqueta
+Label_scale_definition=Definici\u00f3n de la escala
+
+_Allow_overlap_drawing_legends=Permitir solape en pintado de leyendas
\ No newline at end of file

Property changes on: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.app/org.gvsig.complexlegend.app.mainplugin/src/main/resources-plugin/i18n/text.properties
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.app/org.gvsig.complexlegend.app.mainplugin/src/main/resources-plugin/i18n/text_en.properties
===================================================================
--- org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.app/org.gvsig.complexlegend.app.mainplugin/src/main/resources-plugin/i18n/text_en.properties	(revision 0)
+++ org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.app/org.gvsig.complexlegend.app.mainplugin/src/main/resources-plugin/i18n/text_en.properties	(revision 5862)
@@ -0,0 +1,28 @@
+#Translations for language [en]
+#Tue May 12 10:57:38 CEST 2009
+panel_error_title=Panel error
+panel_error=Error creating the panel
+min_max_error_title=Scale values not defined
+min_max_error=Scales are not defined correctly
+min_greather_than_max_error_title=Invalid data
+min_greather_than_max_error=Min scale can't be greater than max scale
+overlaping_error_title=Overlap range
+overlaping_error=This range overlaps another one defined
+MinScale=Min scale
+MaxScale=Max scale
+LegendType=Legend type
+accept=Accept
+cancel=Cancel
+SelectItem=Define a range
+legend_by_scale=Allow edit different legends by scale
+complex_symbology=Complex symbology
+select_scale=Defined ranges
+legend_definition=Legend definition
+without_min_scale=Without min scale
+without_max_scale=Without max scale
+
+complex_label_class_properties=Label definition
+Label_definition=Label definition
+Label_scale_definition=Scale definition
+
+_Allow_overlap_drawing_legends=Allow overlap drawing legends
\ No newline at end of file

Property changes on: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.app/org.gvsig.complexlegend.app.mainplugin/src/main/resources-plugin/i18n/text_en.properties
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.app/org.gvsig.complexlegend.app.mainplugin/src/main/assembly/gvsig-plugin-package.xml
===================================================================
--- org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.app/org.gvsig.complexlegend.app.mainplugin/src/main/assembly/gvsig-plugin-package.xml	(revision 0)
+++ org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.app/org.gvsig.complexlegend.app.mainplugin/src/main/assembly/gvsig-plugin-package.xml	(revision 5862)
@@ -0,0 +1,39 @@
+<assembly>
+  <id>gvsig-plugin-package</id>
+  <formats>
+    <format>zip</format>
+  </formats>
+  <baseDirectory>${project.artifactId}</baseDirectory>
+  <includeBaseDirectory>true</includeBaseDirectory>
+  <files>
+    <file>
+      <source>target/${project.artifactId}-${project.version}.jar</source>
+      <outputDirectory>lib</outputDirectory>
+    </file>
+    <file>
+      <source>target/package.info</source>
+    </file>
+  </files>
+
+  <fileSets>
+    <fileSet>
+      <directory>src/main/resources-plugin</directory>
+      <outputDirectory>.</outputDirectory>
+    </fileSet>
+  </fileSets>
+
+  <dependencySets>
+    <dependencySet>
+      <useProjectArtifact>false</useProjectArtifact>
+      <useTransitiveDependencies>false</useTransitiveDependencies>
+      <outputDirectory>lib</outputDirectory>
+      <includes>
+        <include>org.gvsig:org.gvsig.complexlegend.lib.api</include>
+        <include>org.gvsig:org.gvsig.complexlegend.swing.api</include>
+        <include>org.gvsig:org.gvsig.complexlegend.lib.impl</include>
+        <include>org.gvsig:org.gvsig.complexlegend.swing.impl</include>
+      </includes>
+    </dependencySet>
+  </dependencySets>
+
+</assembly>
\ No newline at end of file

Property changes on: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.app/org.gvsig.complexlegend.app.mainplugin/src/main/assembly/gvsig-plugin-package.xml
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.app/org.gvsig.complexlegend.app.mainplugin/src/main/java/org/gvsig/complexlegend/app/mainplugin/ComplexLegendExtension.java
===================================================================
--- org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.app/org.gvsig.complexlegend.app.mainplugin/src/main/java/org/gvsig/complexlegend/app/mainplugin/ComplexLegendExtension.java	(revision 0)
+++ org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.app/org.gvsig.complexlegend.app.mainplugin/src/main/java/org/gvsig/complexlegend/app/mainplugin/ComplexLegendExtension.java	(revision 5862)
@@ -0,0 +1,59 @@
+/* OSM layers for gvSIG. 
+ * Geographic Information System of the Valencian Government
+*
+* Copyright (C) 2012 Nacho Brodin
+* 
+* This program is free software; you can redistribute it and/or
+* modify it under the terms of the GNU General Public License
+* as published by the Free Software Foundation; either version 2
+* of the License, or (at your option) any later version.
+* 
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+* GNU General Public License for more details.
+* 
+* You should have received a copy of the GNU General Public License
+* along with this program; if not, write to the Free Software
+* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+* MA  02110-1301, USA.
+* 
+*/
+package org.gvsig.complexlegend.app.mainplugin;
+
+import org.gvsig.andami.plugins.Extension;
+import org.gvsig.complexlabel.app.editor.ComplexLabelClassEditorFactory;
+import org.gvsig.complexlegend.swing.impl.DefaultComplexLegendPanelController;
+import org.gvsig.symbology.swing.SymbologySwingLocator;
+import org.gvsig.symbology.swing.SymbologySwingManager;
+
+/**
+ * Complex Legend Extension to gvSIG.
+ * @author Jose Badia (jbadia@scolab.es)
+ */
+public class ComplexLegendExtension extends Extension {
+
+	public void initialize() {
+		SymbologySwingManager manager = SymbologySwingLocator.getSwingManager();
+		manager.registerLegendEditor(DefaultComplexLegendPanelController.class);
+		manager.registerLabelClassEditor(new ComplexLabelClassEditorFactory());
+	}
+	
+	@Override
+	public void postInitialize() {
+		super.postInitialize();
+		
+	}
+
+	public void execute(String actionCommand) {
+		
+	}
+
+	public boolean isEnabled() {
+		return true;
+	}
+
+	public boolean isVisible() {
+		return true;
+	}
+}

Property changes on: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.app/org.gvsig.complexlegend.app.mainplugin/src/main/java/org/gvsig/complexlegend/app/mainplugin/ComplexLegendExtension.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.app/org.gvsig.complexlegend.app.mainplugin/src/main/java/org/gvsig/complexlabel/app/editor/ComplexLabelClassEditor.java
===================================================================
--- org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.app/org.gvsig.complexlegend.app.mainplugin/src/main/java/org/gvsig/complexlabel/app/editor/ComplexLabelClassEditor.java	(revision 0)
+++ org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.app/org.gvsig.complexlegend.app.mainplugin/src/main/java/org/gvsig/complexlabel/app/editor/ComplexLabelClassEditor.java	(revision 5862)
@@ -0,0 +1,162 @@
+package org.gvsig.complexlabel.app.editor;
+
+import java.awt.BorderLayout;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+
+import javax.swing.JComponent;
+import javax.swing.JPanel;
+import javax.swing.JTabbedPane;
+
+import org.gvsig.andami.ui.mdiManager.IWindow;
+import org.gvsig.andami.ui.mdiManager.WindowInfo;
+import org.gvsig.app.ApplicationLocator;
+import org.gvsig.app.gui.labeling.LabelClassEditor;
+import org.gvsig.complexlabel.impl.ComplexLabelClassFactory;
+import org.gvsig.complexlabel.impl.DefaultComplexLabelClass;
+import org.gvsig.fmap.dal.feature.FeatureStore;
+import org.gvsig.fmap.mapcontext.rendering.legend.styling.ILabelClass;
+import org.gvsig.gui.beans.AcceptCancelPanel;
+import org.gvsig.labeling.gui.layerproperties.LabelClassProperties;
+import org.gvsig.symbology.SymbologyLocator;
+import org.gvsig.tools.ToolsLocator;
+import org.gvsig.tools.i18n.I18nManager;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class ComplexLabelClassEditor extends JPanel implements LabelClassEditor, IWindow, ActionListener{
+
+	/**
+	 * 
+	 */
+	private static final long serialVersionUID = 1L;
+	private static final Logger logger = LoggerFactory.getLogger(ComplexLabelClassEditor.class);
+
+	private LabelClassProperties labelClassEditorPanel;
+	private LabelClassScalePanel labelClassScalePanel;
+	private AcceptCancelPanel acceptCancelPanel;
+	private JTabbedPane mainPanel;
+	private I18nManager i18nManager;
+	private FeatureStore fstore;
+	private DefaultComplexLabelClass complexLabelClass;
+
+
+	public ComplexLabelClassEditor(FeatureStore store){
+		this(store, null);
+	}
+
+	public ComplexLabelClassEditor(FeatureStore store, DefaultComplexLabelClass labelClass){
+		this.i18nManager = ToolsLocator.getI18nManager();
+		this.fstore = store;
+		initialize();
+		
+		if(labelClass == null){
+			ComplexLabelClassFactory factory = (ComplexLabelClassFactory) SymbologyLocator
+				.getSymbologyManager().getLabelClassFactory(ComplexLabelClassFactory.FACTORY_ID);
+			this.complexLabelClass = (DefaultComplexLabelClass) factory.create();
+		}else{
+			this.complexLabelClass = labelClass;
+		}
+		setLabelClass(this.complexLabelClass);
+	}
+
+	private void initialize(){
+		setLayout(new BorderLayout());
+
+		mainPanel = new JTabbedPane();
+		mainPanel.addTab(i18nManager.getTranslation("Label_definition"), getPropertiesPanel().asJComponent());
+		mainPanel.addTab(i18nManager.getTranslation("Label_scale_definition"), getScaledPanel().asJComponent());
+
+		add(mainPanel, BorderLayout.CENTER);
+		add(getAcceptCancelPanelButton(), BorderLayout.SOUTH);
+	}
+
+	private AcceptCancelPanel getAcceptCancelPanelButton() {
+		if(this.acceptCancelPanel == null){
+			this.acceptCancelPanel = new AcceptCancelPanel(this, this);
+			this.acceptCancelPanel.setVisible(true);
+		}
+		return this.acceptCancelPanel;
+	}
+
+	public void actionPerformed(ActionEvent e) {
+		if ("OK".equals(e.getActionCommand())) {
+			labelClassEditorPanel.actionPerformed(new ActionEvent(this, 1, "other"));
+			getLabelClass();
+			try {
+				ApplicationLocator.getManager().getUIManager().closeWindow(this);
+			} catch (Exception ex) {
+				// this only happens when running this as stand-alone app
+				// from main method;
+				logger.warn("While closing window.", ex);
+			}
+		} else if ("CANCEL".equals(e.getActionCommand())) {
+			try {
+				ApplicationLocator.getManager().getUIManager().closeWindow(this);
+			} catch (Exception ex) {
+				// this only happens when running this as stand-alone app
+				// from main method;
+				logger.warn("While closing window.", ex);
+			}
+		}
+	}
+
+
+
+	private LabelClassProperties getPropertiesPanel() {
+		if(this.labelClassEditorPanel == null){
+			this.labelClassEditorPanel = new LabelClassProperties(fstore);
+			this.labelClassEditorPanel.setAcceptCancelVisible(false);
+		}
+		return this.labelClassEditorPanel;
+	}
+
+	private LabelClassScalePanel getScaledPanel() {
+		if(this.labelClassScalePanel == null){
+			this.labelClassScalePanel = new LabelClassScalePanel();
+		}
+		return this.labelClassScalePanel;
+	}
+
+	public JComponent asJComponent() {
+		return this;
+	}
+
+	public ILabelClass getLabelClass() {
+		labelClassEditorPanel.doAccept();
+		complexLabelClass = (DefaultComplexLabelClass) labelClassEditorPanel.getLabelClass();
+		
+		complexLabelClass.setMaxScale(labelClassScalePanel.getMaxScale());
+		complexLabelClass.setMinScale(labelClassScalePanel.getMinScale());
+		return complexLabelClass;
+	}
+
+	public void setLabelClass(ILabelClass labelClass) {
+		this.complexLabelClass = (DefaultComplexLabelClass) labelClass;
+		labelClassEditorPanel.setLabelClass(complexLabelClass);
+		labelClassScalePanel.setMaxScale(complexLabelClass.getMaxScale());
+		labelClassScalePanel.setMinScale(complexLabelClass.getMinScale());
+	}
+
+	public void showDialog() {
+		ApplicationLocator.getManager().getUIManager().addWindow(this);
+	}
+
+	public boolean isAccepted() {
+		return getPropertiesPanel().isAccepted() && getScaledPanel().isAccepted();
+	}
+
+	public WindowInfo getWindowInfo() {
+		WindowInfo wi = new WindowInfo(WindowInfo.MODALDIALOG
+				| WindowInfo.RESIZABLE);
+		wi.setTitle(i18nManager.getTranslation("complex_label_class_properties"));
+		wi.setWidth(getPreferredSize().width + 8);
+		wi.setHeight(getPreferredSize().height);
+		return wi;
+	}
+
+	public Object getWindowProfile() {
+		return WindowInfo.DIALOG_PROFILE;
+	}
+
+}

Property changes on: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.app/org.gvsig.complexlegend.app.mainplugin/src/main/java/org/gvsig/complexlabel/app/editor/ComplexLabelClassEditor.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.app/org.gvsig.complexlegend.app.mainplugin/src/main/java/org/gvsig/complexlabel/app/editor/ComplexLabelClassEditorFactory.java
===================================================================
--- org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.app/org.gvsig.complexlegend.app.mainplugin/src/main/java/org/gvsig/complexlabel/app/editor/ComplexLabelClassEditorFactory.java	(revision 0)
+++ org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.app/org.gvsig.complexlegend.app.mainplugin/src/main/java/org/gvsig/complexlabel/app/editor/ComplexLabelClassEditorFactory.java	(revision 5862)
@@ -0,0 +1,35 @@
+package org.gvsig.complexlabel.app.editor;
+
+import org.gvsig.app.gui.labeling.LabelClassEditor;
+import org.gvsig.app.gui.labeling.LabelClassEditorFactory;
+import org.gvsig.complexlabel.impl.DefaultComplexLabelClass;
+import org.gvsig.fmap.dal.feature.FeatureStore;
+import org.gvsig.fmap.mapcontext.rendering.legend.styling.ILabelClass;
+
+public class ComplexLabelClassEditorFactory implements LabelClassEditorFactory{
+
+	public static final String FACTORY_ID = "ClassEditorByScale";
+	
+	public String getName() {
+		return "Class editor by scale";
+	}
+
+	public String getID() {
+		return FACTORY_ID;
+	}
+
+	public LabelClassEditor createEditor(ILabelClass labelClass,
+			FeatureStore store) {
+		 ComplexLabelClassEditor editor = new ComplexLabelClassEditor(store);
+         editor.setLabelClass(labelClass);
+         return editor;
+	}
+
+	public boolean accept(Class<? extends ILabelClass> labelClass) {
+		if(DefaultComplexLabelClass.class.getName().equals(labelClass.getName()) ) {
+            return true;
+        }
+        return false;
+	}
+	
+}

Property changes on: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.app/org.gvsig.complexlegend.app.mainplugin/src/main/java/org/gvsig/complexlabel/app/editor/ComplexLabelClassEditorFactory.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.app/org.gvsig.complexlegend.app.mainplugin/src/main/java/org/gvsig/complexlabel/app/editor/LabelClassScalePanel.java
===================================================================
--- org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.app/org.gvsig.complexlegend.app.mainplugin/src/main/java/org/gvsig/complexlabel/app/editor/LabelClassScalePanel.java	(revision 0)
+++ org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.app/org.gvsig.complexlegend.app.mainplugin/src/main/java/org/gvsig/complexlabel/app/editor/LabelClassScalePanel.java	(revision 5862)
@@ -0,0 +1,185 @@
+package org.gvsig.complexlabel.app.editor;
+
+import java.awt.BorderLayout;
+import java.awt.Component;
+import java.awt.Dimension;
+import java.awt.GridBagConstraints;
+import java.awt.GridBagLayout;
+import java.awt.Insets;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+
+import javax.swing.JCheckBox;
+import javax.swing.JLabel;
+import javax.swing.JPanel;
+import javax.swing.JSpinner;
+import javax.swing.SpinnerModel;
+import javax.swing.SpinnerNumberModel;
+
+import org.gvsig.complexlabel.impl.DefaultComplexLabelClass;
+import org.gvsig.tools.ToolsLocator;
+import org.gvsig.tools.i18n.I18nManager;
+
+public class LabelClassScalePanel extends JPanel{
+
+	/**
+	 * 
+	 */
+	private static final long serialVersionUID = -7443140994364499103L;
+	private I18nManager i18nManager;
+	private JSpinner maxScaleTXT;
+	private JSpinner minScaleTXT;
+	private JCheckBox minScaleCk;
+	private JCheckBox maxScaleCk;
+
+	public LabelClassScalePanel(){
+		this.i18nManager = ToolsLocator.getI18nManager();
+		initialize();
+	}
+
+	public LabelClassScalePanel(DefaultComplexLabelClass labelClass){
+		this();
+		setModel(labelClass);
+	}
+
+	private void setModel(DefaultComplexLabelClass labelClass) {
+		setMinScale(labelClass.getMinScale());
+		setMaxScale(labelClass.getMaxScale());
+	}
+	
+	public boolean isAccepted(){
+		return (getMaxScaleField().getValue() != null && getMinScaleField().getValue() != null); 
+	}
+
+	private void initialize() {
+		setPreferredSize(new Dimension(450, 160));
+
+		JPanel mainPanel = new JPanel(new BorderLayout());
+		mainPanel.setPreferredSize(new Dimension(440, 100));
+
+		JPanel mainDataPanel = new JPanel();
+		mainDataPanel.setPreferredSize(new Dimension(200, 100));
+		GridBagLayout gridBagLayout2 = new GridBagLayout();
+		gridBagLayout2.columnWidths = new int[] { 150, 180, 70 };
+		gridBagLayout2.rowHeights = new int[] { 0, 0, 0, 0, 0, 0 };
+		mainDataPanel.setLayout(gridBagLayout2);
+		//mainDataPanel.setBorder(new TitledBorder( i18nManager.getTranslation("Connection_configuration") + ":"));
+
+		GridBagConstraints c = new GridBagConstraints();
+		c.fill = GridBagConstraints.HORIZONTAL;
+		c.anchor = GridBagConstraints.WEST;
+		c.insets = new Insets(3, 0, 3, 0);
+		c.ipadx = 10;
+		c.gridx = 0;
+		c.gridy = 0;
+		JLabel labelURL = new JLabel( i18nManager.getTranslation("MinScale")+":");
+		mainDataPanel.add(labelURL, c);
+
+		c.gridx = 1;
+		c.gridwidth =2;
+		mainDataPanel.add(getMinScaleField(), c);
+		c.gridy = 1;
+		mainDataPanel.add(getWithoutMinScale(), c);
+
+		c.gridx = 0;
+		c.gridy = 2;
+		c.gridwidth =1;
+		JLabel labelUser = new JLabel( i18nManager.getTranslation("MaxScale")+":");
+		mainDataPanel.add(labelUser, c);
+
+		c.gridx = 1;
+		c.gridwidth =2;
+		mainDataPanel.add(getMaxScaleField(), c);
+		c.gridy = 3;
+		mainDataPanel.add(getWithoutMaxScale(), c);
+
+		mainPanel.add(mainDataPanel, BorderLayout.CENTER);
+		add(mainPanel, BorderLayout.CENTER);
+	}
+	
+	private JSpinner getMaxScaleField() {
+		if(maxScaleTXT == null){
+			SpinnerModel model =
+					new SpinnerNumberModel(0, 0, 1000000000, 1000000);  
+			maxScaleTXT = new JSpinner(model);
+		}
+		return maxScaleTXT;
+	}
+
+	private JSpinner getMinScaleField() {
+		if(minScaleTXT == null){
+			SpinnerModel model =
+					new SpinnerNumberModel(0, 0, 1000000000, 1000000);  
+			minScaleTXT = new JSpinner(model);
+		}
+		return minScaleTXT;
+	}
+
+	public double getMinScale(){
+		if(getWithoutMinScale().isSelected()){
+			return -1;
+		}
+		Object obj = getMinScaleField().getValue();
+		if(obj instanceof Integer){
+			Integer x = (Integer) obj;
+			return (Double) x.doubleValue();
+		}
+		return (Double) obj;
+	}
+
+	public double getMaxScale(){
+		if(getWithoutMaxScale().isSelected()){
+			return 1000000001;
+		}
+		Object obj = getMaxScaleField().getValue();
+		if(obj instanceof Integer){
+			Integer x = (Integer) obj;
+			return (Double) x.doubleValue();
+		}
+		return (Double) obj;
+	}
+
+	public void setMinScale(double scale){
+		if(scale != -1){
+			getMinScaleField().setValue(scale);
+		}else{
+			getWithoutMinScale().setSelected(true);
+		}
+	}
+
+	public void setMaxScale(double scale){
+		if(scale != 1000000001){
+			getMaxScaleField().setValue(scale);
+		}else{
+			getWithoutMaxScale().setSelected(true);
+		}
+	}
+	
+	private JCheckBox getWithoutMinScale() {
+		if(minScaleCk == null){
+			minScaleCk = new JCheckBox(i18nManager.getTranslation("without_min_scale"));
+			minScaleCk.addActionListener(new ActionListener() {
+				public void actionPerformed(ActionEvent arg0) {
+					getMinScaleField().setEnabled(!minScaleCk.isSelected());
+				}
+			});
+		}
+		return minScaleCk;
+	}
+	
+	private JCheckBox getWithoutMaxScale() {
+		if(maxScaleCk == null){
+			maxScaleCk = new JCheckBox(i18nManager.getTranslation("without_max_scale"));
+			maxScaleCk.addActionListener(new ActionListener() {
+				public void actionPerformed(ActionEvent arg0) {
+					getMaxScaleField().setEnabled(!maxScaleCk.isSelected());
+				}
+			});
+		}
+		return maxScaleCk;
+	}
+
+	public Component asJComponent() {
+		return this;
+	}
+}

Property changes on: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.app/org.gvsig.complexlegend.app.mainplugin/src/main/java/org/gvsig/complexlabel/app/editor/LabelClassScalePanel.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.app/org.gvsig.complexlegend.app.mainplugin/pom.xml
===================================================================
--- org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.app/org.gvsig.complexlegend.app.mainplugin/pom.xml	(revision 0)
+++ org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.app/org.gvsig.complexlegend.app.mainplugin/pom.xml	(revision 5862)
@@ -0,0 +1,136 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<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">
+
+  <modelVersion>4.0.0</modelVersion>
+  <artifactId>org.gvsig.complexlegend.app.mainplugin</artifactId>
+  <packaging>jar</packaging>
+  <name>${project.artifactId}</name>
+  <description>
+  </description>
+  <parent>
+      <groupId>org.gvsig</groupId>
+      <artifactId>org.gvsig.complexlegend.app</artifactId>
+      <version>1.0.160</version>
+  </parent>
+
+  <dependencies>
+    <dependency>
+		<groupId>org.gvsig</groupId>
+		<artifactId>org.gvsig.tools.lib</artifactId>
+		<scope>compile</scope>
+	</dependency>
+	<dependency>
+		<groupId>org.gvsig</groupId>
+		<artifactId>org.gvsig.andami</artifactId>
+		<scope>compile</scope>
+	</dependency>
+	<dependency>
+		<groupId>org.gvsig</groupId>
+		<artifactId>org.gvsig.app.mainplugin</artifactId>
+		<scope>compile</scope>
+	</dependency>
+	<dependency>
+		<groupId>org.gvsig</groupId>
+		<artifactId>org.gvsig.fmap.control</artifactId>
+		<scope>compile</scope>
+	</dependency>
+	<dependency>
+		<groupId>org.gvsig</groupId>
+		<artifactId>org.gvsig.fmap.mapcontext.api</artifactId>
+		<scope>compile</scope>
+	</dependency>
+	<dependency>
+		<groupId>org.gvsig</groupId>
+		<artifactId>org.gvsig.fmap.geometry.api</artifactId>
+		<scope>compile</scope>
+	</dependency>
+	<dependency>
+		<groupId>org.gvsig</groupId>
+		<artifactId>org.gvsig.fmap.dal.api</artifactId>
+		<scope>compile</scope>
+	</dependency>
+	<dependency>
+		<groupId>org.gvsig</groupId>
+		<artifactId>org.gvsig.symbology.lib.api</artifactId>
+		<scope>compile</scope>
+	</dependency>
+	<dependency>
+		<groupId>org.gvsig</groupId>
+		<artifactId>org.gvsig.complexlegend.lib.api</artifactId>
+		<scope>compile</scope>
+	</dependency>
+	<dependency>
+		<groupId>org.gvsig</groupId>
+		<artifactId>org.gvsig.complexlegend.lib.impl</artifactId>
+	</dependency>
+	<dependency>
+		<groupId>org.gvsig</groupId>
+		<artifactId>org.gvsig.complexlegend.swing.api</artifactId>
+		<scope>compile</scope>
+	</dependency>
+	<dependency>
+		<groupId>org.gvsig</groupId>
+		<artifactId>org.gvsig.complexlegend.swing.impl</artifactId>
+	</dependency>
+	<dependency>
+		<groupId>org.gvsig</groupId>
+		<artifactId>org.gvsig.labeling.app.mainplugin</artifactId>
+		<version>2.0.55</version>
+		<scope>compile</scope>
+	</dependency>
+  </dependencies>
+
+    <properties>
+        <!-- Package info property values -->
+        <!-- Default values in org.gvsig.desktop -->
+        <gvsig.package.info.name>Vector legend: Complex legend</gvsig.package.info.name>
+        <gvsig.package.info.state>testing</gvsig.package.info.state>
+        <gvsig.package.info.official>true</gvsig.package.info.official>
+        <gvsig.package.info.dependencies>required: org.gvsig.app.mainplugin -ge 2.1.0-A</gvsig.package.info.dependencies>
+        <gvsig.package.info.categories>Formats,Vector,Symbology</gvsig.package.info.categories>
+        <gvsig.package.info.poolURL>https://devel.gvsig.org/download/projects/gvsig-base-legends/pool/</gvsig.package.info.poolURL>
+   		<gvsig.package.info.operatingSystem>all</gvsig.package.info.operatingSystem>
+    	<gvsig.package.info.architecture>all</gvsig.package.info.architecture>
+    	<gvsig.install.plugin>true</gvsig.install.plugin>
+    	<gvsig.install.plugin.package>true</gvsig.install.plugin.package>
+ 	</properties>
+
+
+
+
+  <build>
+    <plugins>
+
+      <plugin>
+        <!-- Skip compilation tests -->
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-compiler-plugin</artifactId>
+        <executions>
+          <execution>
+            <id>default-testCompile</id>
+            <phase>process-test-sources</phase>
+            <goals>
+              <goal>testCompile</goal>
+            </goals>
+            <configuration>
+              <skip>true</skip>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+
+      <plugin>
+        <!-- Skip test execution -->
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-surefire-plugin</artifactId>
+        <configuration>
+          <skipTests>true</skipTests>
+        </configuration>
+      </plugin>
+
+    </plugins>
+  </build>
+
+</project>
+

Property changes on: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.app/org.gvsig.complexlegend.app.mainplugin/pom.xml
___________________________________________________________________
Added: svn:mime-type
   + text/plain


Property changes on: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.app/org.gvsig.complexlegend.app.mainplugin
___________________________________________________________________
Added: svn:ignore
   + .settings

.classpath

target

.project



Property changes on: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.app
___________________________________________________________________
Added: svn:ignore
   + .project

.settings


Index: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/pom.xml
===================================================================
--- org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/pom.xml	(revision 0)
+++ org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/pom.xml	(revision 5862)
@@ -0,0 +1,117 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<artifactId>org.gvsig.complexlegend</artifactId>
+	<packaging>pom</packaging>
+	<version>1.0.160</version>
+	<name>org.gvsig.complexlegend</name>
+	<description>complex legend extension</description>
+	<parent>
+		<groupId>org.gvsig</groupId>
+		<artifactId>org.gvsig.desktop</artifactId>
+		<version>2.0.345</version>
+	</parent>
+    <url>http://devel.gvsig.org/sites/org.gvsig.complexlegend/${project.version}</url>
+ 	<scm>
+        <connection>scm:svn:http://devel.gvsig.org/svn/gvsig-base-legends/org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160</connection>
+        <developerConnection>scm:svn:http://devel.gvsig.org/svn/gvsig-base-legends/org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160</developerConnection>
+        <url>http://devel.gvsig.org/svn/gvsig-base-legends/org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160</url>
+    </scm>
+	<developers>
+		<developer>
+			<id>jjdelcerro</id>
+			<name>Joaquin Jose del Cerro</name>
+			<email>jjdelcerro@gvsig.org</email>
+			<roles>
+				<role>Architect</role>
+				<role>Developer</role>
+			</roles>
+		</developer>
+		<developer>
+			<id>jbadia</id>
+			<name>Jose Badia</name>
+			<email>badia_jos@gva.es</email>
+			<roles>
+				<role>Developer</role>
+			</roles>
+		</developer>
+	</developers>
+	<distributionManagement>
+		<site>
+			<id>gvsig-repository</id>
+            <url>dav:https://devel.gvsig.org/sites/org.gvsig.complexlegend/${project.version}</url>
+		</site>
+	</distributionManagement>
+	<repositories>
+		<repository>
+			<id>gvsig-public-http-repository</id>
+			<name>gvSIG maven public HTTP repository</name>
+			<url>http://devel.gvsig.org/m2repo/j2se</url>
+			<releases>
+				<enabled>true</enabled>
+				<updatePolicy>daily</updatePolicy>
+				<checksumPolicy>warn</checksumPolicy>
+			</releases>
+			<snapshots>
+				<enabled>true</enabled>
+				<updatePolicy>daily</updatePolicy>
+				<checksumPolicy>warn</checksumPolicy>
+			</snapshots>
+		</repository>
+	</repositories>
+	<build>
+		<plugins>
+			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-release-plugin</artifactId>
+				<configuration>
+					<tagBase>http://devel.gvsig.org/svn/gvsig-base-legends/org.gvsig.complexlegend/tags</tagBase>
+				</configuration>
+			</plugin>
+		</plugins>
+	</build>
+	<dependencyManagement>
+		<dependencies>
+			<dependency>
+				<groupId>org.gvsig</groupId>
+				<artifactId>org.gvsig.complexlegend.lib.api</artifactId>
+				<version>1.0.160</version>
+			</dependency>
+			<dependency>
+				<groupId>org.gvsig</groupId>
+				<artifactId>org.gvsig.complexlegend.lib.api</artifactId>
+				<version>1.0.160</version>
+				<type>test-jar</type>
+			</dependency>
+			<dependency>
+				<groupId>org.gvsig</groupId>
+				<artifactId>org.gvsig.complexlegend.lib.impl</artifactId>
+				<version>1.0.160</version>
+			</dependency>
+			<dependency>
+				<groupId>org.gvsig</groupId>
+				<artifactId>org.gvsig.complexlegend.swing.api</artifactId>
+				<version>1.0.160</version>
+			</dependency>
+			<dependency>
+				<groupId>org.gvsig</groupId>
+				<artifactId>org.gvsig.complexlegend.swing.api</artifactId>
+				<version>1.0.160</version>
+				<type>test-jar</type>
+			</dependency>
+			<dependency>
+				<groupId>org.gvsig</groupId>
+				<artifactId>org.gvsig.complexlegend.swing.impl</artifactId>
+				<version>1.0.160</version>
+			</dependency>
+		</dependencies>
+	</dependencyManagement>
+	<modules>
+		<module>org.gvsig.complexlegend.lib</module>
+		<module>org.gvsig.complexlegend.swing</module>
+		<!--
+		<module>org.gvsig.complexlegend.main</module>
+		-->
+		<module>org.gvsig.complexlegend.app</module>
+	</modules>
+</project>

Property changes on: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/pom.xml
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.main/src/main/resources/README.txt
===================================================================
--- org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.main/src/main/resources/README.txt	(revision 0)
+++ org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.main/src/main/resources/README.txt	(revision 5862)
@@ -0,0 +1,8 @@
+Put into this folder the resources needed by your classes.
+
+This folder is added to the classpath, so you can load any resources 
+through the ClassLoader.
+
+By default, in this folder you can find an example of log4j configuration,
+prepared to log messages through the console, so logging works when you
+run your classes.
\ No newline at end of file

Property changes on: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.main/src/main/resources/README.txt
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.main/src/main/resources/log4j.xml
===================================================================
--- org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.main/src/main/resources/log4j.xml	(revision 0)
+++ org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.main/src/main/resources/log4j.xml	(revision 5862)
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
+
+<!-- 
+Log4J configuration file for unit tests execution.
+ -->
+<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
+
+	<!-- Appender configuration to show logging messages through the console -->
+	<appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
+		<layout class="org.apache.log4j.PatternLayout">
+			<param name="ConversionPattern" value="%d{HH:mm:ss,SSS} %-5p [%c{2}.%M()]\n  %m%n" />
+		</layout>
+	</appender>
+
+	<!-- 
+	Activate logging messages of DEBUG level of higher only for the
+	org.gvsig.tools packages.
+	You can put full classes names or packages instead, to configure
+	logging for all the classes and subpackages of the package.
+	-->
+	<category name="org.gvsig.tools">
+		<priority value="DEBUG" />
+	</category>
+	<category name="org.gvsig.construc">
+		<priority value="DEBUG" />
+	</category>
+
+	<!-- 
+	By default, show only logging messages of INFO level or higher, 
+	through the previously configured CONSOLE appender. 
+	-->
+	<root>
+		<priority value="INFO" />
+		<appender-ref ref="CONSOLE" />
+	</root>
+</log4j:configuration>
\ No newline at end of file

Property changes on: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.main/src/main/resources/log4j.xml
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.main/src/main/java/org/gvsig/complexlegend/main/package.html
===================================================================
--- org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.main/src/main/java/org/gvsig/complexlegend/main/package.html	(revision 0)
+++ org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.main/src/main/java/org/gvsig/complexlegend/main/package.html	(revision 5862)
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<title>org.gvsig.construc package documentation</title>
+</head>
+<body>
+
+	<p>Construc library testing and demo application.</p>
+
+</body>
+</html>
\ No newline at end of file

Property changes on: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.main/src/main/java/org/gvsig/complexlegend/main/package.html
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.main/src/main/java/org/gvsig/complexlegend/main/Main.java
===================================================================
--- org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.main/src/main/java/org/gvsig/complexlegend/main/Main.java	(revision 0)
+++ org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.main/src/main/java/org/gvsig/complexlegend/main/Main.java	(revision 5862)
@@ -0,0 +1,81 @@
+/* gvSIG. Geographic Information System of the Valencian Government
+ *
+ * Copyright (C) 2007-2008 Infrastructures and Transports Department
+ * of the Valencian Government (CIT)
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ */
+package org.gvsig.complexlegend.main;
+
+import java.awt.BorderLayout;
+import java.awt.Dimension;
+
+import javax.swing.JFrame;
+import javax.swing.JPanel;
+import javax.swing.UIManager;
+import javax.swing.UnsupportedLookAndFeelException;
+import javax.swing.WindowConstants;
+
+import org.gvsig.fmap.mapcontext.exceptions.LoadLayerException;
+import org.gvsig.fmap.mapcontrol.MapControlCreationException;
+import org.gvsig.tools.library.impl.DefaultLibrariesInitializer;
+import org.gvsig.tools.locator.LocatorException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import com.jgoodies.looks.plastic.PlasticLookAndFeel;
+import com.jgoodies.looks.plastic.PlasticXPLookAndFeel;
+
+/**
+ * Main executable class for testing the Chart library.
+ * 
+ * @author gvSIG Team
+ * @version $Id$
+ */
+public class Main {
+
+	private static final Logger LOG = LoggerFactory.getLogger(Main.class);
+
+	public static void main(String args[]) throws MapControlCreationException,
+			LocatorException, LoadLayerException, UnsupportedLookAndFeelException {
+		new DefaultLibrariesInitializer().fullInitialize();
+		
+		PlasticLookAndFeel laf = new PlasticXPLookAndFeel();
+		UIManager.setLookAndFeel(laf);
+		
+		Main main = new Main();
+		main.show();
+	}
+
+
+	@SuppressWarnings("serial")
+    public void show() throws MapControlCreationException, LocatorException, LoadLayerException {
+        JFrame frame = new JFrame("Example APP");
+        frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
+        
+        JPanel content = new JPanel();
+        content.setLayout(new BorderLayout());
+        
+        frame.add(content);
+        frame.setPreferredSize(new Dimension(510, 560));
+
+        // Display the window.
+        frame.pack();
+        frame.setVisible(true);
+    }
+
+}

Property changes on: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.main/src/main/java/org/gvsig/complexlegend/main/Main.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.main/pom.xml
===================================================================
--- org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.main/pom.xml	(revision 0)
+++ org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.main/pom.xml	(revision 5862)
@@ -0,0 +1,155 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<artifactId>org.gvsig.complexlegend.main</artifactId>
+	<packaging>jar</packaging>
+	<name>org.gvsig.complexlegend.main</name>
+	<parent>
+		<groupId>org.gvsig</groupId>
+		<artifactId>org.gvsig.complexlegend</artifactId>
+		<version>1.0.14-SNAPSHOT</version>
+	</parent>
+
+
+	<dependencies>
+		<dependency>
+			<groupId>org.gvsig</groupId>
+			<artifactId>org.gvsig.complexlegend.lib.api</artifactId>
+			<scope>compile</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.gvsig</groupId>
+			<artifactId>org.gvsig.complexlegend.lib.impl</artifactId>
+			<scope>runtime</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.gvsig</groupId>
+			<artifactId>org.gvsig.complexlegend.swing.api</artifactId>
+			<scope>compile</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.gvsig</groupId>
+			<artifactId>org.gvsig.complexlegend.swing.impl</artifactId>
+			<scope>runtime</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.gvsig</groupId>
+			<artifactId>org.gvsig.tools.lib</artifactId>
+			<scope>compile</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.gvsig</groupId>
+			<artifactId>org.gvsig.tools.dynform.api</artifactId>
+			<scope>compile</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.gvsig</groupId>
+			<artifactId>org.gvsig.tools.dynform.impl</artifactId>
+			<scope>runtime</scope>
+		</dependency>
+
+		<dependency>
+			<groupId>org.gvsig</groupId>
+			<artifactId>org.gvsig.metadata.lib.basic.api</artifactId>
+			<scope>compile</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.gvsig</groupId>
+			<artifactId>org.gvsig.tools.swing.api</artifactId>
+			<type>jar</type>
+			<scope>compile</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.gvsig</groupId>
+			<artifactId>org.gvsig.fmap.control</artifactId>
+			<scope>compile</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.gvsig</groupId>
+			<artifactId>org.gvsig.fmap.dal.api</artifactId>
+			<scope>compile</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.gvsig</groupId>
+			<artifactId>org.gvsig.fmap.dal.spi</artifactId>
+			<scope>compile</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.gvsig</groupId>
+			<artifactId>org.gvsig.fmap.geometry.api</artifactId>
+			<scope>compile</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.gvsig</groupId>
+			<artifactId>org.gvsig.fmap.mapcontext.api</artifactId>
+			<scope>compile</scope>
+		</dependency>
+
+
+		<dependency>
+			<groupId>org.gvsig</groupId>
+			<artifactId>org.gvsig.metadata.lib.basic.impl</artifactId>
+			<scope>runtime</scope>
+		</dependency>
+        <dependency>
+            <groupId>org.gvsig</groupId>
+            <artifactId>org.gvsig.fmap.geometry.operation.jts</artifactId>
+			<scope>runtime</scope>
+        </dependency>
+		<dependency>
+			<groupId>org.gvsig</groupId>
+			<artifactId>org.gvsig.fmap.mapcontext.impl</artifactId>
+			<scope>runtime</scope>
+		</dependency>
+        <dependency>
+            <groupId>org.gvsig</groupId>
+            <artifactId>org.gvsig.symbology.lib.impl</artifactId>
+			<scope>runtime</scope>
+        </dependency>
+		<dependency>
+			<groupId>org.gvsig</groupId>
+			<artifactId>org.gvsig.fmap.dal.impl</artifactId>
+			<scope>runtime</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.gvsig</groupId>
+			<artifactId>org.gvsig.fmap.dal.spi</artifactId>
+			<scope>runtime</scope>
+		</dependency>
+        <dependency>
+            <groupId>org.gvsig</groupId>
+            <artifactId>org.gvsig.fmap.dal.file.shp</artifactId>
+			<scope>runtime</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.gvsig</groupId>
+            <artifactId>org.gvsig.fmap.dal.file.dbf</artifactId>
+			<scope>runtime</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.gvsig</groupId>
+            <artifactId>org.gvsig.fmap.dal.file.lib</artifactId>
+			<scope>runtime</scope>
+        </dependency>
+        <dependency>
+             <groupId>org.gvsig</groupId>
+             <artifactId>org.gvsig.timesupport.lib.api</artifactId>
+			<scope>runtime</scope>
+         </dependency>
+         <dependency>
+             <groupId>org.gvsig</groupId>
+             <artifactId>org.gvsig.timesupport.lib.impl</artifactId>
+			<scope>runtime</scope>
+         </dependency>
+         <dependency>
+             <groupId>org.gvsig</groupId>
+             <artifactId>org.gvsig.tools.evaluator.sqljep</artifactId>
+			<scope>runtime</scope>
+         </dependency>
+         <dependency>
+             <groupId>org.gvsig</groupId>
+             <artifactId>org.gvsig.proj.lib.proj4j</artifactId>
+			<scope>runtime</scope>
+		</dependency>
+	</dependencies>
+</project>
\ No newline at end of file

Property changes on: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.main/pom.xml
___________________________________________________________________
Added: svn:mime-type
   + text/plain


Property changes on: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.main
___________________________________________________________________
Added: svn:ignore
   + .project

target

.settings

.classpath


Index: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.lib/org.gvsig.complexlegend.lib.api/src/main/java/org/gvsig/complexlegend/ComplexLegendItem.java
===================================================================
--- org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.lib/org.gvsig.complexlegend.lib.api/src/main/java/org/gvsig/complexlegend/ComplexLegendItem.java	(revision 0)
+++ org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.lib/org.gvsig.complexlegend.lib.api/src/main/java/org/gvsig/complexlegend/ComplexLegendItem.java	(revision 5862)
@@ -0,0 +1,17 @@
+package org.gvsig.complexlegend;
+
+import org.gvsig.fmap.mapcontext.rendering.legend.ILegend;
+
+public interface ComplexLegendItem extends org.gvsig.tools.lang.Cloneable{
+	
+	public ILegend getLegend();
+	public void setLegend(ILegend legend);
+	
+	public double getMaxScale();
+	public void setMaxScale(double maxScale);
+	
+	public double getMinScale();
+	public void setMinScale(double maxScale);
+	
+	public String toString();
+}

Property changes on: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.lib/org.gvsig.complexlegend.lib.api/src/main/java/org/gvsig/complexlegend/ComplexLegendItem.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.lib/org.gvsig.complexlegend.lib.api/src/main/java/org/gvsig/complexlegend/VectorComplexLegend.java
===================================================================
--- org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.lib/org.gvsig.complexlegend.lib.api/src/main/java/org/gvsig/complexlegend/VectorComplexLegend.java	(revision 0)
+++ org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.lib/org.gvsig.complexlegend.lib.api/src/main/java/org/gvsig/complexlegend/VectorComplexLegend.java	(revision 5862)
@@ -0,0 +1,20 @@
+package org.gvsig.complexlegend;
+
+import java.util.List;
+
+import org.gvsig.fmap.mapcontext.rendering.legend.IClassifiedLegend;
+import org.gvsig.fmap.mapcontext.rendering.legend.IVectorLegend;
+
+public interface VectorComplexLegend extends IVectorLegend, IClassifiedLegend{
+
+	public List<ComplexLegendItem> getLegends();
+	
+	public boolean add(ComplexLegendItem legend);
+	public boolean remove(ComplexLegendItem legend);
+	
+	public boolean isOverlapped(ComplexLegendItem legend);
+	public ComplexLegendItem getLegend(double scale);
+        
+        public boolean getAllowOverlap();
+        public void setAllowOverlap(boolean allowOverlap);
+}

Property changes on: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.lib/org.gvsig.complexlegend.lib.api/src/main/java/org/gvsig/complexlegend/VectorComplexLegend.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.lib/org.gvsig.complexlegend.lib.api/src/main/java/org/gvsig/complexlegend/ComplexLegendLibrary.java
===================================================================
--- org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.lib/org.gvsig.complexlegend.lib.api/src/main/java/org/gvsig/complexlegend/ComplexLegendLibrary.java	(revision 0)
+++ org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.lib/org.gvsig.complexlegend.lib.api/src/main/java/org/gvsig/complexlegend/ComplexLegendLibrary.java	(revision 5862)
@@ -0,0 +1,59 @@
+/* gvSIG. Geographic Information System of the Valencian Government
+ *
+ * Copyright (C) 2007-2008 Infrastructures and Transports Department
+ * of the Valencian Government (CIT)
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ */
+package org.gvsig.complexlegend;
+
+import org.gvsig.fmap.dal.DALLibrary;
+import org.gvsig.fmap.geom.GeometryLibrary;
+import org.gvsig.symbology.SymbologyLibrary;
+import org.gvsig.tools.ToolsLibrary;
+import org.gvsig.tools.library.AbstractLibrary;
+import org.gvsig.tools.library.LibraryException;
+
+
+/**
+ * Library for API initialization and configuration.
+ * 
+ * @author gvSIG team
+ * @version $Id$
+ */
+public class ComplexLegendLibrary extends AbstractLibrary {
+
+    @Override
+	public void doRegistration() {
+		registerAsAPI(ComplexLegendLibrary.class);
+		this.require(ToolsLibrary.class);
+	    this.require(GeometryLibrary.class);
+	    this.require(SymbologyLibrary.class);
+	}
+	
+	
+    @Override
+    protected void doInitialize() throws LibraryException {
+        // Do nothing
+    }
+
+    @Override
+    protected void doPostInitialize() throws LibraryException {
+    	 
+    }
+
+}

Property changes on: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.lib/org.gvsig.complexlegend.lib.api/src/main/java/org/gvsig/complexlegend/ComplexLegendLibrary.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.lib/org.gvsig.complexlegend.lib.api/src/main/java/org/gvsig/complexlabel/ComplexLabelClass.java
===================================================================
--- org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.lib/org.gvsig.complexlegend.lib.api/src/main/java/org/gvsig/complexlabel/ComplexLabelClass.java	(revision 0)
+++ org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.lib/org.gvsig.complexlegend.lib.api/src/main/java/org/gvsig/complexlabel/ComplexLabelClass.java	(revision 5862)
@@ -0,0 +1,15 @@
+package org.gvsig.complexlabel;
+
+import org.gvsig.fmap.mapcontext.rendering.legend.styling.ILabelClass;
+
+public interface ComplexLabelClass extends ILabelClass{
+
+	public double getMinScale();
+	
+	public double getMaxScale();
+	
+	public void setMinScale(double scale);
+	
+	public void setMaxScale(double scale);
+	
+}

Property changes on: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.lib/org.gvsig.complexlegend.lib.api/src/main/java/org/gvsig/complexlabel/ComplexLabelClass.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.lib/org.gvsig.complexlegend.lib.api/src/main/java/package.html
===================================================================
--- org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.lib/org.gvsig.complexlegend.lib.api/src/main/java/package.html	(revision 0)
+++ org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.lib/org.gvsig.complexlegend.lib.api/src/main/java/package.html	(revision 5862)
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<title>org.gvsig.landregistryviewer package documentation</title>
+</head>
+<body>
+
+	<p>LandRegistryViewer library API.</p>
+	
+	<p>
+	It allows to get new LandRegistryViewer and get their text.
+	</p>
+
+</body>
+</html>
\ No newline at end of file

Property changes on: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.lib/org.gvsig.complexlegend.lib.api/src/main/java/package.html
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.lib/org.gvsig.complexlegend.lib.api/src/main/resources/META-INF/services/org.gvsig.tools.library.Library
===================================================================
--- org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.lib/org.gvsig.complexlegend.lib.api/src/main/resources/META-INF/services/org.gvsig.tools.library.Library	(revision 0)
+++ org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.lib/org.gvsig.complexlegend.lib.api/src/main/resources/META-INF/services/org.gvsig.tools.library.Library	(revision 5862)
@@ -0,0 +1 @@
+org.gvsig.complexlegend.ComplexLegendLibrary
\ No newline at end of file
Index: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.lib/org.gvsig.complexlegend.lib.api/src/test/resources/log4j.xml
===================================================================
--- org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.lib/org.gvsig.complexlegend.lib.api/src/test/resources/log4j.xml	(revision 0)
+++ org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.lib/org.gvsig.complexlegend.lib.api/src/test/resources/log4j.xml	(revision 5862)
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
+
+<!-- 
+Log4J configuration file for unit tests execution.
+ -->
+<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
+
+	<!-- Appender configuration to show logging messages through the console -->
+	<appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
+		<layout class="org.apache.log4j.PatternLayout">
+			<param name="ConversionPattern" value="%d{HH:mm:ss,SSS} %-5p [%c{2}.%M()]\n  %m%n" />
+		</layout>
+	</appender>
+
+	<!-- 
+	Activate logging messages of DEBUG level of higher only for the
+	org.gvsig.tools packages.
+	You can put full classes names or packages instead, to configure
+	logging for all the classes and subpackages of the package.
+	-->
+	<category name="org.gvsig.tools">
+		<priority value="DEBUG" />
+	</category>
+	<category name="org.gvsig.construc">
+		<priority value="DEBUG" />
+	</category>
+
+	<!-- 
+	By default, show only logging messages of INFO level or higher, 
+	through the previously configured CONSOLE appender. 
+	-->
+	<root>
+		<priority value="INFO" />
+		<appender-ref ref="CONSOLE" />
+	</root>
+</log4j:configuration>
\ No newline at end of file

Property changes on: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.lib/org.gvsig.complexlegend.lib.api/src/test/resources/log4j.xml
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.lib/org.gvsig.complexlegend.lib.api/src/test/resources/README.txt
===================================================================
--- org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.lib/org.gvsig.complexlegend.lib.api/src/test/resources/README.txt	(revision 0)
+++ org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.lib/org.gvsig.complexlegend.lib.api/src/test/resources/README.txt	(revision 5862)
@@ -0,0 +1,8 @@
+Put into this folder the resources needed by your classes.
+
+This folder is added to the classpath, so you can load any resources 
+through the ClassLoader.
+
+By default, in this folder you can find an example of log4j configuration,
+prepared to log messages through the console, so logging works when you
+run your classes.
\ No newline at end of file

Property changes on: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.lib/org.gvsig.complexlegend.lib.api/src/test/resources/README.txt
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.lib/org.gvsig.complexlegend.lib.api/pom.xml
===================================================================
--- org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.lib/org.gvsig.complexlegend.lib.api/pom.xml	(revision 0)
+++ org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.lib/org.gvsig.complexlegend.lib.api/pom.xml	(revision 5862)
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<artifactId>org.gvsig.complexlegend.lib.api</artifactId>
+	<packaging>jar</packaging>
+	<name>org.gvsig.complexlegend.lib.api</name>
+	<parent>
+		<groupId>org.gvsig</groupId>
+		<artifactId>org.gvsig.complexlegend.lib</artifactId>
+		<version>1.0.160</version>
+	</parent>
+	<dependencies>
+		<dependency>
+			<groupId>org.gvsig</groupId>
+			<artifactId>org.gvsig.fmap.geometry.api</artifactId>
+			<scope>compile</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.gvsig</groupId>
+			<artifactId>org.gvsig.fmap.dal.api</artifactId>
+			<scope>compile</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.gvsig</groupId>
+			<artifactId>org.gvsig.fmap.mapcontext.api</artifactId>
+            <scope>compile</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.gvsig</groupId>
+			<artifactId>org.gvsig.symbology.lib.api</artifactId>
+            <scope>compile</scope>
+		</dependency>
+	</dependencies>
+	<build>
+		<plugins>
+			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-jar-plugin</artifactId>
+				<configuration>
+				</configuration>
+				<executions>
+					<!-- Generates a jar file only with the test classes -->
+					<execution>
+						<goals>
+							<goal>test-jar</goal>
+						</goals>
+					</execution>
+				</executions>
+			</plugin>
+		</plugins>
+	</build>
+
+</project>
\ No newline at end of file

Property changes on: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.lib/org.gvsig.complexlegend.lib.api/pom.xml
___________________________________________________________________
Added: svn:mime-type
   + text/plain


Property changes on: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.lib/org.gvsig.complexlegend.lib.api
___________________________________________________________________
Added: svn:ignore
   + .settings

target

.project

.classpath


Index: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.lib/pom.xml
===================================================================
--- org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.lib/pom.xml	(revision 0)
+++ org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.lib/pom.xml	(revision 5862)
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
+	<modelVersion>4.0.0</modelVersion>
+	<artifactId>org.gvsig.complexlegend.lib</artifactId>
+	<packaging>pom</packaging>
+	<name>org.gvsig.complexlegend.lib</name>
+	<parent>
+		<groupId>org.gvsig</groupId>
+		<artifactId>org.gvsig.complexlegend</artifactId>
+		<version>1.0.160</version>
+	</parent>
+	<dependencies>
+	</dependencies>
+	<modules>
+		<module>org.gvsig.complexlegend.lib.api</module>
+		<module>org.gvsig.complexlegend.lib.impl</module>
+	</modules>
+</project>

Property changes on: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.lib/pom.xml
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.lib/org.gvsig.complexlegend.lib.impl/src/test/resources/log4j.xml
===================================================================
--- org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.lib/org.gvsig.complexlegend.lib.impl/src/test/resources/log4j.xml	(revision 0)
+++ org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.lib/org.gvsig.complexlegend.lib.impl/src/test/resources/log4j.xml	(revision 5862)
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
+
+<!-- 
+Log4J configuration file for unit tests execution.
+ -->
+<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
+
+	<!-- Appender configuration to show logging messages through the console -->
+	<appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
+		<layout class="org.apache.log4j.PatternLayout">
+			<param name="ConversionPattern" value="%d{HH:mm:ss,SSS} %-5p [%c{2}.%M()]\n  %m%n" />
+		</layout>
+	</appender>
+
+	<!-- 
+	Activate logging messages of DEBUG level of higher only for the
+	org.gvsig.tools packages.
+	You can put full classes names or packages instead, to configure
+	logging for all the classes and subpackages of the package.
+	-->
+	<category name="org.gvsig.tools">
+		<priority value="DEBUG" />
+	</category>
+	<category name="org.gvsig.chart">
+		<priority value="DEBUG" />
+	</category>
+
+	<!-- 
+	By default, show only logging messages of INFO level or higher, 
+	through the previously configured CONSOLE appender. 
+	-->
+	<root>
+		<priority value="DEBUG" />
+		<appender-ref ref="CONSOLE" />
+	</root>
+</log4j:configuration>
\ No newline at end of file

Property changes on: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.lib/org.gvsig.complexlegend.lib.impl/src/test/resources/log4j.xml
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.lib/org.gvsig.complexlegend.lib.impl/src/test/resources/README.txt
===================================================================
--- org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.lib/org.gvsig.complexlegend.lib.impl/src/test/resources/README.txt	(revision 0)
+++ org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.lib/org.gvsig.complexlegend.lib.impl/src/test/resources/README.txt	(revision 5862)
@@ -0,0 +1,8 @@
+Put into this folder the resources needed by your test classes.
+
+This folder is added to the Tests classpath, so you can load any resources 
+through the ClassLoader.
+
+By default, in this folder you can find an example of log4j configuration,
+prepared to log messages through the console, so logging works when you
+run your tests classes.
\ No newline at end of file

Property changes on: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.lib/org.gvsig.complexlegend.lib.impl/src/test/resources/README.txt
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.lib/org.gvsig.complexlegend.lib.impl/src/main/resources/META-INF/services/org.gvsig.tools.library.Library
===================================================================
--- org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.lib/org.gvsig.complexlegend.lib.impl/src/main/resources/META-INF/services/org.gvsig.tools.library.Library	(revision 0)
+++ org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.lib/org.gvsig.complexlegend.lib.impl/src/main/resources/META-INF/services/org.gvsig.tools.library.Library	(revision 5862)
@@ -0,0 +1 @@
+org.gvsig.complexlegend.impl.DefaultComplexLegendLibrary
\ No newline at end of file
Index: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.lib/org.gvsig.complexlegend.lib.impl/src/main/java/package.html
===================================================================
--- org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.lib/org.gvsig.complexlegend.lib.impl/src/main/java/package.html	(revision 0)
+++ org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.lib/org.gvsig.complexlegend.lib.impl/src/main/java/package.html	(revision 5862)
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<title>org.gvsig.landregistryviewer package documentation</title>
+</head>
+<body>
+
+	<p>LandRegistryViewer library API default implementation.</p>
+
+</body>
+</html>
\ No newline at end of file

Property changes on: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.lib/org.gvsig.complexlegend.lib.impl/src/main/java/package.html
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.lib/org.gvsig.complexlegend.lib.impl/src/main/java/org/gvsig/complexlegend/impl/DefaultComplexLegendLibrary.java
===================================================================
--- org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.lib/org.gvsig.complexlegend.lib.impl/src/main/java/org/gvsig/complexlegend/impl/DefaultComplexLegendLibrary.java	(revision 0)
+++ org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.lib/org.gvsig.complexlegend.lib.impl/src/main/java/org/gvsig/complexlegend/impl/DefaultComplexLegendLibrary.java	(revision 5862)
@@ -0,0 +1,80 @@
+/* gvSIG. Geographic Information System of the Valencian Government
+ *
+ * Copyright (C) 2007-2008 Infrastructures and Transports Department
+ * of the Valencian Government (CIT)
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ */
+package org.gvsig.complexlegend.impl;
+
+
+import org.gvsig.complexlabel.impl.ComplexLabelClassFactory;
+import org.gvsig.complexlabel.impl.DefaultComplexLabelClass;
+import org.gvsig.complexlegend.ComplexLegendLibrary;
+import org.gvsig.complexlegend.VectorComplexLegend;
+import org.gvsig.fmap.mapcontext.MapContextLocator;
+import org.gvsig.fmap.mapcontext.MapContextManager;
+import org.gvsig.fmap.mapcontext.rendering.symbols.SymbolManager;
+import org.gvsig.symbology.SymbologyLocator;
+import org.gvsig.symbology.fmap.mapcontext.rendering.legend.driver.impl.PersistenceBasedLegendWriter;
+import org.gvsig.tools.library.AbstractLibrary;
+import org.gvsig.tools.library.LibraryException;
+import org.gvsig.tools.util.Caller;
+import org.gvsig.tools.util.impl.DefaultCaller;
+
+/**
+ * Library for default implementation initialization and configuration.
+ * This default implementation will be based in JFreeChart library.
+ * 
+ * @author gvSIG team
+ * @version $Id$
+ */
+public class DefaultComplexLegendLibrary extends AbstractLibrary {
+
+	@Override
+	public void doRegistration() {
+		registerAsImplementationOf(ComplexLegendLibrary.class);
+	}
+    
+    
+    @Override
+    protected void doInitialize() throws LibraryException {
+    }
+
+    @Override
+    protected void doPostInitialize() throws LibraryException {
+        Caller caller = new DefaultCaller();
+        caller.add(new DefaultVectorComplexLegend.RegisterLegend());
+        caller.add(new DefaultVectorComplexLegend.RegisterPersistence());
+        caller.add(new DefaultComplexLegendItem.RegisterPersistence());
+        caller.add(new DefaultComplexLabelClass.RegisterPersistence());
+        
+        if( !caller.call() ) {
+        	throw new LibraryException(DefaultComplexLegendLibrary.class, caller.getExceptions());
+        }
+        
+        MapContextManager mcoman = MapContextLocator.getMapContextManager();
+        mcoman.registerLegendWriter(
+        	VectorComplexLegend.class,
+            SymbolManager.LEGEND_FILE_EXTENSION.substring(1),
+            PersistenceBasedLegendWriter.class);
+        
+        SymbologyLocator.getSymbologyManager().registerLabelClass(new ComplexLabelClassFactory());
+        
+    }
+
+}

Property changes on: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.lib/org.gvsig.complexlegend.lib.impl/src/main/java/org/gvsig/complexlegend/impl/DefaultComplexLegendLibrary.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.lib/org.gvsig.complexlegend.lib.impl/src/main/java/org/gvsig/complexlegend/impl/ComplexLegendUtils.java
===================================================================
--- org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.lib/org.gvsig.complexlegend.lib.impl/src/main/java/org/gvsig/complexlegend/impl/ComplexLegendUtils.java	(revision 0)
+++ org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.lib/org.gvsig.complexlegend.lib.impl/src/main/java/org/gvsig/complexlegend/impl/ComplexLegendUtils.java	(revision 5862)
@@ -0,0 +1,33 @@
+package org.gvsig.complexlegend.impl;
+
+import java.util.Iterator;
+import java.util.List;
+
+import org.gvsig.app.project.documents.view.legend.gui.AbstractParentPanel;
+import org.gvsig.app.project.documents.view.legend.gui.ILegendPanel;
+import org.gvsig.fmap.mapcontext.rendering.legend.ILegend;
+import org.gvsig.symbology.swing.SymbologySwingLocator;
+
+public class ComplexLegendUtils {
+	
+	public static ILegendPanel getLegendPanel(ILegend legend){
+		List panels = SymbologySwingLocator.getSwingManager().getLegendEditorClasses();
+		Iterator it = panels.iterator();
+		while(it.hasNext()){
+			Class panelClass = (Class) it.next();
+			ILegendPanel panel;
+			try {
+				panel = (ILegendPanel) panelClass.newInstance();
+				if(!(panel instanceof AbstractParentPanel)){
+					if(panel.getLegendClass().equals(legend.getClass())){
+						return panel;
+					}
+				}
+			} catch (Exception e) {
+				return null;
+			}
+		}
+		return null;
+	}
+	
+}

Property changes on: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.lib/org.gvsig.complexlegend.lib.impl/src/main/java/org/gvsig/complexlegend/impl/ComplexLegendUtils.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.lib/org.gvsig.complexlegend.lib.impl/src/main/java/org/gvsig/complexlegend/impl/DefaultComplexLegendItem.java
===================================================================
--- org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.lib/org.gvsig.complexlegend.lib.impl/src/main/java/org/gvsig/complexlegend/impl/DefaultComplexLegendItem.java	(revision 0)
+++ org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.lib/org.gvsig.complexlegend.lib.impl/src/main/java/org/gvsig/complexlegend/impl/DefaultComplexLegendItem.java	(revision 5862)
@@ -0,0 +1,122 @@
+package org.gvsig.complexlegend.impl;
+
+import java.text.NumberFormat;
+
+import org.gvsig.app.project.documents.view.legend.gui.ILegendPanel;
+import org.gvsig.complexlegend.ComplexLegendItem;
+import org.gvsig.fmap.mapcontext.rendering.legend.ILegend;
+import org.gvsig.tools.ToolsLocator;
+import org.gvsig.tools.dynobject.DynStruct;
+import org.gvsig.tools.persistence.PersistenceManager;
+import org.gvsig.tools.persistence.Persistent;
+import org.gvsig.tools.persistence.PersistentState;
+import org.gvsig.tools.persistence.exception.PersistenceException;
+import org.gvsig.tools.util.Callable;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class DefaultComplexLegendItem implements ComplexLegendItem, Persistent {
+
+    public static final Logger logger = LoggerFactory.getLogger(DefaultComplexLegendItem.class);
+    public static final String COMPLEX_LEGEND_ITEM_PERSISTENCE_DEFINITION_NAME = "ComplexLegendItem";
+    private ILegend legend;
+    private double maxScale;
+    private double minScale;
+
+    public ILegend getLegend() {
+        return legend;
+    }
+
+    public void setLegend(ILegend legend) {
+        this.legend = legend;
+    }
+
+    public double getMaxScale() {
+        return maxScale;
+    }
+
+    public void setMaxScale(double maxScale) {
+        this.maxScale = maxScale;
+    }
+
+    public double getMinScale() {
+        return minScale;
+    }
+
+    public void setMinScale(double minScale) {
+        this.minScale = minScale;
+    }
+
+    public String toString() {
+
+        String panel = "";
+        if (legend != null) {
+            ILegendPanel legPanel = ComplexLegendUtils.getLegendPanel(legend);
+            if (legPanel != null) {
+                panel = " " + legPanel.getTitle();
+            }
+        }
+
+        Double mind = (Double) getMinScale();
+        String min = "0";
+        if (mind >= 0) {
+            int mini = mind.intValue();
+            min = NumberFormat.getIntegerInstance().format(mini);
+        }
+
+        Double maxd = (Double) getMaxScale();
+        String max = "inf";
+        if (maxd >= 0) {
+            int maxi = maxd.intValue();
+            max = NumberFormat.getIntegerInstance().format(maxi);
+        }
+        return "[1:" + min + " - 1:" + max + "]" + panel;
+    }
+
+    public void loadFromState(PersistentState state)
+            throws PersistenceException {
+        // Set own properties
+        setLegend((ILegend) state.get("legend"));
+        setMinScale(state.getDouble("minScale"));
+        setMaxScale(state.getDouble("maxScale"));
+    }
+
+    public void saveToState(PersistentState state) throws PersistenceException {
+        // Save own properties
+        state.set("legend", getLegend());
+        state.set("minScale", getMinScale());
+        state.set("maxScale", getMaxScale());
+    }
+
+    public static class RegisterPersistence implements Callable {
+
+        public Object call() throws Exception {
+            PersistenceManager manager = ToolsLocator.getPersistenceManager();
+            if (manager.getDefinition(
+                    COMPLEX_LEGEND_ITEM_PERSISTENCE_DEFINITION_NAME) == null) {
+                DynStruct definition = manager.addDefinition(
+                        DefaultComplexLegendItem.class,
+                        COMPLEX_LEGEND_ITEM_PERSISTENCE_DEFINITION_NAME,
+                        COMPLEX_LEGEND_ITEM_PERSISTENCE_DEFINITION_NAME
+                        + " Persistence definition",
+                        null,
+                        null
+                );
+
+                definition.addDynFieldObject("legend").setMandatory(true)
+                        .setClassOfValue(ILegend.class);
+                definition.addDynFieldDouble("minScale").setMandatory(true);
+                definition.addDynFieldDouble("maxScale").setMandatory(true);
+            }
+            return Boolean.TRUE;
+        }
+
+    }
+
+    @Override
+    public Object clone() throws CloneNotSupportedException {
+        DefaultComplexLegendItem cloned = (DefaultComplexLegendItem) super.clone(); //To change body of generated methods, choose Tools | Templates.
+        cloned.legend = (ILegend) this.legend.clone();
+        return cloned;
+    }
+}

Property changes on: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.lib/org.gvsig.complexlegend.lib.impl/src/main/java/org/gvsig/complexlegend/impl/DefaultComplexLegendItem.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.lib/org.gvsig.complexlegend.lib.impl/src/main/java/org/gvsig/complexlegend/impl/DefaultVectorComplexLegend.java
===================================================================
--- org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.lib/org.gvsig.complexlegend.lib.impl/src/main/java/org/gvsig/complexlegend/impl/DefaultVectorComplexLegend.java	(revision 0)
+++ org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.lib/org.gvsig.complexlegend.lib.impl/src/main/java/org/gvsig/complexlegend/impl/DefaultVectorComplexLegend.java	(revision 5862)
@@ -0,0 +1,535 @@
+package org.gvsig.complexlegend.impl;
+
+import java.awt.Graphics2D;
+import java.awt.geom.AffineTransform;
+import java.awt.image.BufferedImage;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+import org.cresques.cts.ICoordTrans;
+import org.gvsig.compat.print.PrintAttributes;
+import org.gvsig.complexlegend.ComplexLegendItem;
+import org.gvsig.complexlegend.VectorComplexLegend;
+import org.gvsig.fmap.dal.exception.DataException;
+import org.gvsig.fmap.dal.feature.Feature;
+import org.gvsig.fmap.dal.feature.FeatureQuery;
+import org.gvsig.fmap.dal.feature.FeatureStore;
+import org.gvsig.fmap.geom.Geometry;
+import org.gvsig.fmap.mapcontext.MapContextException;
+import org.gvsig.fmap.mapcontext.MapContextLocator;
+import org.gvsig.fmap.mapcontext.MapContextManager;
+import org.gvsig.fmap.mapcontext.ViewPort;
+import org.gvsig.fmap.mapcontext.layers.operations.IHasImageLegend;
+import org.gvsig.fmap.mapcontext.rendering.legend.IClassifiedLegend;
+import org.gvsig.fmap.mapcontext.rendering.legend.IVectorLegend;
+import org.gvsig.fmap.mapcontext.rendering.legend.LegendException;
+import org.gvsig.fmap.mapcontext.rendering.legend.events.LegendClearEvent;
+import org.gvsig.fmap.mapcontext.rendering.legend.events.LegendContentsChangedListener;
+import org.gvsig.fmap.mapcontext.rendering.legend.events.SymbolLegendEvent;
+import org.gvsig.fmap.mapcontext.rendering.symbols.ISymbol;
+import org.gvsig.fmap.mapcontext.rendering.symbols.SymbolManager;
+import org.gvsig.symbology.fmap.mapcontext.rendering.legend.impl.AbstractVectorialLegend;
+import org.gvsig.symbology.fmap.mapcontext.rendering.symbol.marker.impl.SimpleMarkerSymbol;
+import org.gvsig.tools.ToolsLocator;
+import org.gvsig.tools.dynobject.DynStruct;
+import org.gvsig.tools.persistence.PersistenceManager;
+import org.gvsig.tools.persistence.Persistent;
+import org.gvsig.tools.persistence.PersistentState;
+import org.gvsig.tools.persistence.exception.PersistenceException;
+import org.gvsig.tools.task.Cancellable;
+import org.gvsig.tools.util.Callable;
+
+public class DefaultVectorComplexLegend extends AbstractVectorialLegend implements VectorComplexLegend, Persistent {
+
+    public static final String COMPLEX_LEGEND_PERSISTENCE_DEFINITION_NAME = "ComplexLegendPersistence";
+    public static final String COMPLEX_LEGEND_NAME = "ComplexLegend";
+    public static final String COMPLEX_LEGEND_FIELD = "Legends";
+    private List<ComplexLegendItem> legends;
+    private boolean useDefault;
+    private int shapeType;
+    private ISymbol defaultSymbol;
+    private int currentLegend;
+
+    private LegendContentsChangedListener changeListener;
+
+    private boolean allowOverlap;
+
+    public DefaultVectorComplexLegend() {
+        super();
+        SymbolManager manager = MapContextLocator.getSymbolManager();
+        this.defaultSymbol = manager.createSymbol(Geometry.TYPES.SURFACE);
+        this.allowOverlap = true;
+        this.currentLegend = -1;
+        this.changeListener = new LegendContentsChangedListener() {
+            @Override
+            public boolean symbolChanged(SymbolLegendEvent e) {
+                fireDefaultSymbolChangedEvent(e);
+                return true;
+            }
+
+            @Override
+            public void legendCleared(LegendClearEvent event) {
+                fireDefaultSymbolChangedEvent(new ComplexLegendChangedEvent());
+            }
+        };
+    }
+
+    public List<ComplexLegendItem> getLegends() {
+        if (legends == null) {
+            legends = new ArrayList<ComplexLegendItem>();
+        }
+        return Collections.unmodifiableList(legends);
+    }
+
+    public List<ComplexLegendItem> getEditedLegends() {
+        if (legends == null) {
+            legends = new ArrayList<ComplexLegendItem>();
+        }
+        return legends;
+    }
+
+    public boolean isOverlapped(ComplexLegendItem legend) {
+        Iterator it = getLegends().iterator();
+        while (it.hasNext()) {
+            ComplexLegendItem aux = (ComplexLegendItem) it.next();
+            if ((aux.getMinScale() == -1
+                    && aux.getMaxScale() > legend.getMinScale())) {
+                return true;
+            }
+            if ((aux.getMaxScale() == -1
+                    && aux.getMinScale() < legend.getMaxScale())) {
+                return true;
+            }
+            if (!(aux.getMinScale() >= legend.getMaxScale()
+                    || aux.getMaxScale() <= legend.getMinScale())) {
+                return true;
+            }
+        }
+        return false;
+    }
+
+    @Override
+    public Object clone() throws CloneNotSupportedException {
+        DefaultVectorComplexLegend cloned = (DefaultVectorComplexLegend) super.clone(); //To change body of generated methods, choose Tools | Templates.
+        cloned.defaultSymbol = (ISymbol) this.defaultSymbol.clone();
+
+        cloned.legends = new ArrayList<>();
+        if (legends != null) {
+            for (ComplexLegendItem legend : legends) {
+                cloned.add((ComplexLegendItem) legend.clone());
+            }
+        }
+        return cloned;
+    }
+
+    public boolean add(ComplexLegendItem legend) {
+        if (legends == null) {
+            getLegends();
+        }
+
+        boolean result = legends.add(legend);
+        Collections.sort(legends, new Comparator<ComplexLegendItem>() {
+            public int compare(ComplexLegendItem o1, ComplexLegendItem o2) {
+                if (o1.getMinScale() == o2.getMinScale()) {
+                    return 0;
+                }
+                return o1.getMinScale() < o2.getMinScale() ? -1 : 1;
+            }
+        });
+
+        legend.getLegend().addLegendListener(this.changeListener);
+        fireDefaultSymbolChangedEvent(new ComplexLegendChangedEvent());
+        return result;
+    }
+
+    public boolean remove(ComplexLegendItem legend) {
+        if (legends == null) {
+            getLegends();
+        }
+
+        boolean result = legends.remove(legend);
+        legend.getLegend().removeLegendListener(changeListener);
+        fireDefaultSymbolChangedEvent(new ComplexLegendChangedEvent());
+        return result;
+    }
+
+    public ComplexLegendItem getLegend(double scale) {
+        Iterator<ComplexLegendItem> it = getLegends().iterator();
+        while (it.hasNext()) {
+            ComplexLegendItem cleg = (ComplexLegendItem) it.next();
+            if (cleg.getMinScale() == -1
+                    && cleg.getMaxScale() >= scale) {
+                return cleg;
+            }
+            if (cleg.getMinScale() <= scale
+                    && cleg.getMaxScale() >= scale) {
+                return cleg;
+            }
+            if (cleg.getMinScale() <= scale
+                    && cleg.getMaxScale() == -1) {
+                return cleg;
+            }
+        }
+        return null;
+    }
+
+    public List<ComplexLegendItem> getLegendsInScale(double scale) {
+        Iterator<ComplexLegendItem> it = getLegends().iterator();
+        ArrayList<ComplexLegendItem> legendsInScale = new ArrayList<ComplexLegendItem>();
+        while (it.hasNext()) {
+            ComplexLegendItem cleg = (ComplexLegendItem) it.next();
+            if (cleg.getMinScale() == -1
+                    && cleg.getMaxScale() >= scale) {
+                legendsInScale.add(cleg);
+            }
+            if (cleg.getMinScale() <= scale
+                    && cleg.getMaxScale() >= scale) {
+                legendsInScale.add(cleg);
+            }
+            if (cleg.getMinScale() <= scale
+                    && cleg.getMaxScale() == -1) {
+                legendsInScale.add(cleg);
+            }
+        }
+        return legendsInScale;
+    }
+
+    @Override
+    public void print(Graphics2D g, ViewPort viewPort, Cancellable cancel,
+            double scale, Map queryParameters, ICoordTrans coordTrans,
+            FeatureStore featureStore, FeatureQuery fquery,
+            PrintAttributes properties) throws LegendException {
+        List<ComplexLegendItem> legendsToDraw;
+        if (this.getAllowOverlap()) {
+            legendsToDraw = this.getLegendsInScale(scale);
+        } else {
+            legendsToDraw = new ArrayList<>();
+            ComplexLegendItem legendInScale = getLegend(scale);
+            legendsToDraw.add(legendInScale);
+        }
+
+        int n = 0;
+        for (ComplexLegendItem legend : legendsToDraw) {
+            if (legend != null) {
+                if (legend.getLegend() != null) {
+                    setCurrentLegend(n);
+                    if (legend.getLegend() instanceof AbstractVectorialLegend) {
+                        ((AbstractVectorialLegend) legend.getLegend()).print(g, viewPort, cancel, scale, queryParameters, coordTrans,
+                                featureStore, fquery, properties);
+                    }
+                }
+            }
+        }
+    }
+
+    @Override
+    public void print(Graphics2D g, ViewPort viewPort, Cancellable cancel,
+            double scale, Map queryParameters, ICoordTrans coordTrans,
+            FeatureStore featureStore, PrintAttributes properties)
+            throws LegendException {
+        print(g, viewPort, cancel, scale, queryParameters, coordTrans,
+                featureStore, null, properties);
+    }
+
+    @Override
+    public void draw(BufferedImage image, Graphics2D g, ViewPort viewPort,
+            Cancellable cancel, double scale, Map queryParameters,
+            ICoordTrans coordTrans, FeatureStore featureStore)
+            throws LegendException {
+        List<ComplexLegendItem> legendsToDraw;
+        if (this.getAllowOverlap()) {
+            legendsToDraw = this.getLegendsInScale(scale);
+        } else {
+            legendsToDraw = new ArrayList<>();
+            ComplexLegendItem legendInScale = getLegend(scale);
+            legendsToDraw.add(legendInScale);
+        }
+
+        int n = 0;
+        for (ComplexLegendItem legend : legendsToDraw) {
+            if (legend != null) {
+                if (legend.getLegend() != null) {
+                    setCurrentLegend(n);
+                    if (legend.getLegend() instanceof AbstractVectorialLegend) {
+                        ((AbstractVectorialLegend) legend.getLegend()).draw(image, g, viewPort, cancel, scale, queryParameters, coordTrans,
+                                featureStore);
+                    }
+                }
+            }
+        }
+    }
+
+    @Override
+    protected void draw(BufferedImage image, Graphics2D g, ViewPort viewPort,
+            Cancellable cancel, double scale, Map queryParameters,
+            ICoordTrans coordTrans, FeatureStore featureStore,
+            FeatureQuery featureQuery, double dpi) throws LegendException {
+
+        List<ComplexLegendItem> legendsToDraw;
+        if (this.getAllowOverlap()) {
+            legendsToDraw = this.getLegendsInScale(scale);
+        } else {
+            legendsToDraw = new ArrayList<>();
+            ComplexLegendItem legendInScale = getLegend(scale);
+            legendsToDraw.add(legendInScale);
+        }
+        int n = 0;
+        for (ComplexLegendItem legend : legendsToDraw) {
+            if (legend != null) {
+                if (legend.getLegend() != null) {
+                    setCurrentLegend(n);
+                    if (legend.getLegend() instanceof AbstractVectorialLegend) {
+
+                        ((AbstractVectorialLegend) legend.getLegend()).draw(image, g, viewPort, cancel, scale, queryParameters, coordTrans,
+                                featureStore, featureQuery);
+                    }
+                }
+            }
+            n++;
+        }
+
+    }
+
+    private IVectorLegend getCurrentLegend() {
+        if (this.currentLegend >= 0 && getLegends() != null && !getLegends().isEmpty()) {
+            return (IVectorLegend) getLegends().get(this.currentLegend).getLegend();
+        }
+        return null;
+    }
+
+    private void setCurrentLegend(int legend) {
+        this.currentLegend = legend;
+    }
+
+    @Override
+    public boolean getAllowOverlap() {
+        return this.allowOverlap;
+    }
+
+    @Override
+    public void setAllowOverlap(boolean allowOverlap) {
+        this.allowOverlap = allowOverlap;
+    }
+
+    public static class RegisterPersistence implements Callable {
+
+        public Object call() throws Exception {
+            PersistenceManager manager = ToolsLocator.getPersistenceManager();
+            if (manager.getDefinition(
+                    COMPLEX_LEGEND_PERSISTENCE_DEFINITION_NAME) == null) {
+                DynStruct definition = manager
+                        .addDefinition(DefaultVectorComplexLegend.class,
+                                COMPLEX_LEGEND_PERSISTENCE_DEFINITION_NAME,
+                                COMPLEX_LEGEND_PERSISTENCE_DEFINITION_NAME
+                                + " Persistence definition", null, null);
+
+                definition.extend(manager.getDefinition(
+                        AbstractVectorialLegend.VECTORIAL_LEGEND_PERSISTENCE_DEFINITION_NAME));
+
+                definition.addDynFieldList(COMPLEX_LEGEND_FIELD).setClassOfItems(DefaultComplexLegendItem.class);
+                definition.addDynFieldBoolean("allowOverlay");
+            }
+            return Boolean.TRUE;
+        }
+
+    }
+
+    public void loadFromState(PersistentState state)
+            throws PersistenceException {
+        super.loadFromState(state);
+        try {
+            this.allowOverlap = state.getBoolean("allowOverlay");
+        } catch (Exception e) {
+            this.allowOverlap = false;
+        }
+
+        setLegends(state.getList(COMPLEX_LEGEND_FIELD));
+    }
+
+    private void setLegends(List list) {
+        this.legends = list;
+    }
+
+    public void saveToState(PersistentState state) throws PersistenceException {
+        super.saveToState(state);
+        state.set("allowOverlay", this.allowOverlap);
+        state.set(COMPLEX_LEGEND_FIELD, getEditedLegends());
+    }
+
+    public static class RegisterLegend implements Callable {
+
+        public Object call() throws Exception {
+            MapContextManager manager = MapContextLocator.getMapContextManager();
+
+            manager.registerLegend(
+                    COMPLEX_LEGEND_NAME,
+                    DefaultVectorComplexLegend.class);
+
+            return Boolean.TRUE;
+        }
+
+    }
+
+    public ISymbol getSymbolByFeature(Feature feat) throws MapContextException {
+
+        if (this.getCurrentLegend() != null
+                && this.getCurrentLegend() instanceof IVectorLegend) {
+            return ((IVectorLegend) this.getCurrentLegend()).getSymbolByFeature(feat);
+        }
+        return null;
+    }
+
+    public int getShapeType() {
+        return this.shapeType;
+    }
+
+    public void setShapeType(int shapeType) {
+        this.shapeType = shapeType;
+        SymbolManager manager = MapContextLocator.getSymbolManager();
+        this.defaultSymbol = manager.createSymbol(shapeType);
+    }
+
+    public void setDefaultSymbol(ISymbol s) {
+        this.defaultSymbol = s;
+    }
+
+    public boolean isUseDefaultSymbol() {
+        return useDefault;
+    }
+
+    public void useDefaultSymbol(boolean b) {
+        this.useDefault = b;
+    }
+
+    public boolean isSuitableForShapeType(int shapeType) {
+        return true;
+    }
+
+    public ISymbol getDefaultSymbol() {
+        return defaultSymbol;
+    }
+
+    @Override
+    protected String[] getRequiredFeatureAttributeNames(
+            FeatureStore featureStore) throws DataException {
+        // TODO Auto-generated method stub
+        return null;
+    }
+
+    public String[] getDescriptions() {
+        List<String> descriptions = new ArrayList<String>();
+        for (ComplexLegendItem legend : this.legends) {
+            if (legend != null) {
+                if (legend.getLegend() != null
+                        && legend.getLegend() instanceof AbstractVectorialLegend) {
+                    if (legend.getLegend() instanceof IClassifiedLegend) {
+                        String[] classifiedDescriptions = ((IClassifiedLegend) legend.getLegend()).getDescriptions();
+                        for (String description : classifiedDescriptions) {
+                            descriptions.add(description);
+                        }
+                    } else {
+                        descriptions.add(null);
+                    }
+                }
+            }
+        }
+        if (descriptions.isEmpty()) {
+            descriptions.add(null);
+        }
+        return descriptions.toArray(new String[0]);
+
+    }
+
+    public ISymbol[] getSymbols() {
+
+        List<ISymbol> symbols = new ArrayList<ISymbol>();
+        for (ComplexLegendItem legend : this.legends) {
+            if (legend != null) {
+                if (legend.getLegend() != null
+                        && legend.getLegend() instanceof AbstractVectorialLegend) {
+                    if (legend.getLegend() instanceof IHasImageLegend) {
+                        symbols.add(new SimpleImageMarkerSymbol((IHasImageLegend) legend.getLegend()));
+                    } else if (legend.getLegend() instanceof IClassifiedLegend) {
+                        ISymbol[] classifiedSymbols = ((IClassifiedLegend) legend.getLegend()).getSymbols();
+                        for (ISymbol classifiedSymbol : classifiedSymbols) {
+                            symbols.add(classifiedSymbol);
+                        }
+                    } else {
+                        symbols.add(((IVectorLegend) legend.getLegend()).getDefaultSymbol());
+                    }
+                }
+            }
+        }
+        if (symbols.isEmpty()) {
+            if (getDefaultSymbol() != null) {
+                symbols.add(getDefaultSymbol());
+            } else {
+                SymbolManager manager = MapContextLocator.getSymbolManager();
+                symbols.add(manager.createSymbol(shapeType));
+
+            }
+        }
+        return symbols.toArray(new ISymbol[0]);
+    }
+
+    public Object[] getValues() {
+        List<Object> values = new ArrayList<Object>();
+        for (ComplexLegendItem legend : this.legends) {
+            if (legend != null) {
+                if (legend.getLegend() != null
+                        && legend.getLegend() instanceof AbstractVectorialLegend) {
+                    if (legend.getLegend() instanceof IClassifiedLegend) {
+                        Object[] classifiedValues = ((IClassifiedLegend) legend).getValues();
+                        for (Object classifiedValue : classifiedValues) {
+                            values.add(classifiedValue);
+                        }
+                    } else {
+                        values.add(null);
+                    }
+                }
+            }
+        }
+        if (values.isEmpty()) {
+            values.add(null);
+        }
+        return values.toArray(new Object[0]);
+
+    }
+
+    private static class ComplexLegendChangedEvent extends SymbolLegendEvent {
+
+        public ComplexLegendChangedEvent() {
+            super(null, null);
+        }
+
+        @Override
+        public int getEventType() {
+            return SymbolLegendEvent.LEGEND_VALUE_CHANGED;
+        }
+    }
+
+    private static class SimpleImageMarkerSymbol extends SimpleMarkerSymbol {
+
+        private final IHasImageLegend legend;
+
+        public SimpleImageMarkerSymbol(IHasImageLegend legend) {
+            this.legend = legend;
+        }
+
+        @Override
+        public void draw(Graphics2D g, AffineTransform affineTransform, Geometry geom, Feature feature, Cancellable cancel) {
+            g.drawImage(this.legend.getImageLegend(), 0, 0, null);
+        }
+
+        @Override
+        public double getSize() {
+            return this.legend.getImageLegend().getWidth(null);
+        }
+
+    }
+
+}

Property changes on: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.lib/org.gvsig.complexlegend.lib.impl/src/main/java/org/gvsig/complexlegend/impl/DefaultVectorComplexLegend.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.lib/org.gvsig.complexlegend.lib.impl/src/main/java/org/gvsig/complexlabel/impl/ComplexLabelClassFactory.java
===================================================================
--- org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.lib/org.gvsig.complexlegend.lib.impl/src/main/java/org/gvsig/complexlabel/impl/ComplexLabelClassFactory.java	(revision 0)
+++ org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.lib/org.gvsig.complexlegend.lib.impl/src/main/java/org/gvsig/complexlabel/impl/ComplexLabelClassFactory.java	(revision 5862)
@@ -0,0 +1,29 @@
+package org.gvsig.complexlabel.impl;
+
+import org.gvsig.fmap.mapcontext.rendering.legend.styling.ILabelClass;
+import org.gvsig.fmap.mapcontext.rendering.legend.styling.ILabelClassFactory;
+import org.gvsig.tools.ToolsLocator;
+import org.gvsig.tools.i18n.I18nManager;
+
+public class ComplexLabelClassFactory implements ILabelClassFactory {
+
+	public static final String FACTORY_ID = "MultipleLabelByScale";
+	I18nManager i18nManager = ToolsLocator.getI18nManager();
+
+	
+	public ILabelClass create() {
+		return new DefaultComplexLabelClass();
+	}
+
+	public String getID() {
+		return FACTORY_ID;
+	}
+
+	public String getName() {
+		return i18nManager.getTranslation("multiple_label_by_scale");
+	}
+
+	public String toString() {
+		return this.getName();
+	}
+}

Property changes on: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.lib/org.gvsig.complexlegend.lib.impl/src/main/java/org/gvsig/complexlabel/impl/ComplexLabelClassFactory.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.lib/org.gvsig.complexlegend.lib.impl/src/main/java/org/gvsig/complexlabel/impl/DefaultComplexLabelClass.java
===================================================================
--- org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.lib/org.gvsig.complexlegend.lib.impl/src/main/java/org/gvsig/complexlabel/impl/DefaultComplexLabelClass.java	(revision 0)
+++ org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.lib/org.gvsig.complexlegend.lib.impl/src/main/java/org/gvsig/complexlabel/impl/DefaultComplexLabelClass.java	(revision 5862)
@@ -0,0 +1,95 @@
+package org.gvsig.complexlabel.impl;
+
+
+import org.gvsig.symbology.fmap.mapcontext.rendering.legend.styling.LabelClass;
+import org.gvsig.tools.ToolsLocator;
+import org.gvsig.tools.dynobject.DynStruct;
+import org.gvsig.tools.persistence.PersistenceManager;
+import org.gvsig.tools.persistence.Persistent;
+import org.gvsig.tools.persistence.PersistentState;
+import org.gvsig.tools.persistence.exception.PersistenceException;
+import org.gvsig.tools.util.Callable;
+
+public class DefaultComplexLabelClass extends LabelClass implements Persistent{
+
+	public static final String COMPLEXLABELCLASS_PERSISTENCE_DEFINITION_NAME = "Complex.label.class";
+	
+	private double minScale;
+	private double maxScale;
+	
+	public double getMinScale() {
+		return minScale;
+	}
+	
+	public void setMinScale(double minScale) {
+		this.minScale = minScale;
+	}
+	
+	public double getMaxScale() {
+		return maxScale;
+	}
+	
+	public void setMaxScale(double maxScale) {
+		this.maxScale = maxScale;
+	}
+	
+	@Override
+	public boolean isVisible() {
+		return super.isVisible();
+	}
+	
+	@Override
+	public boolean isVisible(double scale) {
+		if(getMaxScale() > scale && getMinScale() < scale){
+			return true;
+		}
+		return false;
+	}
+	
+	@Override
+	public void loadFromState(PersistentState state)
+			throws PersistenceException {
+		super.loadFromState(state);
+		setMinScale(state.getDouble("MinScale"));
+		setMaxScale(state.getDouble("MaxScale"));
+	}
+	
+	@Override
+	public void saveToState(PersistentState state) throws PersistenceException {
+		super.saveToState(state);
+		state.set("MinScale", getMinScale());
+		state.set("MaxScale", getMaxScale());
+	}
+	
+	@Override
+	public Object clone() throws CloneNotSupportedException {
+		DefaultComplexLabelClass cloned = (DefaultComplexLabelClass) super.clone();
+		cloned.setMaxScale(this.getMaxScale());
+		cloned.setMinScale(this.getMinScale());
+		return cloned;
+	}
+	
+	public static class RegisterPersistence implements Callable {
+
+		public Object call() throws Exception {
+			PersistenceManager manager = ToolsLocator.getPersistenceManager();
+			if( manager.getDefinition(COMPLEXLABELCLASS_PERSISTENCE_DEFINITION_NAME)==null ) {
+				DynStruct definition = manager.addDefinition(
+						DefaultComplexLabelClass.class,
+						COMPLEXLABELCLASS_PERSISTENCE_DEFINITION_NAME,
+						COMPLEXLABELCLASS_PERSISTENCE_DEFINITION_NAME+" Persistence definition",
+						null, 
+						null
+				);
+
+				definition.extend(manager.getDefinition(
+						"LabelClass"));
+				
+				definition.addDynFieldDouble("MaxScale").setMandatory(true);
+				definition.addDynFieldDouble("MinScale").setMandatory(true);
+			}
+			return Boolean.TRUE;
+		}
+		
+	}
+}

Property changes on: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.lib/org.gvsig.complexlegend.lib.impl/src/main/java/org/gvsig/complexlabel/impl/DefaultComplexLabelClass.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.lib/org.gvsig.complexlegend.lib.impl/pom.xml
===================================================================
--- org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.lib/org.gvsig.complexlegend.lib.impl/pom.xml	(revision 0)
+++ org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.lib/org.gvsig.complexlegend.lib.impl/pom.xml	(revision 5862)
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<artifactId>org.gvsig.complexlegend.lib.impl</artifactId>
+	<packaging>jar</packaging>
+	<name>org.gvsig.complexlegend.lib.impl</name>
+	<parent>
+		<groupId>org.gvsig</groupId>
+		<artifactId>org.gvsig.complexlegend.lib</artifactId>
+		<version>1.0.160</version>
+	</parent>
+
+	<dependencies>
+		<dependency>
+			<groupId>org.gvsig</groupId>
+			<artifactId>org.gvsig.complexlegend.lib.api</artifactId>
+			<scope>compile</scope>
+		</dependency>
+		 <dependency>
+            <groupId>org.gvsig</groupId>
+            <artifactId>org.gvsig.symbology.lib.api</artifactId>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.gvsig</groupId>
+            <artifactId>org.gvsig.symbology.lib.impl</artifactId>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.gvsig</groupId>
+            <artifactId>org.gvsig.symbology.swing.api</artifactId>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.gvsig</groupId>
+            <artifactId>org.gvsig.fmap.mapcontext.api</artifactId>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+			<groupId>org.gvsig</groupId>
+			<artifactId> org.gvsig.app.mainplugin</artifactId>
+			<scope>compile</scope>
+		</dependency>
+	</dependencies>
+</project>

Property changes on: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.lib/org.gvsig.complexlegend.lib.impl/pom.xml
___________________________________________________________________
Added: svn:mime-type
   + text/plain


Property changes on: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.lib/org.gvsig.complexlegend.lib.impl
___________________________________________________________________
Added: svn:ignore
   + .project

target

.classpath

.settings



Property changes on: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.lib
___________________________________________________________________
Added: svn:ignore
   + .project

.settings


Index: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.swing/org.gvsig.complexlegend.swing.impl/src/test/resources/README.txt
===================================================================
--- org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.swing/org.gvsig.complexlegend.swing.impl/src/test/resources/README.txt	(revision 0)
+++ org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.swing/org.gvsig.complexlegend.swing.impl/src/test/resources/README.txt	(revision 5862)
@@ -0,0 +1,8 @@
+Put into this folder the resources needed by your test classes.
+
+This folder is added to the Tests classpath, so you can load any resources 
+through the ClassLoader.
+
+By default, in this folder you can find an example of log4j configuration,
+prepared to log messages through the console, so logging works when you
+run your tests classes.
\ No newline at end of file

Property changes on: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.swing/org.gvsig.complexlegend.swing.impl/src/test/resources/README.txt
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.swing/org.gvsig.complexlegend.swing.impl/src/test/resources/log4j.xml
===================================================================
--- org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.swing/org.gvsig.complexlegend.swing.impl/src/test/resources/log4j.xml	(revision 0)
+++ org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.swing/org.gvsig.complexlegend.swing.impl/src/test/resources/log4j.xml	(revision 5862)
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
+
+<!-- 
+Log4J configuration file for unit tests execution.
+ -->
+<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
+
+	<!-- Appender configuration to show logging messages through the console -->
+	<appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
+		<layout class="org.apache.log4j.PatternLayout">
+			<param name="ConversionPattern" value="%d{HH:mm:ss,SSS} %-5p [%c{2}.%M()]\n  %m%n" />
+		</layout>
+	</appender>
+
+	<!-- 
+	Activate logging messages of DEBUG level of higher only for the
+	org.gvsig.tools packages.
+	You can put full classes names or packages instead, to configure
+	logging for all the classes and subpackages of the package.
+	-->
+	<category name="org.gvsig.tools">
+		<priority value="DEBUG" />
+	</category>
+	<category name="org.gvsig.chart">
+		<priority value="DEBUG" />
+	</category>
+
+	<!-- 
+	By default, show only logging messages of INFO level or higher, 
+	through the previously configured CONSOLE appender. 
+	-->
+	<root>
+		<priority value="INFO" />
+		<appender-ref ref="CONSOLE" />
+	</root>
+</log4j:configuration>
\ No newline at end of file

Property changes on: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.swing/org.gvsig.complexlegend.swing.impl/src/test/resources/log4j.xml
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.swing/org.gvsig.complexlegend.swing.impl/src/main/resources/images/legend/legend-add.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.swing/org.gvsig.complexlegend.swing.impl/src/main/resources/images/legend/legend-add.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.swing/org.gvsig.complexlegend.swing.impl/src/main/resources/images/legend/legend-delete.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.swing/org.gvsig.complexlegend.swing.impl/src/main/resources/images/legend/legend-delete.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.swing/org.gvsig.complexlegend.swing.impl/src/main/resources/images/legend/scaled-symbols.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.swing/org.gvsig.complexlegend.swing.impl/src/main/resources/images/legend/scaled-symbols.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.swing/org.gvsig.complexlegend.swing.impl/src/main/resources/images/swing/swing-banner.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.swing/org.gvsig.complexlegend.swing.impl/src/main/resources/images/swing/swing-banner.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.swing/org.gvsig.complexlegend.swing.impl/src/main/resources/META-INF/services/org.gvsig.tools.library.Library
===================================================================
--- org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.swing/org.gvsig.complexlegend.swing.impl/src/main/resources/META-INF/services/org.gvsig.tools.library.Library	(revision 0)
+++ org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.swing/org.gvsig.complexlegend.swing.impl/src/main/resources/META-INF/services/org.gvsig.tools.library.Library	(revision 5862)
@@ -0,0 +1 @@
+org.gvsig.complexlegend.swing.impl.DefaultComplexLegendSwingLibrary
\ No newline at end of file
Index: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.swing/org.gvsig.complexlegend.swing.impl/src/main/java/package.html
===================================================================
--- org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.swing/org.gvsig.complexlegend.swing.impl/src/main/java/package.html	(revision 0)
+++ org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.swing/org.gvsig.complexlegend.swing.impl/src/main/java/package.html	(revision 5862)
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<title>org.gvsig.landregistryviewer package documentation</title>
+</head>
+<body>
+
+	<p>LandRegistryViewer swing library API default implementation.</p>
+
+</body>
+</html>
\ No newline at end of file

Property changes on: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.swing/org.gvsig.complexlegend.swing.impl/src/main/java/package.html
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.swing/org.gvsig.complexlegend.swing.impl/src/main/java/org/gvsig/complexlegend/swing/impl/DefaultComplexLegendPanelController.java
===================================================================
--- org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.swing/org.gvsig.complexlegend.swing.impl/src/main/java/org/gvsig/complexlegend/swing/impl/DefaultComplexLegendPanelController.java	(revision 0)
+++ org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.swing/org.gvsig.complexlegend.swing.impl/src/main/java/org/gvsig/complexlegend/swing/impl/DefaultComplexLegendPanelController.java	(revision 5862)
@@ -0,0 +1,328 @@
+/*
+ * To change this license header, choose License Headers in Project Properties.
+ * To change this template file, choose Tools | Templates
+ * and open the template in the editor.
+ */
+package org.gvsig.complexlegend.swing.impl;
+
+import com.jgoodies.forms.layout.CellConstraints;
+import java.awt.Dimension;
+import java.awt.event.ActionEvent;
+import java.util.Iterator;
+import java.util.List;
+import javax.swing.DefaultComboBoxModel;
+import javax.swing.ImageIcon;
+import javax.swing.JDialog;
+import javax.swing.JPanel;
+import javax.swing.event.ListDataEvent;
+import javax.swing.event.ListDataListener;
+import org.gvsig.andami.IconThemeHelper;
+import org.gvsig.andami.PluginServices;
+import org.gvsig.app.project.documents.view.legend.gui.AbstractParentPanel;
+import org.gvsig.app.project.documents.view.legend.gui.Features;
+import org.gvsig.app.project.documents.view.legend.gui.ILegendPanel;
+import org.gvsig.complexlegend.ComplexLegendItem;
+import org.gvsig.complexlegend.VectorComplexLegend;
+import org.gvsig.complexlegend.impl.DefaultVectorComplexLegend;
+import org.gvsig.complexlegend.swing.ComplexLegendPanel;
+import org.gvsig.fmap.mapcontext.MapContextLocator;
+import org.gvsig.fmap.mapcontext.layers.FLayer;
+import org.gvsig.fmap.mapcontext.layers.vectorial.FLyrVect;
+import org.gvsig.fmap.mapcontext.rendering.legend.ILegend;
+import org.gvsig.symbology.swing.SymbologySwingLocator;
+import org.gvsig.tools.ToolsLocator;
+import org.gvsig.tools.i18n.I18nManager;
+import org.gvsig.tools.observer.Observable;
+import org.gvsig.tools.observer.Observer;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ *
+ * @author pako
+ */
+@SuppressWarnings("UseSpecificCatch")
+public class DefaultComplexLegendPanelController extends DefaultComplexLegendPanelView implements ComplexLegendPanel, Observer {
+
+    private static final Logger LOGGER = LoggerFactory.getLogger(DefaultComplexLegendPanelController.class);
+    private VectorComplexLegend auxLegend;
+    private FLayer layer;
+    private DefaultComboBoxModel model;
+    private ILegendPanel legendPanel;
+    private JDialog dlg;
+    private ComplexLegendItem currentItem;
+
+    public DefaultComplexLegendPanelController() {
+        translate();
+        initializeComponents();
+    }
+
+    private void translate() {
+        
+        I18nManager i18nManager = ToolsLocator.getI18nManager();
+
+        chkAllowOverlap.setText(i18nManager.getTranslation(chkAllowOverlap.getText()));
+        legendPanelTitle.setText(i18nManager.getTranslation(legendPanelTitle.getText()));
+        symbolPanelTitle.setText(i18nManager.getTranslation(symbolPanelTitle.getText()));
+        
+        addButton.setToolTipText(i18nManager.getTranslation(addButton.getToolTipText()));
+        removeButton.setToolTipText(i18nManager.getTranslation(removeButton.getToolTipText()));
+
+    }
+
+    private void initializeComponents() {
+
+        addButton.setIcon(PluginServices.getIconTheme().get("legend-add"));
+        addButton.addActionListener((ActionEvent arg0) -> {
+            createComplexLegendItemWindow();
+        });
+
+        removeButton.setIcon(PluginServices.getIconTheme().get("legend-delete"));
+        removeButton.addActionListener((ActionEvent arg0) -> {
+            removeComplexLegendItem();
+        });
+
+        cmbValue.setModel(getComboBoxModel());
+        cmbValue.setPreferredSize(new Dimension(350, 20));
+        cmbValue.addActionListener((ActionEvent e) -> {
+            refreshLegendPanel();
+        });
+
+    }
+    
+    private DefaultComboBoxModel getComboBoxModel() {
+        if (this.model == null) {
+            this.model = new DefaultComboBoxModel();
+            this.model.addListDataListener(new ListDataListener() {
+                @Override
+                public void intervalRemoved(ListDataEvent arg0) {
+                }
+
+                @Override
+                public void intervalAdded(ListDataEvent arg0) {
+                }
+
+                @Override
+                public void contentsChanged(ListDataEvent arg0) {
+                    refreshButtons();
+                }
+            });
+        }
+        return this.model;
+    }
+    
+        protected void refreshButtons() {
+        boolean status = (getComboBoxModel().getSize() != 0);
+        cmbValue.setEnabled(status);
+        removeButton.setEnabled(status);
+        if (legendPanel != null) {
+            legendPanel.getPanel().setVisible(status);
+        }
+        if (auxLegend != null && auxLegend instanceof DefaultVectorComplexLegend) {
+            chkAllowOverlap.setSelected(auxLegend.getAllowOverlap());
+        }
+    }
+
+
+        
+    protected void createComplexLegendItemWindow() {
+        
+        I18nManager i18nManager = ToolsLocator.getI18nManager();
+
+        if (layer != null) {
+            ComplexLegendItemPanel legendItemPanel
+                    = new ComplexLegendItemPanel(layer, (VectorComplexLegend) getLegend());
+            legendItemPanel.addObserver(this);
+
+            dlg = new JDialog();
+            dlg.setTitle(i18nManager.getTranslation("SelectItem"));
+            dlg.setResizable(true);
+
+            dlg.getContentPane().add(legendItemPanel);
+            dlg.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
+
+            dlg.setSize(510, 510);
+            dlg.setModal(true);
+            dlg.pack();
+            dlg.setLocationRelativeTo(null);
+            dlg.setVisible(true);
+        }
+    }
+
+    @Override
+    public String getDescription() {
+        I18nManager i18nManager = ToolsLocator.getI18nManager();
+        return i18nManager.getTranslation(
+                "legend_by_scale");
+    }
+
+    @Override
+    public ImageIcon getIcon() {
+        return IconThemeHelper.getImageIcon(
+                "scaled-symbols");
+    }
+
+    @Override
+    public ILegend getLegend() {
+        if (auxLegend == null) {
+            auxLegend = (VectorComplexLegend) MapContextLocator.getMapContextManager()
+                    .createLegend(DefaultVectorComplexLegend.COMPLEX_LEGEND_NAME);
+        }
+        saveCurrentPanel();
+        auxLegend.setAllowOverlap(this.chkAllowOverlap.isSelected());
+
+        return (VectorComplexLegend) auxLegend.cloneLegend();
+    }
+
+    @Override
+    public Class getLegendClass() {
+        return DefaultVectorComplexLegend.class;
+    }
+
+    @Override
+    public JPanel getPanel() {
+        return this;
+    }
+
+    @Override
+    public Class getParentClass() {
+        return Features.class;
+    }
+
+    @Override
+    public String getTitle() {
+        I18nManager i18nManager = ToolsLocator.getI18nManager();
+        return i18nManager.getTranslation("complex_symbology");
+    }
+
+    @Override
+    public boolean isSuitableFor(FLayer layer) {
+        return (layer instanceof FLyrVect);
+    }
+
+    @Override
+    public void setData(FLayer layer, ILegend data) {
+        this.layer = layer;
+        if (data instanceof DefaultVectorComplexLegend) {
+            auxLegend = (DefaultVectorComplexLegend) data.cloneLegend();
+            updateComboModel();
+            chkAllowOverlap.setSelected(auxLegend.getAllowOverlap());
+        }
+
+    }
+
+    private void saveCurrentPanel() {
+        if (legendPanel != null && currentItem != null) {
+            currentItem.setLegend(legendPanel.getLegend());
+        }
+    }
+
+        
+    public void refreshLegendPanel() {
+        ComplexLegendItem item = (ComplexLegendItem) cmbValue.getSelectedItem();
+        if (item != null) {
+            ILegendPanel aux = getLegendPanel(item.getLegend());
+            if (aux != null) {
+                saveCurrentPanel();
+
+                symbolPanel.removeAll();
+                legendPanel = aux;
+                legendPanel.setData(layer, item.getLegend());
+                
+                CellConstraints cc = new CellConstraints();
+                
+                symbolPanel.add(legendPanel.getPanel(),cc.xy(1,1));
+                symbolPanel.repaint();
+                symbolPanel.revalidate();
+
+                currentItem = item;
+            }
+        }
+    }
+
+    @SuppressWarnings("null")
+    private ILegendPanel getLegendPanel(ILegend legend) {
+        List panels = SymbologySwingLocator.getSwingManager().getLegendEditorClasses();
+        Iterator it = panels.iterator();
+        while (it.hasNext()) {
+            Class panelClass = (Class) it.next();
+            ILegendPanel panel;
+            try {
+                panel = (ILegendPanel) panelClass.newInstance();
+                if (!(panel instanceof AbstractParentPanel)) {
+                    if (panel.getLegendClass().equals(legend.getClass())) {
+                        panel.setData(layer, legend);
+                        return panel;
+                    }
+                }
+            } catch (Exception e) {
+                LOGGER.warn("Error creating ILegendPanel. ", e);
+                return null;
+            }
+        }
+        return null;
+    }
+
+    protected void removeComplexLegendItem() {
+        ComplexLegendItem item = (ComplexLegendItem) cmbValue.getSelectedItem();
+        int index = auxLegend.getLegends().indexOf(item);
+        if (index != -1) {
+            auxLegend.remove(item);
+            getComboBoxModel().removeElementAt(index);
+        }
+        refreshButtons();
+    }
+
+    @Override
+    public void update(Observable observable, Object isAccepted) {
+        if (observable instanceof ComplexLegendItemPanel && isAccepted instanceof Boolean) {
+            ComplexLegendItemPanel itemPanel = (ComplexLegendItemPanel) observable;
+            boolean acceptForm = (Boolean) isAccepted;
+            if (!acceptForm) {
+                /* Si se ha pinchado en cancelar, se cierra sin más */
+                dlg.dispose();
+            } else {
+                if (itemPanel.validateValues()) {
+                    ComplexLegendItem item = itemPanel.getLegendItem();
+
+                    /* Guardo el panel actual*/
+                    saveCurrentPanel();
+
+                    /* Añado y ordeno la nueva entrada */
+                    auxLegend.add(item);
+                    updateComboModel();
+
+                    /* Cargo el nuevo panel */
+                    symbolPanel.removeAll();
+                    legendPanel = itemPanel.getLegendPanel();
+                    legendPanel.setData(layer, item.getLegend());
+                    
+                    CellConstraints cc = new CellConstraints();
+                    symbolPanel.add(legendPanel.getPanel(),cc.xy(1,1));
+                    symbolPanel.repaint();
+
+                    /* Selecciono la nueva entrada */
+                    currentItem = item;
+                    cmbValue.setSelectedItem(item);
+
+                    /* Cierro el diálogo */
+                    dlg.dispose();
+                }
+            }
+        }
+    }
+
+    private void updateComboModel() {
+        getComboBoxModel().removeAllElements();
+        if (auxLegend != null) {
+            Iterator<ComplexLegendItem> it = auxLegend.getLegends().iterator();
+            while (it.hasNext()) {
+                ComplexLegendItem item = (ComplexLegendItem) it.next();
+                getComboBoxModel().addElement(item);
+            }
+
+        }
+    }
+
+
+}
Index: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.swing/org.gvsig.complexlegend.swing.impl/src/main/java/org/gvsig/complexlegend/swing/impl/ComplexLegendItemPanel.java
===================================================================
--- org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.swing/org.gvsig.complexlegend.swing.impl/src/main/java/org/gvsig/complexlegend/swing/impl/ComplexLegendItemPanel.java	(revision 0)
+++ org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.swing/org.gvsig.complexlegend.swing.impl/src/main/java/org/gvsig/complexlegend/swing/impl/ComplexLegendItemPanel.java	(revision 5862)
@@ -0,0 +1,371 @@
+package org.gvsig.complexlegend.swing.impl;
+
+import java.awt.BorderLayout;
+import java.awt.Dimension;
+import java.awt.GridBagConstraints;
+import java.awt.GridBagLayout;
+import java.awt.Insets;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import javax.swing.ComboBoxModel;
+import javax.swing.DefaultComboBoxModel;
+import javax.swing.JButton;
+import javax.swing.JCheckBox;
+import javax.swing.JComboBox;
+import javax.swing.JLabel;
+import javax.swing.JOptionPane;
+import javax.swing.JPanel;
+import javax.swing.JSpinner;
+import javax.swing.SpinnerModel;
+import javax.swing.SpinnerNumberModel;
+
+import org.gvsig.app.project.documents.view.legend.gui.AbstractParentPanel;
+import org.gvsig.app.project.documents.view.legend.gui.ILegendPanel;
+import org.gvsig.complexlegend.ComplexLegendItem;
+import org.gvsig.complexlegend.VectorComplexLegend;
+import org.gvsig.complexlegend.impl.DefaultComplexLegendItem;
+import org.gvsig.fmap.mapcontext.layers.FLayer;
+import org.gvsig.fmap.mapcontext.layers.vectorial.FLyrVect;
+import org.gvsig.fmap.mapcontext.rendering.legend.ILegend;
+import org.gvsig.symbology.swing.SymbologySwingLocator;
+import org.gvsig.tools.ToolsLocator;
+import org.gvsig.tools.i18n.I18nManager;
+import org.gvsig.tools.observer.Observable;
+import org.gvsig.tools.observer.Observer;
+
+public class ComplexLegendItemPanel extends JPanel implements Observable{
+
+	/**
+	 * 
+	 */
+	private static final long serialVersionUID = 8565120915575756286L;
+	private ComplexLegendItem complexItem;
+	private JSpinner maxScaleTXT;
+	private JSpinner minScaleTXT;
+	private VectorComplexLegend complexLegend;
+	private JComboBox legendTypeCB;
+	private FLayer layer;
+	private DefaultComboBoxModel model;
+	private JButton cancelButton;
+	private JButton acceptButton;
+	private List<Observer> observers;
+	private I18nManager i18nManager;
+	private JCheckBox minScaleCk;
+	private JCheckBox maxScaleCk;
+
+	
+	public ComplexLegendItemPanel(FLayer layer, VectorComplexLegend vcl){
+		this.i18nManager = ToolsLocator.getI18nManager();
+		this.observers = new ArrayList<Observer>();
+		this.layer = layer;
+		this.complexLegend = vcl;
+		initialize();
+	}
+	
+	public ComplexLegendItemPanel(FLayer layer, VectorComplexLegend vcl, ComplexLegendItem cli) {
+		this(layer, vcl);
+		this.complexItem = cli;
+		setData(cli);
+	}
+
+	private void initialize() {
+		setPreferredSize(new Dimension(450, 225));
+
+		JPanel mainPanel = new JPanel(new BorderLayout());
+		mainPanel.setPreferredSize(new Dimension(440, 175));
+
+		JPanel mainDataPanel = new JPanel();
+		mainDataPanel.setPreferredSize(new Dimension(200, 100));
+		GridBagLayout gridBagLayout2 = new GridBagLayout();
+		gridBagLayout2.columnWidths = new int[] { 150, 180, 70 };
+		gridBagLayout2.rowHeights = new int[] { 0, 0, 0, 0, 0, 0 };
+		mainDataPanel.setLayout(gridBagLayout2);
+		//mainDataPanel.setBorder(new TitledBorder( i18nManager.getTranslation("Connection_configuration") + ":"));
+
+		GridBagConstraints c = new GridBagConstraints();
+		c.fill = GridBagConstraints.HORIZONTAL;
+		c.anchor = GridBagConstraints.WEST;
+		c.insets = new Insets(3, 0, 3, 0);
+		c.ipadx = 10;
+		c.gridx = 0;
+		c.gridy = 0;
+		JLabel labelURL = new JLabel( i18nManager.getTranslation("MinScale")+":");
+		mainDataPanel.add(labelURL, c);
+
+		c.gridx = 1;
+		c.gridwidth =2;
+		mainDataPanel.add(getMinScaleField(), c);
+		c.gridy = 1;
+		mainDataPanel.add(getWithoutMinScale(), c);
+
+		c.gridx = 0;
+		c.gridy = 2;
+		c.gridwidth =1;
+		JLabel labelUser = new JLabel( i18nManager.getTranslation("MaxScale")+":");
+		mainDataPanel.add(labelUser, c);
+
+		c.gridx = 1;
+		c.gridwidth =2;
+		mainDataPanel.add(getMaxScaleField(), c);
+		c.gridy = 3;
+		mainDataPanel.add(getWithoutMaxScale(), c);
+
+		c.gridx = 0;
+		c.gridy = 4;
+		c.gridwidth =1;
+		JLabel labelPassword = new JLabel( i18nManager.getTranslation("LegendType")+":");
+		mainDataPanel.add(labelPassword, c);
+
+		c.gridx = 1;
+		c.gridwidth =2;
+		mainDataPanel.add(getLegendTypes(), c);
+
+		mainPanel.add(mainDataPanel, BorderLayout.CENTER);
+		add(mainPanel, BorderLayout.CENTER);
+		
+		add(getButtons(), BorderLayout.SOUTH);
+	}
+	
+	private JCheckBox getWithoutMinScale() {
+		if(minScaleCk == null){
+			minScaleCk = new JCheckBox(i18nManager.getTranslation("without_min_scale"));
+			minScaleCk.addActionListener(new ActionListener() {
+				public void actionPerformed(ActionEvent arg0) {
+					getMinScaleField().setEnabled(!minScaleCk.isSelected());
+				}
+			});
+		}
+		return minScaleCk;
+	}
+	
+	private JCheckBox getWithoutMaxScale() {
+		if(maxScaleCk == null){
+			maxScaleCk = new JCheckBox(i18nManager.getTranslation("without_max_scale"));
+			maxScaleCk.addActionListener(new ActionListener() {
+				public void actionPerformed(ActionEvent arg0) {
+					getMaxScaleField().setEnabled(!maxScaleCk.isSelected());
+				}
+			});
+		}
+		return maxScaleCk;
+	}
+
+	private JPanel getButtons() {
+		JPanel buttons = new JPanel();
+		buttons.add(getAcceptButton());
+		buttons.add(getCancelButton());
+		JPanel aux =new JPanel(new BorderLayout());
+		aux.add(buttons, BorderLayout.EAST);
+		return aux;
+	}
+
+	private JButton getAcceptButton() {
+		if(this.acceptButton == null){
+			this.acceptButton = new JButton( i18nManager.getTranslation("accept"));
+			this.acceptButton.addActionListener(new ActionListener() {
+				public void actionPerformed(ActionEvent arg0) {
+					acceptWindow();
+				}
+			});
+		}
+		return this.acceptButton;
+	}
+
+	protected void acceptWindow() {
+		if(validateValues()){
+			notifyObservers(this, true);
+		}
+	}
+
+	private JButton getCancelButton() {
+		if(this.cancelButton == null){
+			this.cancelButton = new JButton( i18nManager.getTranslation("cancel"));
+			this.cancelButton.addActionListener(new ActionListener() {
+				public void actionPerformed(ActionEvent arg0) {
+					hideWindow();
+				}
+			});
+		}
+		return this.cancelButton;
+	}
+
+	protected void hideWindow() {
+		notifyObservers(this, false);
+	}
+
+	private JSpinner getMaxScaleField() {
+		if(maxScaleTXT == null){
+			SpinnerModel model =
+			        new SpinnerNumberModel(0, 0, 1000000000, 1000000);  
+			maxScaleTXT = new JSpinner(model);
+		}
+		return maxScaleTXT;
+	}
+
+	private JSpinner getMinScaleField() {
+		if(minScaleTXT == null){
+			SpinnerModel model =
+			        new SpinnerNumberModel(0, 0, 1000000000, 1000000);  
+			minScaleTXT = new JSpinner(model);
+		}
+		return minScaleTXT;
+	}
+	
+	private ComboBoxModel getModel(){
+		if(model == null){
+			model = new DefaultComboBoxModel();
+			List<ILegendPanel> legendPanels = 
+					SymbologySwingLocator.getSwingManager().getLegendEditors(layer);
+			Iterator<ILegendPanel> it = legendPanels.iterator();
+			while(it.hasNext()){
+				ILegendPanel legPanel = (ILegendPanel) it.next();
+				if(!((legPanel instanceof AbstractParentPanel) ||
+						(legPanel instanceof DefaultComplexLegendPanelController))){
+					model.addElement(new LegendPanelCombo(legPanel));
+				}
+			}
+			
+		}
+		return model;
+	}
+	
+	public class LegendPanelCombo{
+		
+		private ILegendPanel legendPanel;
+
+		public LegendPanelCombo(ILegendPanel panel){
+			this.legendPanel = panel;
+		}
+		
+		public ILegendPanel getLegendPanel(){
+			return legendPanel;
+		}
+		
+		public String toString(){
+			return this.legendPanel.getTitle();
+		}
+		
+	}
+	
+	private JComboBox getLegendTypes() {
+		if(legendTypeCB == null){
+			legendTypeCB = new JComboBox(getModel());
+			legendTypeCB.setEditable(false);
+			legendTypeCB.addActionListener(new ActionListener() {
+				public void actionPerformed(ActionEvent arg0) {
+					getLegendPanel();
+				}
+			});
+		}
+		return legendTypeCB;
+	}
+
+	public ILegendPanel getLegendPanel() {
+		LegendPanelCombo legPanel = (LegendPanelCombo) getLegendTypes().getSelectedItem();
+		return legPanel.getLegendPanel();
+	}
+	
+	
+	private void setData(ComplexLegendItem cli) {
+		// TODO Auto-generated method stub
+		
+	}
+	
+	public boolean validateValues(){
+		ComplexLegendItem auxLeg = getLegendItem();
+		if(getLegendPanel() == null){
+			createErrorDialog("panel_error_title", "panel_error");
+			return false;
+		}
+		
+		if(getMinScaleField().getValue() == null ||
+				getMaxScaleField().getValue() == null ){
+			createErrorDialog("min_max_error_title", "min_max_error");
+			return false;
+		}
+		
+		if(auxLeg.getMinScale() > auxLeg.getMaxScale()){
+			if(auxLeg.getMaxScale() >= 0){
+				createErrorDialog("min_greather_than_max_error_title", "min_greather_than_max_error");
+				return false;
+			}
+		}
+		
+		if(!complexLegend.getAllowOverlap() && complexLegend.isOverlapped(auxLeg)){
+			createErrorDialog("overlaping_error_title", "overlaping_error");
+			return false;
+		}
+		
+		return true;
+	}
+	
+	private void createErrorDialog(String title, String text){
+		JOptionPane.showMessageDialog(null,
+			    i18nManager.getTranslation(text),
+			    i18nManager.getTranslation(title),
+			    JOptionPane.ERROR_MESSAGE);
+	}
+	
+	
+	
+	public ComplexLegendItem getLegendItem(){
+		if(complexItem == null){
+			complexItem = new DefaultComplexLegendItem();
+		}
+		
+		ILegendPanel panelLegend = getLegendPanel();
+		ILegend leg;
+		try {
+			leg = ((FLyrVect) layer).getLegend();
+			panelLegend.setData(layer, leg);
+			ILegend leg2 =panelLegend.getLegend();
+			if(leg2 != null){
+				complexItem.setLegend(leg2);
+			}
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+		
+		//complexItem.setLegend(getLegendPanel().getLegend());
+		if(getMinScaleField().getValue() != null && !getWithoutMinScale().isSelected()){
+			double min = Double.parseDouble(getMinScaleField().getValue().toString());
+			complexItem.setMinScale(min);
+		}else{
+			complexItem.setMinScale(-1);
+		}
+		if(getMaxScaleField().getValue() != null && !getWithoutMaxScale().isSelected()){
+			double max = Double.parseDouble(getMaxScaleField().getValue().toString());
+			complexItem.setMaxScale(max);
+		}else{
+			complexItem.setMaxScale(-1);
+		}
+		return complexItem;
+	}
+
+	
+	public void addObserver(Observer o) {
+		observers.add(o);
+	}
+
+	public void deleteObserver(Observer o) {
+		observers.remove(o);
+	}
+
+	public void deleteObservers() {
+		observers.clear();
+	}
+	
+	public synchronized void notifyObservers(Observable observable, Object tableName) {
+		for(int i =0; i<this.observers.size(); i++ ) {
+			Observer o = (Observer) this.observers.get(i);
+			o.update(this, tableName);
+		}
+	}
+
+	
+	
+}

Property changes on: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.swing/org.gvsig.complexlegend.swing.impl/src/main/java/org/gvsig/complexlegend/swing/impl/ComplexLegendItemPanel.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.swing/org.gvsig.complexlegend.swing.impl/src/main/java/org/gvsig/complexlegend/swing/impl/DefaultComplexLegendPanelView.xml
===================================================================
--- org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.swing/org.gvsig.complexlegend.swing.impl/src/main/java/org/gvsig/complexlegend/swing/impl/DefaultComplexLegendPanelView.xml	(revision 0)
+++ org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.swing/org.gvsig.complexlegend.swing.impl/src/main/java/org/gvsig/complexlegend/swing/impl/DefaultComplexLegendPanelView.xml	(revision 5862)
@@ -0,0 +1,777 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<object classname="com.jeta.forms.store.memento.FormPackage">
+ <at name="fileversion">
+  <object classname="com.jeta.forms.store.memento.FormsVersion2">
+   <at name="major">2</at>
+   <at name="minor">0</at>
+   <at name="sub">0</at>
+  </object>
+ </at>
+ <at name="form">
+  <object classname="com.jeta.forms.store.memento.FormMemento">
+   <super classname="com.jeta.forms.store.memento.ComponentMemento">
+    <at name="cellconstraints">
+     <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
+      <at name="column">1</at>
+      <at name="row">1</at>
+      <at name="colspan">1</at>
+      <at name="rowspan">1</at>
+      <at name="halign">default</at>
+      <at name="valign">default</at>
+      <at name="insets" object="insets">0,0,0,0</at>
+     </object>
+    </at>
+    <at name="componentclass">com.jeta.forms.gui.form.FormComponent</at>
+   </super>
+   <at name="id">/home/pako/projects/gvSIG/org.gvsig.complexlegend/org.gvsig.complexlegend.swing/org.gvsig.complexlegend.swing.impl/src/main/java/org/gvsig/complexlegend/swing/impl/DefaultComplexLegendPanelView.xml</at>
+   <at name="rowspecs">CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:DEFAULT:NONE,FILL:DEFAULT:GROW(1.0),CENTER:2DLU:NONE</at>
+   <at name="colspecs">FILL:4DLU:NONE,FILL:DEFAULT:GROW(1.0),FILL:4DLU:NONE</at>
+   <at name="components">
+    <object classname="java.util.LinkedList">
+     <item >
+      <at name="value">
+       <object classname="com.jeta.forms.store.memento.FormMemento">
+        <super classname="com.jeta.forms.store.memento.ComponentMemento">
+         <at name="cellconstraints">
+          <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
+           <at name="column">2</at>
+           <at name="row">2</at>
+           <at name="colspan">1</at>
+           <at name="rowspan">1</at>
+           <at name="halign">default</at>
+           <at name="valign">default</at>
+           <at name="insets" object="insets">0,0,0,0</at>
+          </object>
+         </at>
+         <at name="componentclass">com.jeta.forms.gui.form.FormComponent</at>
+        </super>
+        <at name="id">embedded.763457626</at>
+        <at name="rowspecs">CENTER:DEFAULT:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE</at>
+        <at name="colspecs">FILL:DEFAULT:GROW(1.0)</at>
+        <at name="components">
+         <object classname="java.util.LinkedList">
+          <item >
+           <at name="value">
+            <object classname="com.jeta.forms.store.memento.FormMemento">
+             <super classname="com.jeta.forms.store.memento.ComponentMemento">
+              <at name="cellconstraints">
+               <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
+                <at name="column">1</at>
+                <at name="row">2</at>
+                <at name="colspan">1</at>
+                <at name="rowspan">1</at>
+                <at name="halign">default</at>
+                <at name="valign">default</at>
+                <at name="insets" object="insets">0,0,0,0</at>
+               </object>
+              </at>
+              <at name="componentclass">com.jeta.forms.gui.form.FormComponent</at>
+             </super>
+             <at name="id">embedded.1183280059</at>
+             <at name="rowspecs">CENTER:MIN(12DLU;DEFAULT):GROW(1.0)</at>
+             <at name="colspecs">FILL:4DLU:NONE,FILL:MIN(12DLU;DEFAULT):GROW(1.0),FILL:4DLU:NONE,FILL:DEFAULT:NONE,FILL:4DLU:NONE,FILL:DEFAULT:NONE,FILL:4DLU:NONE,FILL:DEFAULT:NONE,FILL:4DLU:NONE</at>
+             <at name="components">
+              <object classname="java.util.LinkedList">
+               <item >
+                <at name="value">
+                 <object classname="com.jeta.forms.store.memento.BeanMemento">
+                  <super classname="com.jeta.forms.store.memento.ComponentMemento">
+                   <at name="cellconstraints">
+                    <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
+                     <at name="column">2</at>
+                     <at name="row">1</at>
+                     <at name="colspan">1</at>
+                     <at name="rowspan">1</at>
+                     <at name="halign">default</at>
+                     <at name="valign">default</at>
+                     <at name="insets" object="insets">0,0,0,0</at>
+                    </object>
+                   </at>
+                   <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
+                  </super>
+                  <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
+                  <at name="beanclass">javax.swing.JComboBox</at>
+                  <at name="beanproperties">
+                   <object classname="com.jeta.forms.store.memento.PropertiesMemento">
+                    <at name="classname">javax.swing.JComboBox</at>
+                    <at name="properties">
+                     <object classname="com.jeta.forms.store.support.PropertyMap">
+                      <at name="border">
+                       <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
+                        <super classname="com.jeta.forms.store.properties.BorderProperty">
+                         <at name="name">border</at>
+                        </super>
+                        <at name="borders">
+                         <object classname="java.util.LinkedList">
+                          <item >
+                           <at name="value">
+                            <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
+                             <super classname="com.jeta.forms.store.properties.BorderProperty">
+                              <at name="name">border</at>
+                             </super>
+                            </object>
+                           </at>
+                          </item>
+                         </object>
+                        </at>
+                       </object>
+                      </at>
+                      <at name="name">cmbValue</at>
+                      <at name="width">1146</at>
+                      <at name="items">
+                       <object classname="com.jeta.forms.store.properties.ItemsProperty">
+                        <at name="name">items</at>
+                       </object>
+                      </at>
+                      <at name="height">14</at>
+                     </object>
+                    </at>
+                   </object>
+                  </at>
+                 </object>
+                </at>
+               </item>
+               <item >
+                <at name="value">
+                 <object classname="com.jeta.forms.store.memento.BeanMemento">
+                  <super classname="com.jeta.forms.store.memento.ComponentMemento">
+                   <at name="cellconstraints">
+                    <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
+                     <at name="column">4</at>
+                     <at name="row">1</at>
+                     <at name="colspan">1</at>
+                     <at name="rowspan">1</at>
+                     <at name="halign">default</at>
+                     <at name="valign">default</at>
+                     <at name="insets" object="insets">0,0,0,0</at>
+                    </object>
+                   </at>
+                   <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
+                  </super>
+                  <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
+                  <at name="beanclass">javax.swing.JButton</at>
+                  <at name="beanproperties">
+                   <object classname="com.jeta.forms.store.memento.PropertiesMemento">
+                    <at name="classname">javax.swing.JButton</at>
+                    <at name="properties">
+                     <object classname="com.jeta.forms.store.support.PropertyMap">
+                      <at name="border">
+                       <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
+                        <super classname="com.jeta.forms.store.properties.BorderProperty">
+                         <at name="name">border</at>
+                        </super>
+                        <at name="borders">
+                         <object classname="java.util.LinkedList">
+                          <item >
+                           <at name="value">
+                            <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
+                             <super classname="com.jeta.forms.store.properties.BorderProperty">
+                              <at name="name">border</at>
+                             </super>
+                            </object>
+                           </at>
+                          </item>
+                         </object>
+                        </at>
+                       </object>
+                      </at>
+                      <at name="name">addButton</at>
+                      <at name="width">32</at>
+                      <at name="toolTipText">legend-add</at>
+                      <at name="height">12</at>
+                     </object>
+                    </at>
+                   </object>
+                  </at>
+                 </object>
+                </at>
+               </item>
+               <item >
+                <at name="value">
+                 <object classname="com.jeta.forms.store.memento.BeanMemento">
+                  <super classname="com.jeta.forms.store.memento.ComponentMemento">
+                   <at name="cellconstraints">
+                    <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
+                     <at name="column">6</at>
+                     <at name="row">1</at>
+                     <at name="colspan">1</at>
+                     <at name="rowspan">1</at>
+                     <at name="halign">default</at>
+                     <at name="valign">default</at>
+                     <at name="insets" object="insets">0,0,0,0</at>
+                    </object>
+                   </at>
+                   <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
+                  </super>
+                  <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
+                  <at name="beanclass">javax.swing.JButton</at>
+                  <at name="beanproperties">
+                   <object classname="com.jeta.forms.store.memento.PropertiesMemento">
+                    <at name="classname">javax.swing.JButton</at>
+                    <at name="properties">
+                     <object classname="com.jeta.forms.store.support.PropertyMap">
+                      <at name="border">
+                       <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
+                        <super classname="com.jeta.forms.store.properties.BorderProperty">
+                         <at name="name">border</at>
+                        </super>
+                        <at name="borders">
+                         <object classname="java.util.LinkedList">
+                          <item >
+                           <at name="value">
+                            <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
+                             <super classname="com.jeta.forms.store.properties.BorderProperty">
+                              <at name="name">border</at>
+                             </super>
+                            </object>
+                           </at>
+                          </item>
+                         </object>
+                        </at>
+                       </object>
+                      </at>
+                      <at name="name">removeButton</at>
+                      <at name="width">32</at>
+                      <at name="height">12</at>
+                     </object>
+                    </at>
+                   </object>
+                  </at>
+                 </object>
+                </at>
+               </item>
+               <item >
+                <at name="value">
+                 <object classname="com.jeta.forms.store.memento.BeanMemento">
+                  <super classname="com.jeta.forms.store.memento.ComponentMemento">
+                   <at name="cellconstraints">
+                    <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
+                     <at name="column">8</at>
+                     <at name="row">1</at>
+                     <at name="colspan">1</at>
+                     <at name="rowspan">1</at>
+                     <at name="halign">default</at>
+                     <at name="valign">default</at>
+                     <at name="insets" object="insets">0,0,0,0</at>
+                    </object>
+                   </at>
+                   <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
+                  </super>
+                  <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
+                  <at name="beanclass">javax.swing.JCheckBox</at>
+                  <at name="beanproperties">
+                   <object classname="com.jeta.forms.store.memento.PropertiesMemento">
+                    <at name="classname">javax.swing.JCheckBox</at>
+                    <at name="properties">
+                     <object classname="com.jeta.forms.store.support.PropertyMap">
+                      <at name="border">
+                       <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
+                        <super classname="com.jeta.forms.store.properties.BorderProperty">
+                         <at name="name">border</at>
+                        </super>
+                        <at name="borders">
+                         <object classname="java.util.LinkedList">
+                          <item >
+                           <at name="value">
+                            <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
+                             <super classname="com.jeta.forms.store.properties.BorderProperty">
+                              <at name="name">border</at>
+                             </super>
+                            </object>
+                           </at>
+                          </item>
+                         </object>
+                        </at>
+                       </object>
+                      </at>
+                      <at name="actionCommand">_Allow_overlap_drawing_legends</at>
+                      <at name="name">chkAllowOverlap</at>
+                      <at name="width">204</at>
+                      <at name="text">_Allow_overlap_drawing_legends</at>
+                      <at name="toolTipText">_Allow_overlap_drawing_legends</at>
+                      <at name="height">14</at>
+                     </object>
+                    </at>
+                   </object>
+                  </at>
+                 </object>
+                </at>
+               </item>
+              </object>
+             </at>
+             <at name="properties">
+              <object classname="com.jeta.forms.store.memento.PropertiesMemento">
+               <at name="classname">com.jeta.forms.gui.form.GridView</at>
+               <at name="properties">
+                <object classname="com.jeta.forms.store.support.PropertyMap">
+                 <at name="border">
+                  <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
+                   <super classname="com.jeta.forms.store.properties.BorderProperty">
+                    <at name="name">border</at>
+                   </super>
+                   <at name="borders">
+                    <object classname="java.util.LinkedList"/>
+                   </at>
+                  </object>
+                 </at>
+                 <at name="name"></at>
+                 <at name="fill">
+                  <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
+                   <at name="name">fill</at>
+                  </object>
+                 </at>
+                 <at name="scollBars">
+                  <object classname="com.jeta.forms.store.properties.ScrollBarsProperty">
+                   <at name="name">scollBars</at>
+                   <at name="verticalpolicy">21</at>
+                   <at name="horizontalpolicy">31</at>
+                   <at name="border">
+                    <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
+                     <super classname="com.jeta.forms.store.properties.BorderProperty">
+                      <at name="name">border</at>
+                     </super>
+                     <at name="borders">
+                      <object classname="java.util.LinkedList">
+                       <item >
+                        <at name="value">
+                         <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
+                          <super classname="com.jeta.forms.store.properties.BorderProperty">
+                           <at name="name">border</at>
+                          </super>
+                         </object>
+                        </at>
+                       </item>
+                      </object>
+                     </at>
+                    </object>
+                   </at>
+                  </object>
+                 </at>
+                </object>
+               </at>
+              </object>
+             </at>
+             <at name="cellpainters">
+              <object classname="com.jeta.forms.store.support.Matrix">
+               <at name="rows">
+                <object classname="[Ljava.lang.Object;" size="1">
+                 <at name="item" index="0">
+                  <object classname="[Ljava.lang.Object;" size="9"/>
+                 </at>
+                </object>
+               </at>
+              </object>
+             </at>
+             <at name="rowgroups">
+              <object classname="com.jeta.forms.store.memento.FormGroupSet">
+               <at name="groups">
+                <object classname="java.util.HashMap"/>
+               </at>
+              </object>
+             </at>
+             <at name="colgroups">
+              <object classname="com.jeta.forms.store.memento.FormGroupSet">
+               <at name="groups">
+                <object classname="java.util.HashMap"/>
+               </at>
+              </object>
+             </at>
+            </object>
+           </at>
+          </item>
+          <item >
+           <at name="value">
+            <object classname="com.jeta.forms.store.memento.BeanMemento">
+             <super classname="com.jeta.forms.store.memento.ComponentMemento">
+              <at name="cellconstraints">
+               <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
+                <at name="column">1</at>
+                <at name="row">1</at>
+                <at name="colspan">1</at>
+                <at name="rowspan">1</at>
+                <at name="halign">default</at>
+                <at name="valign">default</at>
+                <at name="insets" object="insets">0,0,0,0</at>
+               </object>
+              </at>
+              <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
+             </super>
+             <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
+             <at name="beanclass">com.jeta.forms.components.separator.TitledSeparator</at>
+             <at name="beanproperties">
+              <object classname="com.jeta.forms.store.memento.PropertiesMemento">
+               <at name="classname">com.jeta.forms.components.separator.TitledSeparator</at>
+               <at name="properties">
+                <object classname="com.jeta.forms.store.support.PropertyMap">
+                 <at name="border">
+                  <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
+                   <super classname="com.jeta.forms.store.properties.BorderProperty">
+                    <at name="name">border</at>
+                   </super>
+                   <at name="borders">
+                    <object classname="java.util.LinkedList">
+                     <item >
+                      <at name="value">
+                       <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
+                        <super classname="com.jeta.forms.store.properties.BorderProperty">
+                         <at name="name">border</at>
+                        </super>
+                       </object>
+                      </at>
+                     </item>
+                    </object>
+                   </at>
+                  </object>
+                 </at>
+                 <at name="name">legendPanelTitle</at>
+                 <at name="width">1466</at>
+                 <at name="text">select_scale</at>
+                 <at name="height">15</at>
+                </object>
+               </at>
+              </object>
+             </at>
+            </object>
+           </at>
+          </item>
+         </object>
+        </at>
+        <at name="properties">
+         <object classname="com.jeta.forms.store.memento.PropertiesMemento">
+          <at name="classname">com.jeta.forms.gui.form.GridView</at>
+          <at name="properties">
+           <object classname="com.jeta.forms.store.support.PropertyMap">
+            <at name="border">
+             <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
+              <super classname="com.jeta.forms.store.properties.BorderProperty">
+               <at name="name">border</at>
+              </super>
+              <at name="borders">
+               <object classname="java.util.LinkedList"/>
+              </at>
+             </object>
+            </at>
+            <at name="name">fieldsPanel</at>
+            <at name="fill">
+             <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
+              <at name="name">fill</at>
+             </object>
+            </at>
+            <at name="scollBars">
+             <object classname="com.jeta.forms.store.properties.ScrollBarsProperty">
+              <at name="name">scollBars</at>
+              <at name="verticalpolicy">21</at>
+              <at name="horizontalpolicy">31</at>
+              <at name="border">
+               <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
+                <super classname="com.jeta.forms.store.properties.BorderProperty">
+                 <at name="name">border</at>
+                </super>
+                <at name="borders">
+                 <object classname="java.util.LinkedList">
+                  <item >
+                   <at name="value">
+                    <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
+                     <super classname="com.jeta.forms.store.properties.BorderProperty">
+                      <at name="name">border</at>
+                     </super>
+                    </object>
+                   </at>
+                  </item>
+                 </object>
+                </at>
+               </object>
+              </at>
+             </object>
+            </at>
+           </object>
+          </at>
+         </object>
+        </at>
+        <at name="cellpainters">
+         <object classname="com.jeta.forms.store.support.Matrix">
+          <at name="rows">
+           <object classname="[Ljava.lang.Object;" size="3">
+            <at name="item" index="0">
+             <object classname="[Ljava.lang.Object;" size="1"/>
+            </at>
+            <at name="item" index="1">
+             <object classname="[Ljava.lang.Object;" size="1"/>
+            </at>
+            <at name="item" index="2">
+             <object classname="[Ljava.lang.Object;" size="1"/>
+            </at>
+           </object>
+          </at>
+         </object>
+        </at>
+        <at name="rowgroups">
+         <object classname="com.jeta.forms.store.memento.FormGroupSet">
+          <at name="groups">
+           <object classname="java.util.HashMap"/>
+          </at>
+         </object>
+        </at>
+        <at name="colgroups">
+         <object classname="com.jeta.forms.store.memento.FormGroupSet">
+          <at name="groups">
+           <object classname="java.util.HashMap"/>
+          </at>
+         </object>
+        </at>
+       </object>
+      </at>
+     </item>
+     <item >
+      <at name="value">
+       <object classname="com.jeta.forms.store.memento.FormMemento">
+        <super classname="com.jeta.forms.store.memento.ComponentMemento">
+         <at name="cellconstraints">
+          <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
+           <at name="column">2</at>
+           <at name="row">4</at>
+           <at name="colspan">1</at>
+           <at name="rowspan">1</at>
+           <at name="halign">default</at>
+           <at name="valign">default</at>
+           <at name="insets" object="insets">0,0,0,0</at>
+          </object>
+         </at>
+         <at name="componentclass">com.jeta.forms.gui.form.FormComponent</at>
+        </super>
+        <at name="id">embedded.567923831</at>
+        <at name="rowspecs">FILL:DEFAULT:GROW(1.0)</at>
+        <at name="colspecs">FILL:DEFAULT:GROW(1.0)</at>
+        <at name="components">
+         <object classname="java.util.LinkedList"/>
+        </at>
+        <at name="properties">
+         <object classname="com.jeta.forms.store.memento.PropertiesMemento">
+          <at name="classname">com.jeta.forms.gui.form.GridView</at>
+          <at name="properties">
+           <object classname="com.jeta.forms.store.support.PropertyMap">
+            <at name="border">
+             <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
+              <super classname="com.jeta.forms.store.properties.BorderProperty">
+               <at name="name">border</at>
+              </super>
+              <at name="borders">
+               <object classname="java.util.LinkedList"/>
+              </at>
+             </object>
+            </at>
+            <at name="name">symbolPanel</at>
+            <at name="fill">
+             <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
+              <at name="name">fill</at>
+             </object>
+            </at>
+            <at name="scollBars">
+             <object classname="com.jeta.forms.store.properties.ScrollBarsProperty">
+              <at name="name">scollBars</at>
+              <at name="verticalpolicy">21</at>
+              <at name="horizontalpolicy">31</at>
+              <at name="border">
+               <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
+                <super classname="com.jeta.forms.store.properties.BorderProperty">
+                 <at name="name">border</at>
+                </super>
+                <at name="borders">
+                 <object classname="java.util.LinkedList">
+                  <item >
+                   <at name="value">
+                    <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
+                     <super classname="com.jeta.forms.store.properties.BorderProperty">
+                      <at name="name">border</at>
+                     </super>
+                    </object>
+                   </at>
+                  </item>
+                 </object>
+                </at>
+               </object>
+              </at>
+             </object>
+            </at>
+           </object>
+          </at>
+         </object>
+        </at>
+        <at name="cellpainters">
+         <object classname="com.jeta.forms.store.support.Matrix">
+          <at name="rows">
+           <object classname="[Ljava.lang.Object;" size="1">
+            <at name="item" index="0">
+             <object classname="[Ljava.lang.Object;" size="1"/>
+            </at>
+           </object>
+          </at>
+         </object>
+        </at>
+        <at name="rowgroups">
+         <object classname="com.jeta.forms.store.memento.FormGroupSet">
+          <at name="groups">
+           <object classname="java.util.HashMap"/>
+          </at>
+         </object>
+        </at>
+        <at name="colgroups">
+         <object classname="com.jeta.forms.store.memento.FormGroupSet">
+          <at name="groups">
+           <object classname="java.util.HashMap"/>
+          </at>
+         </object>
+        </at>
+       </object>
+      </at>
+     </item>
+     <item >
+      <at name="value">
+       <object classname="com.jeta.forms.store.memento.BeanMemento">
+        <super classname="com.jeta.forms.store.memento.ComponentMemento">
+         <at name="cellconstraints">
+          <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
+           <at name="column">2</at>
+           <at name="row">3</at>
+           <at name="colspan">1</at>
+           <at name="rowspan">1</at>
+           <at name="halign">default</at>
+           <at name="valign">default</at>
+           <at name="insets" object="insets">0,0,0,0</at>
+          </object>
+         </at>
+         <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
+        </super>
+        <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
+        <at name="beanclass">com.jeta.forms.components.separator.TitledSeparator</at>
+        <at name="beanproperties">
+         <object classname="com.jeta.forms.store.memento.PropertiesMemento">
+          <at name="classname">com.jeta.forms.components.separator.TitledSeparator</at>
+          <at name="properties">
+           <object classname="com.jeta.forms.store.support.PropertyMap">
+            <at name="border">
+             <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
+              <super classname="com.jeta.forms.store.properties.BorderProperty">
+               <at name="name">border</at>
+              </super>
+              <at name="borders">
+               <object classname="java.util.LinkedList">
+                <item >
+                 <at name="value">
+                  <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
+                   <super classname="com.jeta.forms.store.properties.BorderProperty">
+                    <at name="name">border</at>
+                   </super>
+                  </object>
+                 </at>
+                </item>
+               </object>
+              </at>
+             </object>
+            </at>
+            <at name="name">symbolPanelTitle</at>
+            <at name="width">1471</at>
+            <at name="text">legend_definition</at>
+            <at name="height">15</at>
+           </object>
+          </at>
+         </object>
+        </at>
+       </object>
+      </at>
+     </item>
+    </object>
+   </at>
+   <at name="properties">
+    <object classname="com.jeta.forms.store.memento.PropertiesMemento">
+     <at name="classname">com.jeta.forms.gui.form.GridView</at>
+     <at name="properties">
+      <object classname="com.jeta.forms.store.support.PropertyMap">
+       <at name="border">
+        <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
+         <super classname="com.jeta.forms.store.properties.BorderProperty">
+          <at name="name">border</at>
+         </super>
+         <at name="borders">
+          <object classname="java.util.LinkedList"/>
+         </at>
+        </object>
+       </at>
+       <at name="name"/>
+       <at name="fill">
+        <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
+         <at name="name">fill</at>
+        </object>
+       </at>
+       <at name="scollBars">
+        <object classname="com.jeta.forms.store.properties.ScrollBarsProperty">
+         <at name="name">scollBars</at>
+         <at name="verticalpolicy">21</at>
+         <at name="horizontalpolicy">31</at>
+         <at name="border">
+          <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
+           <super classname="com.jeta.forms.store.properties.BorderProperty">
+            <at name="name">border</at>
+           </super>
+           <at name="borders">
+            <object classname="java.util.LinkedList">
+             <item >
+              <at name="value">
+               <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
+                <super classname="com.jeta.forms.store.properties.BorderProperty">
+                 <at name="name">border</at>
+                </super>
+               </object>
+              </at>
+             </item>
+            </object>
+           </at>
+          </object>
+         </at>
+        </object>
+       </at>
+      </object>
+     </at>
+    </object>
+   </at>
+   <at name="cellpainters">
+    <object classname="com.jeta.forms.store.support.Matrix">
+     <at name="rows">
+      <object classname="[Ljava.lang.Object;" size="5">
+       <at name="item" index="0">
+        <object classname="[Ljava.lang.Object;" size="3"/>
+       </at>
+       <at name="item" index="1">
+        <object classname="[Ljava.lang.Object;" size="3"/>
+       </at>
+       <at name="item" index="2">
+        <object classname="[Ljava.lang.Object;" size="3"/>
+       </at>
+       <at name="item" index="3">
+        <object classname="[Ljava.lang.Object;" size="3"/>
+       </at>
+       <at name="item" index="4">
+        <object classname="[Ljava.lang.Object;" size="3"/>
+       </at>
+      </object>
+     </at>
+    </object>
+   </at>
+   <at name="rowgroups">
+    <object classname="com.jeta.forms.store.memento.FormGroupSet">
+     <at name="groups">
+      <object classname="java.util.HashMap"/>
+     </at>
+    </object>
+   </at>
+   <at name="colgroups">
+    <object classname="com.jeta.forms.store.memento.FormGroupSet">
+     <at name="groups">
+      <object classname="java.util.HashMap"/>
+     </at>
+    </object>
+   </at>
+  </object>
+ </at>
+</object>
Index: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.swing/org.gvsig.complexlegend.swing.impl/src/main/java/org/gvsig/complexlegend/swing/impl/DefaultComplexLegendPanelView.java
===================================================================
--- org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.swing/org.gvsig.complexlegend.swing.impl/src/main/java/org/gvsig/complexlegend/swing/impl/DefaultComplexLegendPanelView.java	(revision 0)
+++ org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.swing/org.gvsig.complexlegend.swing.impl/src/main/java/org/gvsig/complexlegend/swing/impl/DefaultComplexLegendPanelView.java	(revision 5862)
@@ -0,0 +1,198 @@
+package org.gvsig.complexlegend.swing.impl;
+
+import com.jeta.forms.components.separator.TitledSeparator;
+import com.jgoodies.forms.layout.CellConstraints;
+import com.jgoodies.forms.layout.FormLayout;
+import java.awt.BorderLayout;
+import java.awt.ComponentOrientation;
+import java.awt.Container;
+import java.awt.Dimension;
+import javax.swing.Box;
+import javax.swing.ImageIcon;
+import javax.swing.JButton;
+import javax.swing.JCheckBox;
+import javax.swing.JComboBox;
+import javax.swing.JFrame;
+import javax.swing.JPanel;
+
+
+public class DefaultComplexLegendPanelView extends JPanel
+{
+   JPanel fieldsPanel = new JPanel();
+   JComboBox cmbValue = new JComboBox();
+   JButton addButton = new JButton();
+   JButton removeButton = new JButton();
+   JCheckBox chkAllowOverlap = new JCheckBox();
+   TitledSeparator legendPanelTitle = new TitledSeparator();
+   JPanel symbolPanel = new JPanel();
+   TitledSeparator symbolPanelTitle = new TitledSeparator();
+
+   /**
+    * Default constructor
+    */
+   public DefaultComplexLegendPanelView()
+   {
+      initializePanel();
+   }
+
+   /**
+    * Adds fill components to empty cells in the first row and first column of the grid.
+    * This ensures that the grid spacing will be the same as shown in the designer.
+    * @param cols an array of column indices in the first row where fill components should be added.
+    * @param rows an array of row indices in the first column where fill components should be added.
+    */
+   void addFillComponents( Container panel, int[] cols, int[] rows )
+   {
+      Dimension filler = new Dimension(10,10);
+
+      boolean filled_cell_11 = false;
+      CellConstraints cc = new CellConstraints();
+      if ( cols.length > 0 && rows.length > 0 )
+      {
+         if ( cols[0] == 1 && rows[0] == 1 )
+         {
+            /** add a rigid area  */
+            panel.add( Box.createRigidArea( filler ), cc.xy(1,1) );
+            filled_cell_11 = true;
+         }
+      }
+
+      for( int index = 0; index < cols.length; index++ )
+      {
+         if ( cols[index] == 1 && filled_cell_11 )
+         {
+            continue;
+         }
+         panel.add( Box.createRigidArea( filler ), cc.xy(cols[index],1) );
+      }
+
+      for( int index = 0; index < rows.length; index++ )
+      {
+         if ( rows[index] == 1 && filled_cell_11 )
+         {
+            continue;
+         }
+         panel.add( Box.createRigidArea( filler ), cc.xy(1,rows[index]) );
+      }
+
+   }
+
+   /**
+    * Helper method to load an image file from the CLASSPATH
+    * @param imageName the package and name of the file to load relative to the CLASSPATH
+    * @return an ImageIcon instance with the specified image file
+    * @throws IllegalArgumentException if the image resource cannot be loaded.
+    */
+   public ImageIcon loadImage( String imageName )
+   {
+      try
+      {
+         ClassLoader classloader = getClass().getClassLoader();
+         java.net.URL url = classloader.getResource( imageName );
+         if ( url != null )
+         {
+            ImageIcon icon = new ImageIcon( url );
+            return icon;
+         }
+      }
+      catch( Exception e )
+      {
+         e.printStackTrace();
+      }
+      throw new IllegalArgumentException( "Unable to load image: " + imageName );
+   }
+
+   /**
+    * Method for recalculating the component orientation for 
+    * right-to-left Locales.
+    * @param orientation the component orientation to be applied
+    */
+   public void applyComponentOrientation( ComponentOrientation orientation )
+   {
+      // Not yet implemented...
+      // I18NUtils.applyComponentOrientation(this, orientation);
+      super.applyComponentOrientation(orientation);
+   }
+
+   public JPanel createPanel()
+   {
+      JPanel jpanel1 = new JPanel();
+      FormLayout formlayout1 = new FormLayout("FILL:4DLU:NONE,FILL:DEFAULT:GROW(1.0),FILL:4DLU:NONE","CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:DEFAULT:NONE,FILL:DEFAULT:GROW(1.0),CENTER:2DLU:NONE");
+      CellConstraints cc = new CellConstraints();
+      jpanel1.setLayout(formlayout1);
+
+      jpanel1.add(createfieldsPanel(),cc.xy(2,2));
+      jpanel1.add(createsymbolPanel(),cc.xy(2,4));
+      symbolPanelTitle.setName("symbolPanelTitle");
+      symbolPanelTitle.setText("legend_definition");
+      jpanel1.add(symbolPanelTitle,cc.xy(2,3));
+
+      addFillComponents(jpanel1,new int[]{ 1,2,3 },new int[]{ 1,2,3,4,5 });
+      return jpanel1;
+   }
+
+   public JPanel createfieldsPanel()
+   {
+      fieldsPanel.setName("fieldsPanel");
+      FormLayout formlayout1 = new FormLayout("FILL:DEFAULT:GROW(1.0)","CENTER:DEFAULT:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE");
+      CellConstraints cc = new CellConstraints();
+      fieldsPanel.setLayout(formlayout1);
+
+      fieldsPanel.add(createPanel1(),cc.xy(1,2));
+      legendPanelTitle.setName("legendPanelTitle");
+      legendPanelTitle.setText("select_scale");
+      fieldsPanel.add(legendPanelTitle,cc.xy(1,1));
+
+      addFillComponents(fieldsPanel,new int[0],new int[]{ 2,3 });
+      return fieldsPanel;
+   }
+
+   public JPanel createPanel1()
+   {
+      JPanel jpanel1 = new JPanel();
+      FormLayout formlayout1 = new FormLayout("FILL:4DLU:NONE,FILL:MIN(12DLU;DEFAULT):GROW(1.0),FILL:4DLU:NONE,FILL:DEFAULT:NONE,FILL:4DLU:NONE,FILL:DEFAULT:NONE,FILL:4DLU:NONE,FILL:DEFAULT:NONE,FILL:4DLU:NONE","CENTER:MIN(12DLU;DEFAULT):GROW(1.0)");
+      CellConstraints cc = new CellConstraints();
+      jpanel1.setLayout(formlayout1);
+
+      cmbValue.setName("cmbValue");
+      jpanel1.add(cmbValue,cc.xy(2,1));
+
+      addButton.setName("addButton");
+      addButton.setToolTipText("legend-add");
+      jpanel1.add(addButton,cc.xy(4,1));
+
+      removeButton.setName("removeButton");
+      jpanel1.add(removeButton,cc.xy(6,1));
+
+      chkAllowOverlap.setActionCommand("_Allow_overlap_drawing_legends");
+      chkAllowOverlap.setName("chkAllowOverlap");
+      chkAllowOverlap.setText("_Allow_overlap_drawing_legends");
+      chkAllowOverlap.setToolTipText("_Allow_overlap_drawing_legends");
+      jpanel1.add(chkAllowOverlap,cc.xy(8,1));
+
+      addFillComponents(jpanel1,new int[]{ 1,3,5,7,9 },new int[]{ 1 });
+      return jpanel1;
+   }
+
+   public JPanel createsymbolPanel()
+   {
+      symbolPanel.setName("symbolPanel");
+      FormLayout formlayout1 = new FormLayout("FILL:DEFAULT:GROW(1.0)","FILL:DEFAULT:GROW(1.0)");
+      CellConstraints cc = new CellConstraints();
+      symbolPanel.setLayout(formlayout1);
+
+      addFillComponents(symbolPanel,new int[]{ 1 },new int[]{ 1 });
+      return symbolPanel;
+   }
+
+   /**
+    * Initializer
+    */
+   protected void initializePanel()
+   {
+      setLayout(new BorderLayout());
+      add(createPanel(), BorderLayout.CENTER);
+   }
+
+
+}
Index: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.swing/org.gvsig.complexlegend.swing.impl/src/main/java/org/gvsig/complexlegend/swing/impl/DefaultComplexLegendSwingLibrary.java
===================================================================
--- org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.swing/org.gvsig.complexlegend.swing.impl/src/main/java/org/gvsig/complexlegend/swing/impl/DefaultComplexLegendSwingLibrary.java	(revision 0)
+++ org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.swing/org.gvsig.complexlegend.swing.impl/src/main/java/org/gvsig/complexlegend/swing/impl/DefaultComplexLegendSwingLibrary.java	(revision 5862)
@@ -0,0 +1,59 @@
+/* gvSIG. Geographic Information System of the Valencian Government
+ *
+ * Copyright (C) 2007-2008 Infrastructures and Transports Department
+ * of the Valencian Government (CIT)
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ */
+package org.gvsig.complexlegend.swing.impl;
+
+import org.gvsig.andami.IconThemeHelper;
+import org.gvsig.app.project.documents.view.legend.gui.LegendManager;
+import org.gvsig.complexlegend.swing.ComplexLegendPanel;
+import org.gvsig.complexlegend.swing.ComplexLegendSwingLibrary;
+import org.gvsig.symbology.swing.SymbologySwingLocator;
+import org.gvsig.tools.library.AbstractLibrary;
+import org.gvsig.tools.library.LibraryException;
+
+/**
+ * Library for default swing implementation initialization and configuration.
+ * 
+ * @author gvSIG team
+ * @version $Id$
+ */
+public class DefaultComplexLegendSwingLibrary extends AbstractLibrary {
+
+
+	@Override
+	public void doRegistration() {
+		registerAsImplementationOf(ComplexLegendSwingLibrary.class);
+	}
+	
+    @Override
+    protected void doInitialize() throws LibraryException {
+    }
+
+    @Override
+    protected void doPostInitialize() throws LibraryException {
+//    	IconThemeHelper.registerIcon("chart", "chart-edit-add", this);
+    	IconThemeHelper.registerIcon("legend", "scaled-symbols", this);
+    	IconThemeHelper.registerIcon("legend", "legend-add", this);
+    	IconThemeHelper.registerIcon("legend", "legend-delete", this);
+    	
+    }
+
+}

Property changes on: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.swing/org.gvsig.complexlegend.swing.impl/src/main/java/org/gvsig/complexlegend/swing/impl/DefaultComplexLegendSwingLibrary.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.swing/org.gvsig.complexlegend.swing.impl/pom.xml
===================================================================
--- org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.swing/org.gvsig.complexlegend.swing.impl/pom.xml	(revision 0)
+++ org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.swing/org.gvsig.complexlegend.swing.impl/pom.xml	(revision 5862)
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<artifactId>org.gvsig.complexlegend.swing.impl</artifactId>
+	<packaging>jar</packaging>
+	<name>org.gvsig.complexlegend.swing.impl</name>
+	<parent>
+		<groupId>org.gvsig</groupId>
+		<artifactId>org.gvsig.complexlegend.swing</artifactId>
+		<version>1.0.160</version>
+	</parent>
+	<dependencies>
+		<dependency>
+			<groupId>org.gvsig</groupId>
+			<artifactId> org.gvsig.app.mainplugin</artifactId>
+			<scope>compile</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.gvsig</groupId>
+			<artifactId> org.gvsig.andami</artifactId>
+			<scope>compile</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.gvsig</groupId>
+			<artifactId>org.gvsig.fmap.geometry.api</artifactId>
+			<scope>compile</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.gvsig</groupId>
+			<artifactId>org.gvsig.complexlegend.lib.api</artifactId>
+		</dependency>
+		<dependency>
+			<groupId>org.gvsig</groupId>
+			<artifactId>org.gvsig.complexlegend.lib.impl</artifactId>
+			<scope>compile</scope>
+		</dependency>
+		<dependency>
+			<groupId>org.gvsig</groupId>
+			<artifactId>org.gvsig.complexlegend.swing.api</artifactId>
+			<scope>compile</scope>
+		</dependency>
+		<dependency>
+            <groupId>org.gvsig</groupId>
+            <artifactId>org.gvsig.tools.swing.api</artifactId>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.gvsig</groupId>
+            <artifactId>org.gvsig.app.mainplugin</artifactId>
+            <scope>compile</scope>
+        </dependency>
+		<dependency>
+            <groupId>org.gvsig</groupId>
+            <artifactId>org.gvsig.symbology.swing.api</artifactId>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.gvsig</groupId>
+            <artifactId>org.gvsig.symbology.swing.impl</artifactId>
+            <scope>compile</scope>
+        </dependency>
+	</dependencies>
+</project>
\ No newline at end of file

Property changes on: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.swing/org.gvsig.complexlegend.swing.impl/pom.xml
___________________________________________________________________
Added: svn:mime-type
   + text/plain


Property changes on: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.swing/org.gvsig.complexlegend.swing.impl
___________________________________________________________________
Added: svn:ignore
   + target

.settings

.classpath

.project


Index: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.swing/org.gvsig.complexlegend.swing.api/pom.xml
===================================================================
--- org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.swing/org.gvsig.complexlegend.swing.api/pom.xml	(revision 0)
+++ org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.swing/org.gvsig.complexlegend.swing.api/pom.xml	(revision 5862)
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<artifactId>org.gvsig.complexlegend.swing.api</artifactId>
+	<packaging>jar</packaging>
+	<name>org.gvsig.complexlegend.swing.api</name>
+	<parent>
+		<groupId>org.gvsig</groupId>
+		<artifactId>org.gvsig.complexlegend.swing</artifactId>
+		<version>1.0.160</version>
+	</parent>
+	<build>
+		<plugins>
+			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-jar-plugin</artifactId>
+				<configuration>
+				</configuration>
+				<executions>
+				<!--
+				Generates a jar file only with the test classes
+				-->
+					<execution>
+						<goals>
+							<goal>test-jar</goal>
+						</goals>
+					</execution>
+				</executions>
+			</plugin>
+		</plugins>
+	</build>
+	<dependencies>
+		<dependency>
+			<groupId>org.gvsig</groupId>
+			<artifactId>org.gvsig.complexlegend.lib.api</artifactId>
+		</dependency>
+		<dependency>
+			<groupId>org.gvsig</groupId>
+			<artifactId>org.gvsig.app.mainplugin</artifactId>
+		</dependency>
+	</dependencies>
+</project>
\ No newline at end of file

Property changes on: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.swing/org.gvsig.complexlegend.swing.api/pom.xml
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.swing/org.gvsig.complexlegend.swing.api/src/main/java/org/gvsig/complexlegend/swing/ComplexLegendSwingLibrary.java
===================================================================
--- org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.swing/org.gvsig.complexlegend.swing.api/src/main/java/org/gvsig/complexlegend/swing/ComplexLegendSwingLibrary.java	(revision 0)
+++ org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.swing/org.gvsig.complexlegend.swing.api/src/main/java/org/gvsig/complexlegend/swing/ComplexLegendSwingLibrary.java	(revision 5862)
@@ -0,0 +1,60 @@
+/* gvSIG. Geographic Information System of the Valencian Government
+ *
+ * Copyright (C) 2007-2008 Infrastructures and Transports Department
+ * of the Valencian Government (CIT)
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA  02110-1301, USA.
+ *
+ */
+package org.gvsig.complexlegend.swing;
+
+import org.gvsig.app.project.documents.view.legend.gui.LegendManager;
+import org.gvsig.complexlegend.ComplexLegendLibrary;
+import org.gvsig.tools.library.AbstractLibrary;
+import org.gvsig.tools.library.LibraryException;
+
+/**
+ * Library for Swing API initialization and configuration.
+ * 
+ * @author gvSIG team
+ * @version $Id$
+ */
+public class ComplexLegendSwingLibrary extends AbstractLibrary {
+
+	@Override
+	public void doRegistration() {
+		registerAsAPI(ComplexLegendSwingLibrary.class);
+	    this.require(ComplexLegendLibrary.class);
+	}
+
+	@Override
+    protected void doInitialize() throws LibraryException {
+        // Do nothing
+    }
+
+    @Override
+    protected void doPostInitialize() throws LibraryException {
+//    		IconThemeHelper.registerIcon("legend",
+//                "legend-overview-dot-density", this);
+//            IconThemeHelper.registerIcon("legend",
+//                "legend-dot-density-low-density-sample", this);
+//            IconThemeHelper.registerIcon("legend",
+//                "legend-dot-density-medium-density-sample", this);
+//            IconThemeHelper.registerIcon("legend",
+//                "legend-dot-density-high-density-sample", this);
+    }
+
+}

Property changes on: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.swing/org.gvsig.complexlegend.swing.api/src/main/java/org/gvsig/complexlegend/swing/ComplexLegendSwingLibrary.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.swing/org.gvsig.complexlegend.swing.api/src/main/java/org/gvsig/complexlegend/swing/ComplexLegendPanel.java
===================================================================
--- org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.swing/org.gvsig.complexlegend.swing.api/src/main/java/org/gvsig/complexlegend/swing/ComplexLegendPanel.java	(revision 0)
+++ org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.swing/org.gvsig.complexlegend.swing.api/src/main/java/org/gvsig/complexlegend/swing/ComplexLegendPanel.java	(revision 5862)
@@ -0,0 +1,9 @@
+package org.gvsig.complexlegend.swing;
+
+
+import org.gvsig.app.project.documents.view.legend.gui.ILegendPanel;
+
+public interface ComplexLegendPanel extends ILegendPanel{
+
+
+}

Property changes on: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.swing/org.gvsig.complexlegend.swing.api/src/main/java/org/gvsig/complexlegend/swing/ComplexLegendPanel.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.swing/org.gvsig.complexlegend.swing.api/src/main/java/package.html
===================================================================
--- org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.swing/org.gvsig.complexlegend.swing.api/src/main/java/package.html	(revision 0)
+++ org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.swing/org.gvsig.complexlegend.swing.api/src/main/java/package.html	(revision 5862)
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<title>org.gvsig.landregistryviewer package documentation</title>
+</head>
+<body>
+
+	<p>LandRegistryViewer swing library API.</p>
+	
+	<p>
+	It allows to get swing panels to show LandRegistryViewer, and to include them in windows.
+	</p>
+
+</body>
+</html>
\ No newline at end of file

Property changes on: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.swing/org.gvsig.complexlegend.swing.api/src/main/java/package.html
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.swing/org.gvsig.complexlegend.swing.api/src/main/resources/META-INF/services/org.gvsig.tools.library.Library
===================================================================
--- org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.swing/org.gvsig.complexlegend.swing.api/src/main/resources/META-INF/services/org.gvsig.tools.library.Library	(revision 0)
+++ org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.swing/org.gvsig.complexlegend.swing.api/src/main/resources/META-INF/services/org.gvsig.tools.library.Library	(revision 5862)
@@ -0,0 +1 @@
+org.gvsig.complexlegend.swing.ComplexLegendSwingLibrary
\ No newline at end of file

Property changes on: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.swing/org.gvsig.complexlegend.swing.api
___________________________________________________________________
Added: svn:ignore
   + .project

.classpath

target

.settings


Index: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.swing/pom.xml
===================================================================
--- org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.swing/pom.xml	(revision 0)
+++ org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.swing/pom.xml	(revision 5862)
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+
+	<modelVersion>4.0.0</modelVersion>
+	<artifactId>org.gvsig.complexlegend.swing</artifactId>
+	<packaging>pom</packaging>
+	<name>org.gvsig.complexlegend.swing</name>
+	<parent>
+		<groupId>org.gvsig</groupId>
+		<artifactId>org.gvsig.complexlegend</artifactId>
+		<version>1.0.160</version>
+	</parent>
+
+	<modules>
+		<module>org.gvsig.complexlegend.swing.api</module>
+		<module>org.gvsig.complexlegend.swing.impl</module>
+	</modules>
+</project>
+

Property changes on: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.swing/pom.xml
___________________________________________________________________
Added: svn:mime-type
   + text/plain


Property changes on: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend/org.gvsig.complexlegend.swing
___________________________________________________________________
Added: svn:ignore
   + .settings

.project



Property changes on: org.gvsig.complexlegend/tags/org.gvsig.complexlegend-1.0.160/org.gvsig.complexlegend
___________________________________________________________________
Added: svn:ignore
   + .settings

.project


