Index: tags/v2_0_0_Build_2047/libraries/libCorePlugin/config/text_ca.properties
===================================================================
--- tags/v2_0_0_Build_2047/libraries/libCorePlugin/config/text_ca.properties	(revision 0)
+++ tags/v2_0_0_Build_2047/libraries/libCorePlugin/config/text_ca.properties	(revision 38279)
@@ -0,0 +1,74 @@
+#Translations for language [ca]
+#Mon Oct 30 09:38:21 CET 2006
+__valenciano=Valenci\u00e0
+aceptar=Acceptar
+activa_la_ventana=Activa la finestra
+browse=Examinar
+browser=Fullejador web
+button.resolution.calculate=
+cancelar=Cancel\u00b7lar
+Cascada=Cascada
+cascada_tooltip=Organitzar les finestres en cascada
+centimeters=
+configurar_ANDAMI=Di\u00e0leg de configuraci\u00f3 d'ANDAMI
+configurar_todas_las_extensiones=
+Consola=Consola
+descripcion=Descripci\u00f3
+detalles=Detalls
+Devuelvo_el_foco_a_=
+directorio=Directori
+directorio_extensiones=Directori de les extensions
+errores=Errors
+examinar=Examinar
+extension_activada=Extensi\u00f3 activada
+extensiones=
+general=General
+idioma=Idioma
+inches=
+info=Informaci\u00f3
+invalid_priority_value=
+mosaico_tooltip=Mosaic r\u00e8tol indicador de funci\u00f3
+offline=
+online=
+opciones=Opcions
+optinos.network.click_to_test_connection=Prema el bot\u00f3 per comprovar la connexi\u00f3
+options.configuration.screen=
+options.firewall.http.enabled=Fer \u00fas de servidor proxy HTTP
+options.firewall.http.host=Servidor proxy HTTP
+options.firewall.http.incorrect_host=Host HTTP incorrecte
+options.firewall.http.nonProxy=Connectar directament a
+options.firewall.http.password=Contrasenya
+options.firewall.http.port=
+options.firewall.http.user=Nom d\u0092usuario
+options.firewall.socks.enabled=Fer \u00fas de servidor proxy SOCKS
+options.firewall.socks.host=Servidor proxy SOCKS
+options.firewall.socks.incorrect_host=Host SOCKS incorrecte
+options.firewall.socks.port=
+options.foldering.data_folder=
+options.foldering.projects_folder=
+options.foldering.template_folder=
+options.foldering.title=
+options.general.browser.select_a_known_browser=Seleccionar un navegador dels coneguts.
+options.general.browser.specify_a_command=<html>Executar una comanda pr\u00f4pia.<br>Ex.: firefox %url<br>(on %url es l'URL a obrir)</html>.
+options.general.remember_windows_pos=
+options.general.remember_windows_size=
+options.general.select_theme=Usar apari\u00e8ncia (requereix reiniciar)
+options.network.click_to_test_connection=Prema el bot\u00f3 per comprovar la connexi\u00f3
+options.network.status=Estat de la connexi\u00f3
+pref.appearance=Apari\u00e8ncia
+pref.general=General
+pref.network=Xarxa
+pref.network.firewall=
+preferencias=
+Preferencias=
+prioridad=Prioritat
+resolution=Resoluci\u00f3
+test_measure=
+test_now=Comprovar ara
+the_length_of_the_line_above_is=
+Tile=Mosaic
+titulo_consola=Consola d'informaci\u00f3
+todos=Tots
+Ventana=Finestra
+Ver=Veure
+warnings=

Property changes on: tags/v2_0_0_Build_2047/libraries/libCorePlugin/config/text_ca.properties
___________________________________________________________________
Added: svn:keywords
   + Author Date Id Revision
Added: svn:eol-style
   + native

Index: tags/v2_0_0_Build_2047/libraries/libCorePlugin/config/text_pt.properties
===================================================================
--- tags/v2_0_0_Build_2047/libraries/libCorePlugin/config/text_pt.properties	(revision 0)
+++ tags/v2_0_0_Build_2047/libraries/libCorePlugin/config/text_pt.properties	(revision 38279)
@@ -0,0 +1,71 @@
+#Translations for language [pt]
+#Mon Oct 30 09:38:21 CET 2006
+__valenciano=Valenciano
+aceptar=Aceitar
+activa_la_ventana=Activa a janela
+browse=
+button.resolution.calculate=
+cancelar=Cancelar
+Cascada=Cascata
+cascada_tooltip=Arranjar janelas em cascata
+centimeters=
+configurar_ANDAMI=Di\u00e1log de configura\u00e7\u00e3o do ANDAMI.
+configurar_todas_las_extensiones=
+Consola=Console
+descripcion=Descri\u00e7\u00e3o
+detalles=Detalhes
+Devuelvo_el_foco_a_=
+directorio=Diret\u00f3rio
+directorio_extensiones=Diret\u00f3rio de extens\u00f5es
+errores=Erro
+examinar=Examinar
+extension_activada=Extens\u00e3o ativa.
+extensiones=
+general=Geral
+idioma=Idioma
+inches=
+info=Informa\u00e7\u00e3o
+invalid_priority_value=
+mosaico_tooltip=Mosaico
+offline=
+online=
+opciones=Op\u00e7\u00f5es
+optinos.network.click_to_test_connection=
+options.configuration.screen=
+options.firewall.http.enabled=
+options.firewall.http.host=
+options.firewall.http.incorrect_host=
+options.firewall.http.nonProxy=
+options.firewall.http.password=
+options.firewall.http.port=
+options.firewall.http.user=
+options.firewall.socks.enabled=
+options.firewall.socks.host=
+options.firewall.socks.incorrect_host=
+options.firewall.socks.port=
+options.foldering.data_folder=
+options.foldering.projects_folder=
+options.foldering.template_folder=
+options.foldering.title=
+options.general.remember_windows_pos=
+options.general.remember_windows_size=
+options.general.select_theme=
+options.network.click_to_test_connection=
+options.network.status=
+pref.appearance=
+pref.general=
+pref.network=
+pref.network.firewall=
+preferencias=
+Preferencias=
+prioridad=Prioridade
+resolution=
+test_measure=
+test_now=
+the_length_of_the_line_above_is=
+Tile=Lado a Lado
+titulo_consola=Informa\u00e7\u00e3o de console
+todos=Todos
+Ventana=Janela
+Ver=Ver
+warnings=Aviso

Property changes on: tags/v2_0_0_Build_2047/libraries/libCorePlugin/config/text_pt.properties
___________________________________________________________________
Added: svn:keywords
   + Author Date Id Revision
Added: svn:eol-style
   + native

Index: tags/v2_0_0_Build_2047/libraries/libCorePlugin/config/config.xml
===================================================================
--- tags/v2_0_0_Build_2047/libraries/libCorePlugin/config/config.xml	(revision 0)
+++ tags/v2_0_0_Build_2047/libraries/libCorePlugin/config/config.xml	(revision 38279)
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<plugin-config>
+	<libraries library-dir="lib"/>
+	<resourceBundle name="text"/>
+	<extensions>
+		<extension class-name="org.gvsig.coreplugin.menus.ToolbarMenus"
+			description="Active toolbar menues"
+			active="true"
+			priority="99999">
+		</extension>
+		<extension class-name="org.gvsig.coreplugin.Consola"
+			description="Extensi�n encargada de abrir la ventana de la consola."
+			active="true" priority="1">
+			<menu text="Ver/Consola" action-command="unico" key="s"
+				icon="application-console"
+				tooltip="titulo_consola"
+				position="20090"/>
+			<tool-bar name="core" position="20">
+				<action-tool icon="application-console"
+					action-command="consola" tooltip="titulo_consola"
+					enable-text="debe_estar_activada" last="true" position="1"/>
+			</tool-bar>
+		</extension>
+		<extension class-name="org.gvsig.coreplugin.PreferencesExtension"
+			description="Extensi�n encargada de abrir la ventana de preferencias de ANDAMI."
+			active="true" priority="3">
+			<menu text="Ver/Preferencias" action-command="preferences"
+				icon="application-preferences"
+				tooltip="preferencias"
+				position="20094"/>
+			<tool-bar name="core" position="20">
+				<action-tool icon="application-preferences"
+					action-command="preferences" tooltip="preferencias"
+					enable-text="debe_estar_activada" position="2"/>
+			</tool-bar>
+		</extension>
+		<extension class-name="org.gvsig.coreplugin.StatusBar"
+			description="Recoge los mensajes del NotificationManager y los muestra por la StatusBar"
+			active="true">
+		</extension>
+		<skin-extension class-name="org.gvsig.coreplugin.mdiManager.NewSkin">
+			<menu text="Ventana/Cascada" action-command="cascada" key="c"
+				tooltip="cascada_tooltip" position="80080"/>
+			<menu text="Ventana/Tile" action-command="mosaico" key="m"
+				tooltip="mosaico_tooltip" position="80084"/>
+		</skin-extension>
+	</extensions>
+</plugin-config>
+
+<!--
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE plugin SYSTEM "../../plugin.dtd">
+<plugin>
+	<libraries>
+		<library file="org.gvsig.coreplugin.jar"/>
+		<library file="prulib.jar"/>
+	</libraries>
+	<resourceBundle name="text"/>
+	<labelSet class="org.gvsig.coreplugin.ConsolaFrame">
+		<label text="label1"/>
+		<label text="label2"/>
+	</labelSet>
+	<extension>
+		<class name="org.gvsig.coreplugin.Consola"/>
+		<menu text="Ver/Consola" key="s"/>
+		<toolBar name="Ver">
+			<tool icon="application-console"
+				actionCommand="CONSOLA"/>
+		</toolBar>
+	</extension>
+	<extension>
+		<class name="org.gvsig.coreplugin.Cascade"/>
+		<menu text="Window/Tile" key="t" mnemonic="t"
+			tooltip="tile_tooltip"
+			enableText="cascada_enable"
+			actionCommand="TILE"/>
+		<menu text="Window/Cascada" key="c" mnemonic="c"
+			tooltip="cascada_tooltip"
+			enableText="cascada_enable"
+			actionCommand="CASCADA"/>
+		<toolBar name="Window">
+			<tool icon="images/cascada.gif"
+				tooltip="cascada_tooltip"
+				enableText="cascada_enable"
+				actionCommand="CASCADA"/>
+			<tool icon="images/tile.gif"
+				tooltip="tile_tooltip"
+				enableText="cascada_enable"
+				actionCommand="TILE"/>
+		</toolBar>
+		<popupMenu name="cascada">
+			<entry text="Cascada"
+				tooltip="cascada_tooltip"
+				enableText="cascada_enable" actionCommand="CASCADA"/>
+			<entry text="Tile"
+				tooltip="tile_tooltip"
+				enableText="cascada_enable" actionCommand="CASCADA"/>
+		</popupMenu>
+	</extension>
+	<extension>
+		<class name="org.gvsig.coreplugin.StatusBar"/>
+	</extension>
+</plugin>
+-->

Property changes on: tags/v2_0_0_Build_2047/libraries/libCorePlugin/config/config.xml
___________________________________________________________________
Added: svn:eol-style
   + native
Added: svn:keywords
   + Author Date Id Revision

Index: tags/v2_0_0_Build_2047/libraries/libCorePlugin/config/text_cs.properties
===================================================================
--- tags/v2_0_0_Build_2047/libraries/libCorePlugin/config/text_cs.properties	(revision 0)
+++ tags/v2_0_0_Build_2047/libraries/libCorePlugin/config/text_cs.properties	(revision 38279)
@@ -0,0 +1,71 @@
+#Translations for language [cs]
+#Mon Nov 06 09:04:31 CET 2006
+__valenciano=Valencian
+aceptar=Budi\u017e
+activa_la_ventana=Aktivn\u00ed okno
+browse=Vyhledej
+button.resolution.calculate=
+cancelar=Zru\u0161it
+Cascada=Kask\u00e1da
+cascada_tooltip=Se\u0159adit okna do kask\u00e1dy
+centimeters=
+configurar_ANDAMI=ANDAMI konfigura\u010dn\u00ed dialog.
+configurar_todas_las_extensiones=Konfiguruj v\u0161echny roz\u0161\u00ed\u0159en\u00ed (p\u0159\u00edpony)
+Consola=Konzola
+descripcion=Popis
+detalles=Podrobnosti
+Devuelvo_el_foco_a_=
+directorio=Adres\u00e1\u0159
+directorio_extensiones=Adres\u00e1\u0159 extenz\u00ed.
+errores=Chyby
+examinar=Prohl\u00e9dnout
+extension_activada=Aktivn\u00ed extenze.
+extensiones=Roz\u0161\u00ed\u0159en\u00ed
+general=Obecn\u00fd
+idioma=Jazyk
+inches=
+info=Informace
+invalid_priority_value=Chybn\u00e1 hodnota priority
+mosaico_tooltip=Mozaika
+offline=Odpojen
+online=P\u0159ipojen
+opciones=Mo\u017enosti
+optinos.network.click_to_test_connection=
+options.configuration.screen=
+options.firewall.http.enabled=Pou\u017eij proxy HTTP server
+options.firewall.http.host=HTTP proxy server
+options.firewall.http.incorrect_host=Neplatn\u00fd HTTP hostitel
+options.firewall.http.nonProxy=P\u0159ipoj p\u0159\u00edmo k
+options.firewall.http.password=Password
+options.firewall.http.port=HTTP proxy port
+options.firewall.http.user=U\u017eivatelsk\u00e9 jm\u00e9no
+options.firewall.socks.enabled=Pou\u017eij proxy SOCK server
+options.firewall.socks.host=SOCK proxy hostitel
+options.firewall.socks.incorrect_host=Neplatn\u00fd SOCKS hostitel
+options.firewall.socks.port=SOCK proxy port
+options.foldering.data_folder=
+options.foldering.projects_folder=
+options.foldering.template_folder=
+options.foldering.title=
+options.general.remember_windows_pos=Zapamotovat pozici okna.
+options.general.remember_windows_size=Zapamatovat velikost okna.
+options.general.select_theme=Pou\u017e\u00edt vzhled (nutn\u00fd restart)
+options.network.click_to_test_connection=Stiskem tla\u010d\u00edtka otestujete spojen\u00ed
+options.network.status=Stav s\u00edt\u011b
+pref.appearance=Vzhled
+pref.general=Obecn\u00e9
+pref.network=S\u00ed\u0165
+pref.network.firewall=Firewall/Proxy
+preferencias=Preference
+Preferencias=Preference
+prioridad=Priorita
+resolution=Rozli\u0161en\u00ed ??
+test_measure=
+test_now=Zkontroluj te\u010f
+the_length_of_the_line_above_is=
+Tile=Dla\u017edice
+titulo_consola=Informa\u010dn\u00ed konzola
+todos=V\u0161e
+Ventana=Okno
+Ver=Pohled
+warnings=Varov\u00e1n\u00ed

Property changes on: tags/v2_0_0_Build_2047/libraries/libCorePlugin/config/text_cs.properties
___________________________________________________________________
Added: svn:keywords
   + Author Date Id Revision
Added: svn:eol-style
   + native

Index: tags/v2_0_0_Build_2047/libraries/libCorePlugin/config/text_pt_br.properties
===================================================================
--- tags/v2_0_0_Build_2047/libraries/libCorePlugin/config/text_pt_br.properties	(revision 0)
+++ tags/v2_0_0_Build_2047/libraries/libCorePlugin/config/text_pt_br.properties	(revision 38279)
@@ -0,0 +1,28 @@
+#text_pt_br.properties
+__valenciano=valenciano
+aceptar=OK
+cancelar=Cancelar
+Cascada=Cascata
+cascada_enable=Deve existir ao menos um quadro vis\u00EDvel
+cascada_tooltip=Arranjar janelas em cascata
+Configurar=Configurar
+configurar_ANDAMI=Di\u00E1log de configura\u00E7\u00E3o do ANDAMI.
+Consola=Console
+descripcion=Descri\u00E7\u00E3o
+directorio=Diret\u00F3rio
+directorio_extensiones=Diret\u00F3rio de extens\u00F5es
+errores=Erro
+examinar=Examinar
+extension_activada=Extens\u00E3o ativa.  
+general=Geral
+info=Informa\u00E7\u00E3o
+opciones=Op\u00E7\u00F5es
+prioridad=Prioridade
+Tile=Lado a Lado
+tile_tooltip=Arranjar a janela Lado a Lado
+titulo_consola=Informa\u00E7\u00E3o de console
+todos=Todos
+Ventana=Janela
+Ver=Vis\u00E3o
+warnings=Aviso
+Window=Janela

Property changes on: tags/v2_0_0_Build_2047/libraries/libCorePlugin/config/text_pt_br.properties
___________________________________________________________________
Added: svn:keywords
   + Author Date Id Revision
Added: svn:eol-style
   + native

Index: tags/v2_0_0_Build_2047/libraries/libCorePlugin/config/text_fr.properties
===================================================================
--- tags/v2_0_0_Build_2047/libraries/libCorePlugin/config/text_fr.properties	(revision 0)
+++ tags/v2_0_0_Build_2047/libraries/libCorePlugin/config/text_fr.properties	(revision 38279)
@@ -0,0 +1,71 @@
+#Translations for language [fr]
+#Mon Oct 30 09:38:21 CET 2006
+__valenciano=Catalan
+aceptar=Accepter
+activa_la_ventana=Active la fen\u00eatre
+browse=
+button.resolution.calculate=
+cancelar=Annuler
+Cascada=Cascade
+cascada_tooltip=Organiser les fen\u00eatres en cascade
+centimeters=
+configurar_ANDAMI=Fen\u00eatre de configuration d'ANDAMI.
+configurar_todas_las_extensiones=
+Consola=Console
+descripcion=Description
+detalles=d\u00e9tails
+Devuelvo_el_foco_a_=
+directorio=R\u00e9pertoire
+directorio_extensiones=R\u00e9pertoire des extensions
+errores=Erreurs
+examinar=Examiner
+extension_activada=Extension activ\u00e9e.
+extensiones=
+general=G\u00e9n\u00e9ral
+idioma=Langue
+inches=
+info=Information
+invalid_priority_value=
+mosaico_tooltip=info bulle
+offline=
+online=
+opciones=Options
+optinos.network.click_to_test_connection=
+options.configuration.screen=
+options.firewall.http.enabled=
+options.firewall.http.host=
+options.firewall.http.incorrect_host=
+options.firewall.http.nonProxy=
+options.firewall.http.password=
+options.firewall.http.port=
+options.firewall.http.user=
+options.firewall.socks.enabled=
+options.firewall.socks.host=
+options.firewall.socks.incorrect_host=
+options.firewall.socks.port=
+options.foldering.data_folder=
+options.foldering.projects_folder=
+options.foldering.template_folder=
+options.foldering.title=
+options.general.remember_windows_pos=
+options.general.remember_windows_size=
+options.general.select_theme=
+options.network.click_to_test_connection=
+options.network.status=
+pref.appearance=
+pref.general=
+pref.network=
+pref.network.firewall=
+preferencias=
+Preferencias=
+prioridad=Priorit\u00e9
+resolution=R\u00e9solution
+test_measure=
+test_now=
+the_length_of_the_line_above_is=
+Tile=Mosa\u00efque
+titulo_consola=Console d'information
+todos=Tous
+Ventana=Fen\u00eatre
+Ver=Afficher
+warnings=Attention

Property changes on: tags/v2_0_0_Build_2047/libraries/libCorePlugin/config/text_fr.properties
___________________________________________________________________
Added: svn:keywords
   + Author Date Id Revision
Added: svn:eol-style
   + native

Index: tags/v2_0_0_Build_2047/libraries/libCorePlugin/config/text_de.properties
===================================================================
--- tags/v2_0_0_Build_2047/libraries/libCorePlugin/config/text_de.properties	(revision 0)
+++ tags/v2_0_0_Build_2047/libraries/libCorePlugin/config/text_de.properties	(revision 38279)
@@ -0,0 +1,71 @@
+#Translations for language [de]
+#Mon Oct 30 09:38:21 CET 2006
+__valenciano=Valencianisch
+aceptar=OK
+activa_la_ventana=Aktiviert das fenster
+browse=
+button.resolution.calculate=
+cancelar=Abbrechen
+Cascada=Kaskade
+cascada_tooltip=Organisiert die fenster in der kaskade
+centimeters=
+configurar_ANDAMI=Konfigurationdialog von ANDAMI
+configurar_todas_las_extensiones=
+Consola=Konsole
+descripcion=Beschreibung
+detalles=Details
+Devuelvo_el_foco_a_=
+directorio=Verzeichnis
+directorio_extensiones=Verzeichnis der Erweiterungen
+errores=Fehler
+examinar=Untersuchen
+extension_activada=Erweiterung aktiviert
+extensiones=
+general=Allgemein
+idioma=
+inches=
+info=Information
+invalid_priority_value=
+mosaico_tooltip=Mosaik
+offline=
+online=
+opciones=Optionen
+optinos.network.click_to_test_connection=
+options.configuration.screen=
+options.firewall.http.enabled=
+options.firewall.http.host=
+options.firewall.http.incorrect_host=
+options.firewall.http.nonProxy=
+options.firewall.http.password=Password
+options.firewall.http.port=
+options.firewall.http.user=
+options.firewall.socks.enabled=
+options.firewall.socks.host=
+options.firewall.socks.incorrect_host=
+options.firewall.socks.port=
+options.foldering.data_folder=
+options.foldering.projects_folder=
+options.foldering.template_folder=
+options.foldering.title=
+options.general.remember_windows_pos=
+options.general.remember_windows_size=
+options.general.select_theme=
+options.network.click_to_test_connection=
+options.network.status=
+pref.appearance=
+pref.general=
+pref.network=
+pref.network.firewall=
+preferencias=
+Preferencias=
+prioridad=Priorit\u00e4t
+resolution=
+test_measure=
+test_now=
+the_length_of_the_line_above_is=
+Tile=Mosaik
+titulo_consola=Informationskonsole
+todos=Alle
+Ventana=Fenster
+Ver=Sehen
+warnings=Warnung

Property changes on: tags/v2_0_0_Build_2047/libraries/libCorePlugin/config/text_de.properties
___________________________________________________________________
Added: svn:keywords
   + Author Date Id Revision
Added: svn:eol-style
   + native

Index: tags/v2_0_0_Build_2047/libraries/libCorePlugin/config/text_eu.properties
===================================================================
--- tags/v2_0_0_Build_2047/libraries/libCorePlugin/config/text_eu.properties	(revision 0)
+++ tags/v2_0_0_Build_2047/libraries/libCorePlugin/config/text_eu.properties	(revision 38279)
@@ -0,0 +1,71 @@
+#Translations for language [eu]
+#Mon Oct 30 09:38:21 CET 2006
+__valenciano=Valenciano
+aceptar=Ados
+activa_la_ventana=Aktibatu leihoa
+browse=Aztertu
+button.resolution.calculate=
+cancelar=Utzi
+Cascada=Kaskadan
+cascada_tooltip=Antolatu leihoak kaskadan
+centimeters=
+configurar_ANDAMI=ANDAMIren konfigurazio-elkarrizketa.
+configurar_todas_las_extensiones=
+Consola=Kontsola
+descripcion=Deskripzioa
+detalles=Xehetasunak
+Devuelvo_el_foco_a_=
+directorio=Direktorioa
+directorio_extensiones=Luzapenen direktorioa.
+errores=Erroreak
+examinar=Aztertu
+extension_activada=Luzapena gaituta.
+extensiones=
+general=Orokorra
+idioma=Idioma
+inches=
+info=Informazioa
+invalid_priority_value=
+mosaico_tooltip=Tooltip mosaikoan
+offline=
+online=
+opciones=Aukerak
+optinos.network.click_to_test_connection=
+options.configuration.screen=
+options.firewall.http.enabled=
+options.firewall.http.host=
+options.firewall.http.incorrect_host=
+options.firewall.http.nonProxy=
+options.firewall.http.password=
+options.firewall.http.port=
+options.firewall.http.user=
+options.firewall.socks.enabled=
+options.firewall.socks.host=
+options.firewall.socks.incorrect_host=
+options.firewall.socks.port=
+options.foldering.data_folder=
+options.foldering.projects_folder=
+options.foldering.template_folder=
+options.foldering.title=
+options.general.remember_windows_pos=
+options.general.remember_windows_size=
+options.general.select_theme=
+options.network.click_to_test_connection=
+options.network.status=
+pref.appearance=
+pref.general=
+pref.network=
+pref.network.firewall=
+preferencias=
+Preferencias=
+prioridad=Lehentasuna
+resolution=Ebazpena
+test_measure=
+test_now=
+the_length_of_the_line_above_is=
+Tile=Mosaikoan
+titulo_consola=Informazio-kontsola
+todos=Denak
+Ventana=Leihoa
+Ver=Ikusi
+warnings=Oharrak

Property changes on: tags/v2_0_0_Build_2047/libraries/libCorePlugin/config/text_eu.properties
___________________________________________________________________
Added: svn:eol-style
   + native
Added: svn:keywords
   + Author Date Id Revision

Index: tags/v2_0_0_Build_2047/libraries/libCorePlugin/config/text_it.properties
===================================================================
--- tags/v2_0_0_Build_2047/libraries/libCorePlugin/config/text_it.properties	(revision 0)
+++ tags/v2_0_0_Build_2047/libraries/libCorePlugin/config/text_it.properties	(revision 38279)
@@ -0,0 +1,71 @@
+#Translations for language [it]
+#Tue Nov 07 12:30:01 CET 2006
+__valenciano=Valenziano
+aceptar=Accetta
+activa_la_ventana=Attiva la finestra
+browse=Sfoglia
+button.resolution.calculate=
+cancelar=Cancella
+Cascada=Cascata
+cascada_tooltip=Organizza le finestre a cascata
+centimeters=
+configurar_ANDAMI=Finestra di dialogo configurazione di ANDAMI
+configurar_todas_las_extensiones=Configura tutte le estensioni
+Consola=Console di informazione
+descripcion=Descrizione
+detalles=Dettagli
+Devuelvo_el_foco_a_=
+directorio=Cartella
+directorio_extensiones=Cartella delle estensioni
+errores=Errori
+examinar=Esamina
+extension_activada=Estensione attivata
+extensiones=Estensioni
+general=Generale
+idioma=Lingua
+inches=
+info=Informazione
+invalid_priority_value=Valore di priorit\u00e0 errato
+mosaico_tooltip=Mosaico
+offline=Disconnesso
+online=Connesso
+opciones=Opzioni
+optinos.network.click_to_test_connection=Premere il pulsante per verificare la connessione
+options.configuration.screen=
+options.firewall.http.enabled=Usa proxy HTTP
+options.firewall.http.host=Server proxy HTTP
+options.firewall.http.incorrect_host=Host HTTP invalido
+options.firewall.http.nonProxy=Connetti direttamente a
+options.firewall.http.password=Password
+options.firewall.http.port=Porta proxy HTTP
+options.firewall.http.user=Utente
+options.firewall.socks.enabled=Usa proxy SOCKS
+options.firewall.socks.host=Server proxy SOCKS
+options.firewall.socks.incorrect_host=Host SOCKS invalido
+options.firewall.socks.port=Porta proxy SOCKS
+options.foldering.data_folder=Cartella dati geografici
+options.foldering.projects_folder=Cartella progetti
+options.foldering.template_folder=Cartella tavole
+options.foldering.title=Cartelle
+options.general.remember_windows_pos=Ricorda posizione finestre
+options.general.remember_windows_size=Ricorda dimensione finestre
+options.general.select_theme=Applica tema (necessario riavvio)
+options.network.click_to_test_connection=
+options.network.status=Stato della rete
+pref.appearance=Aspetto
+pref.general=Generale
+pref.network=Rete
+pref.network.firewall=Firewall/Proxy
+preferencias=Preferenze
+Preferencias=Preferenze
+prioridad=Priorit\u00e1
+resolution=Risoluzione
+test_measure=
+test_now=Prova ora
+the_length_of_the_line_above_is=
+Tile=Titolo
+titulo_consola=Console di informazione
+todos=Tutti
+Ventana=Finestra
+Ver=Mostra
+warnings=Avvisi

Property changes on: tags/v2_0_0_Build_2047/libraries/libCorePlugin/config/text_it.properties
___________________________________________________________________
Added: svn:keywords
   + Author Date Id Revision
Added: svn:eol-style
   + native

Index: tags/v2_0_0_Build_2047/libraries/libCorePlugin/config/text.properties
===================================================================
--- tags/v2_0_0_Build_2047/libraries/libCorePlugin/config/text.properties	(revision 0)
+++ tags/v2_0_0_Build_2047/libraries/libCorePlugin/config/text.properties	(revision 38279)
@@ -0,0 +1,80 @@
+#Translations for language [es]
+#Mon Oct 30 09:38:21 CET 2006
+__valenciano=Valenciano
+aceptar=Aceptar
+activa_la_ventana=Activa la ventana
+browse=Examinar
+browser=Navegador web
+button.resolution.calculate=Calcula resoluci\u00f3n
+cancelar=Cancelar
+Cascada=Cascada
+cascada_tooltip=Organiza las ventanas en cascada
+centimeters=Cent\u00edmetros
+configurar_ANDAMI=Di\u00e1logo de configuraci\u00f3n de ANDAMI.
+configurar_todas_las_extensiones=Configurar todas las extensiones
+Consola=Consola
+descripcion=Descripci\u00f3n
+detalles=Detalles
+Devuelvo_el_foco_a_=Devuelvo el foco a
+directorio=Directorio
+directorio_extensiones=Directorio de las extensiones.
+errores=Errores
+examinar=Examinar
+extension_activada=Extensi\u00f3n activada.
+extensiones=Extensiones
+general=General
+idioma=Idioma
+inches=Pulgadas
+info=Informaci\u00f3n
+invalid_priority_value=Valor de prioridad inv\u00e1lido
+mosaico_tooltip=Mosaico tooltip
+offline=Desconectado
+online=Conectado
+opciones=Opciones
+optinos.network.click_to_test_connection=Pulse el bot\u00f3n para comprobar la conexi\u00f3n
+options.configuration.screen=Configuraci\u00f3n de pantalla
+options.firewall.http.enabled=Usar servidor proxy HTTP
+options.firewall.http.host=Servidor proxy HTTP
+options.firewall.http.incorrect_host=Host HTTP incorrecto
+options.firewall.http.nonProxy=Conectar directamente a
+options.firewall.http.password=Contrase\u00f1a
+options.firewall.http.port=Puerto proxy HTTP
+options.firewall.http.user=Nombre de usuario
+options.firewall.socks.enabled=Usar servidor proxy SOCKS
+options.firewall.socks.host=Servidor proxy SOCKS
+options.firewall.socks.incorrect_host=Host SOCKS incorrecto
+options.firewall.socks.port=Puerto proxy SOCKS
+options.foldering.data_folder=Carpeta de datos geogr\u00e1ficos
+options.foldering.projects_folder=Carpeta de proyectos
+options.foldering.template_folder=Carpeta de plantillas
+options.foldering.title=Carpetas
+options.general.browser.select_a_known_browser=Seleccionar un navegador conocido.
+options.general.browser.specify_a_command=<html>Ejecutar un comando propio.<br>Ej.: firefox %url <br>(donde %url es la URL a cargar)</html>.
+options.general.remember_windows_pos=Recordar la posici\u00f3n de las ventanas.
+options.general.remember_windows_size=Recordar el tama\u00f1o de las ventanas.
+options.general.select_theme=Usar apariencia (requiere reiniciar)
+options.network.click_to_test_connection=Pulse el bot\u00f3n para comprobar la conexi\u00f3n
+options.network.status=Estado de la conexi\u00f3n
+pref.appearance=Apariencia
+pref.general=General
+pref.network=Red
+pref.network.firewall=Firewall/Proxy
+preferencias=Preferencias
+Preferencias=Preferencias
+prioridad=Prioridad
+resolution=Resoluci\u00f3n
+test_measure=Medida de prueba
+test_now=Comprobar ahora
+the_length_of_the_line_above_is=La longitud de la linea de arriba es
+Tile=Mosaico
+titulo_consola=Consola de informaci\u00f3n
+todos=Todos
+Ventana=Ventana
+Ver=Ver
+warnings=Avisos
+Los_cambios_efectuados_sobre_estos_valores_se_aplicaran_al_reiniciar_la_aplicacion=Los cambios efectuados sobre estos valores se aplicar\u00e1n al reiniciar la aplicaci\u00f3n
+# SKIN PREFERENCES
+skin=Skin
+skin_label=Seleccione el skin que quiere usar con GvSIG
+skin_message=���ES NECESARIO REINICAR GVSIG PARA QUE LOS CAMBIOS SURJAN EFECTO!!!
+Swing_Compability_Note=Nota:Si activa la compatibilidad con Java / Swing se produce una caida del rendimiento grafico.

Property changes on: tags/v2_0_0_Build_2047/libraries/libCorePlugin/config/text.properties
___________________________________________________________________
Added: svn:keywords
   + Author Date Id Revision
Added: svn:eol-style
   + native

Index: tags/v2_0_0_Build_2047/libraries/libCorePlugin/config/text_zh.properties
===================================================================
--- tags/v2_0_0_Build_2047/libraries/libCorePlugin/config/text_zh.properties	(revision 0)
+++ tags/v2_0_0_Build_2047/libraries/libCorePlugin/config/text_zh.properties	(revision 38279)
@@ -0,0 +1,63 @@
+#Translations for language [en]
+#Thu Sep 28 13:19:48 CEST 2006
+__valenciano=\u74e6\u4f26\u897f\u4e9a\u6587
+aceptar=\u786e\u5b9a
+activa_la_ventana=\u6fc0\u6d3b\u7a97\u53e3
+browse=\u6d4f\u89c8
+cancelar=\u53d6\u6d88
+Cascada=\u5c42\u53e0
+cascada_tooltip=\u5c06\u7a97\u53e3\u6309\u5c42\u53e0\u5b89\u6392
+configurar_ANDAMI=ANDAMI \u8bbe\u7f6e
+configurar_todas_las_extensiones=\u6240\u6709\u6269\u5c55\u914d\u7f6e
+Consola=\u63a7\u5236\u53f0
+descripcion=\u63cf\u8ff0
+detalles=\u8be6\u7ec6
+directorio=\u6587\u4ef6\u5939
+directorio_extensiones=\u6269\u5c55\u76ee\u5f55
+errores=\u9519\u8bef
+examinar=\u6d4f\u89c8
+extension_activada=\u6d3b\u52a8\u6269\u5c55
+extensiones=\u6269\u5c55
+general=\u57fa\u672c\u8bbe\u7f6e
+idioma=\u8bed\u8a00
+info=\u4fe1\u606f
+invalid_priority_value=\u4f18\u5148\u6743\u503c\u65e0\u6548
+mosaico_tooltip=\u9a6c\u8d5b\u514b
+offline=\u672a\u8fde\u63a5
+online=\u5df2\u8fde\u63a5
+opciones=\u9009\u9879
+optinos.network.click_to_test_connection=\u6d4b\u8bd5\u8fde\u63a5\u8bf7\u6309\u94ae
+options.firewall.http.enabled=\u4f7f\u7528 HTTP \u4ee3\u7406\u670d\u52a1\u5668
+options.firewall.http.host=HTTP \u4ee3\u7406\u670d\u52a1\u5668
+options.firewall.http.incorrect_host=\u65e0\u6548\u7684 HTTP \u673a
+options.firewall.http.nonProxy=\u76f4\u63a5\u8fde\u63a5\u5230
+options.firewall.http.password=\u5bc6\u7801
+options.firewall.http.port=HTTP \u4ee3\u7406\u7aef\u53e3
+options.firewall.http.user=\u7528\u6237
+options.firewall.socks.enabled=\u4f7f\u7528 SOCKS \u4ee3\u7406\u670d\u52a1\u5668
+options.firewall.socks.host=SOCKS \u4ee3\u7406\u670d\u52a1\u5668
+options.firewall.socks.incorrect_host=\u65e0\u6548\u7684SOCKS \u4e3b\u673a
+options.firewall.socks.port=SOCKS \u4ee3\u7406\u7aef\u53e3
+options.foldering.data_folder=\u5730\u7406\u6570\u636e\u6587\u4ef6\u5939
+options.foldering.projects_folder=\u9879\u76ee\u6587\u4ef6\u5939
+options.foldering.template_folder=\u6a21\u677f\u6587\u4ef6\u5939
+options.foldering.title=\u6587\u4ef6\u5939
+options.general.remember_windows_pos=\u8bb0\u4f4f\u7a97\u53e3\u4f4d\u7f6e\u3002
+options.general.remember_windows_size=\u8bb0\u4f4f\u7a97\u53e3\u5927\u5c0f\u3002
+options.general.select_theme=\u8981\u4f7f\u7528\u65b0\u5916\u89c2\u60a8\u5fc5\u987b\u91cd\u65b0\u542f\u52a8\u3002
+options.network.status=\u7f51\u7edc\u72b6\u6001
+pref.appearance=\u5916\u89c2
+pref.general=\u57fa\u672c\u8bbe\u7f6e
+pref.network=\u7f51\u7edc
+pref.network.firewall=\u9632\u706b\u5899/\u4ee3\u7406\u670d\u52a1\u5668
+preferences.foldering.title=\u6587\u4ef6\u5939
+preferencias=\u9009\u9879
+Preferencias=\u9009\u9879
+prioridad=\u4f18\u5148\u6743
+test_now=\u73b0\u5728\u6d4b\u8bd5
+Tile=\u9a6c\u8d5b\u514b
+titulo_consola=\u63a7\u5236\u53f0\u4fe1\u606f
+todos=\u5168\u90e8
+Ventana=\u7a97\u53e3
+Ver=\u663e\u793a
+warnings=\u8b66\u544a

Property changes on: tags/v2_0_0_Build_2047/libraries/libCorePlugin/config/text_zh.properties
___________________________________________________________________
Added: svn:keywords
   + Author Date Id Revision
Added: svn:eol-style
   + native

Index: tags/v2_0_0_Build_2047/libraries/libCorePlugin/config/text_en.properties
===================================================================
--- tags/v2_0_0_Build_2047/libraries/libCorePlugin/config/text_en.properties	(revision 0)
+++ tags/v2_0_0_Build_2047/libraries/libCorePlugin/config/text_en.properties	(revision 38279)
@@ -0,0 +1,76 @@
+#Translations for language [en]
+#Mon Oct 30 09:38:21 CET 2006
+__valenciano=Valencian
+aceptar=Accept
+activa_la_ventana=Activate the window
+browse=Browse
+browser=Web Browser
+button.resolution.calculate=Calculate
+cancelar=Cancel
+Cascada=Cascade
+cascada_tooltip=Arrange windows in cascade
+centimeters=Centimeters
+configurar_ANDAMI=ANDAMI configuration dialog.
+configurar_todas_las_extensiones=Configure all the extensions
+Consola=Console
+descripcion=Description
+detalles=Details
+Devuelvo_el_foco_a_=Returns focus to
+directorio=Directory
+directorio_extensiones=Extensions directory.
+errores=Errors
+examinar=Examine
+extension_activada=Active extension.
+extensiones=Extensions
+general=General
+idioma=Language
+inches=Inches
+info=Information
+invalid_priority_value=Invalid priority value
+mosaico_tooltip=Mosaic tooltip
+offline=Disconnected
+online=Connected
+opciones=Options
+optinos.network.click_to_test_connection=Press button to test the connection
+options.configuration.screen=Screen settings
+options.firewall.http.enabled=Use proxy HTTP server
+options.firewall.http.host=HTTP proxy server
+options.firewall.http.incorrect_host=Invalid HTTP host
+options.firewall.http.nonProxy=Connect directly to
+options.firewall.http.password=Password
+options.firewall.http.port=HTTP proxy port
+options.firewall.http.user=Username
+options.firewall.socks.enabled=Use proxy SOCKS server
+options.firewall.socks.host=SOCKS proxy host
+options.firewall.socks.incorrect_host=Invalid SOCKS host
+options.firewall.socks.port=SOCKS proxy port
+options.foldering.data_folder=Geographycal data folder
+options.foldering.projects_folder=Projects folder
+options.foldering.template_folder=Template folder
+options.foldering.title=Folders
+options.general.browser.select_a_known_browser=Select one of the known web browsers.
+options.general.browser.specify_a_command=<html>Run a custom command.<br>Ie firefox %url<br>(where %url will be the URL to load)</html>.
+options.general.remember_windows_pos=Remember window position.
+options.general.remember_windows_size=Remebember window size.
+options.general.select_theme=Use appearance (requires restart)
+options.network.click_to_test_connection=Press button to test the connection
+options.network.status=Network status
+pref.appearance=Appearance
+pref.general=General
+pref.network=Network
+pref.network.firewall=Firewall/Proxy
+preferencias=Preferences
+Preferencias=Preferences
+prioridad=Priority
+resolution=Resolution
+skin=Skin
+test_measure=Measure
+test_now=Check now
+the_length_of_the_line_above_is=The length of line above is
+Tile=Tile
+titulo_consola=Information console
+todos=All
+Ventana=Window
+Ver=Show
+warnings=Warnings
+Los_cambios_efectuados_sobre_estos_valores_se_aplicaran_al_reiniciar_la_aplicacion=The changes made on these values will be applied when restarting the application
\ No newline at end of file

Property changes on: tags/v2_0_0_Build_2047/libraries/libCorePlugin/config/text_en.properties
___________________________________________________________________
Added: svn:keywords
   + Author Date Id Revision
Added: svn:eol-style
   + native

Index: tags/v2_0_0_Build_2047/libraries/libCorePlugin/config/text_gl.properties
===================================================================
--- tags/v2_0_0_Build_2047/libraries/libCorePlugin/config/text_gl.properties	(revision 0)
+++ tags/v2_0_0_Build_2047/libraries/libCorePlugin/config/text_gl.properties	(revision 38279)
@@ -0,0 +1,71 @@
+#Translations for language [gl]
+#Mon Oct 30 09:38:21 CET 2006
+__valenciano=Valenciano
+aceptar=Aceptar
+activa_la_ventana=Activar a fiestra
+browse=Examinar
+button.resolution.calculate=
+cancelar=Cancelar
+Cascada=Cascada
+cascada_tooltip=Organiza as fiestras en cascada
+centimeters=
+configurar_ANDAMI=Di\u00e1logo de configuraci\u00f3n de ANDAMI.
+configurar_todas_las_extensiones=
+Consola=Consola
+descripcion=Descrici\u00f3n
+detalles=Detalles
+Devuelvo_el_foco_a_=
+directorio=Directorio
+directorio_extensiones=Directorio das extensi\u00f3ns
+errores=Erros
+examinar=Examinar
+extension_activada=Extensi\u00f3n activada.
+extensiones=
+general=Xeral
+idioma=
+inches=
+info=Informaci\u00f3n
+invalid_priority_value=
+mosaico_tooltip=Mosaico tooltip
+offline=
+online=
+opciones=Opci\u00f3ns
+optinos.network.click_to_test_connection=
+options.configuration.screen=
+options.firewall.http.enabled=
+options.firewall.http.host=
+options.firewall.http.incorrect_host=
+options.firewall.http.nonProxy=
+options.firewall.http.password=
+options.firewall.http.port=
+options.firewall.http.user=
+options.firewall.socks.enabled=
+options.firewall.socks.host=
+options.firewall.socks.incorrect_host=
+options.firewall.socks.port=
+options.foldering.data_folder=
+options.foldering.projects_folder=
+options.foldering.template_folder=
+options.foldering.title=
+options.general.remember_windows_pos=
+options.general.remember_windows_size=
+options.general.select_theme=
+options.network.click_to_test_connection=
+options.network.status=
+pref.appearance=
+pref.general=
+pref.network=
+pref.network.firewall=
+preferencias=
+Preferencias=
+prioridad=Prioridade
+resolution=Resoluci\u00f3n
+test_measure=
+test_now=
+the_length_of_the_line_above_is=
+Tile=Mosaico
+titulo_consola=Consola de informacion
+todos=Todos
+Ventana=Fiestra
+Ver=Ver
+warnings=Avisos

Property changes on: tags/v2_0_0_Build_2047/libraries/libCorePlugin/config/text_gl.properties
___________________________________________________________________
Added: svn:keywords
   + Author Date Id Revision
Added: svn:eol-style
   + native

Index: tags/v2_0_0_Build_2047/libraries/libCorePlugin/doc/reopenSingletonWindow.sqd
===================================================================
--- tags/v2_0_0_Build_2047/libraries/libCorePlugin/doc/reopenSingletonWindow.sqd	(revision 0)
+++ tags/v2_0_0_Build_2047/libraries/libCorePlugin/doc/reopenSingletonWindow.sqd	(revision 38279)
@@ -0,0 +1,1616 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<net.java.amateras.uml.sequencediagram.model.InteractionModel>
+  <instances>
+    <net.java.amateras.uml.sequencediagram.model.InstanceModel>
+      <name>NewSkin</name>
+      <lifeLine>
+        <owner reference="../.."/>
+        <constraint>
+          <x>189</x>
+          <y>20</y>
+          <width>5</width>
+          <height>750</height>
+        </constraint>
+        <sourceConnections/>
+        <targetConnections/>
+        <children>
+          <net.java.amateras.uml.sequencediagram.model.ActivationModel>
+            <ownerLine reference="../../.."/>
+            <movable>true</movable>
+            <constraint>
+              <x>184</x>
+              <y>85</y>
+              <width>10</width>
+              <height>645</height>
+            </constraint>
+            <sourceConnections>
+              <net.java.amateras.uml.sequencediagram.model.ReturnMessageModel>
+                <name></name>
+                <direction>false</direction>
+                <source class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../.."/>
+                <target class="net.java.amateras.uml.sequencediagram.model.ActivationModel">
+                  <ownerLine>
+                    <owner class="net.java.amateras.uml.sequencediagram.model.ActorModel">
+                      <name>actor</name>
+                      <lifeLine reference="../.."/>
+                      <root reference="../../../../../../../../../../.."/>
+                      <constraint>
+                        <x>-29</x>
+                        <y>20</y>
+                        <width>100</width>
+                        <height>-1</height>
+                      </constraint>
+                      <sourceConnections/>
+                      <targetConnections/>
+                      <children>
+                        <net.java.amateras.uml.sequencediagram.model.LifeLineModel reference="../../.."/>
+                      </children>
+                      <filterProperty/>
+                      <backgroundColor>
+                        <red>255</red>
+                        <green>255</green>
+                        <blue>206</blue>
+                      </backgroundColor>
+                      <foregroundColor>
+                        <red>0</red>
+                        <green>0</green>
+                        <blue>0</blue>
+                      </foregroundColor>
+                      <showIcon>true</showIcon>
+                      <parent class="net.java.amateras.uml.sequencediagram.model.InteractionModel" reference="../../../../../../../../../../.."/>
+                      <listeners serialization="custom">
+                        <java.beans.PropertyChangeSupport>
+                          <default>
+                            <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                            <source class="net.java.amateras.uml.sequencediagram.model.ActorModel" reference="../../../.."/>
+                          </default>
+                          <null/>
+                        </java.beans.PropertyChangeSupport>
+                      </listeners>
+                    </owner>
+                    <constraint>
+                      <x>21</x>
+                      <y>20</y>
+                      <width>5</width>
+                      <height>750</height>
+                    </constraint>
+                    <sourceConnections/>
+                    <targetConnections/>
+                    <children>
+                      <net.java.amateras.uml.sequencediagram.model.ActivationModel reference="../../.."/>
+                    </children>
+                    <filterProperty/>
+                    <backgroundColor reference="../owner/backgroundColor"/>
+                    <foregroundColor reference="../owner/foregroundColor"/>
+                    <showIcon>true</showIcon>
+                    <parent class="net.java.amateras.uml.sequencediagram.model.InteractionModel" reference="../../../../../../../../../.."/>
+                    <listeners serialization="custom">
+                      <java.beans.PropertyChangeSupport>
+                        <default>
+                          <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                          <source class="net.java.amateras.uml.sequencediagram.model.LifeLineModel" reference="../../../.."/>
+                        </default>
+                        <null/>
+                      </java.beans.PropertyChangeSupport>
+                    </listeners>
+                  </ownerLine>
+                  <movable>true</movable>
+                  <constraint>
+                    <x>16</x>
+                    <y>85</y>
+                    <width>10</width>
+                    <height>655</height>
+                  </constraint>
+                  <sourceConnections>
+                    <net.java.amateras.uml.sequencediagram.model.SyncMessageModel>
+                      <order>1</order>
+                      <oldOrder>1</oldOrder>
+                      <name>addWindow(IWindow p)</name>
+                      <direction>true</direction>
+                      <source class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../.."/>
+                      <target class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../../../../.."/>
+                      <bendpoints/>
+                      <useBendpoint>false</useBendpoint>
+                      <showIcon>true</showIcon>
+                      <listeners serialization="custom">
+                        <java.beans.PropertyChangeSupport>
+                          <default>
+                            <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                            <source class="net.java.amateras.uml.sequencediagram.model.SyncMessageModel" reference="../../../.."/>
+                          </default>
+                          <null/>
+                        </java.beans.PropertyChangeSupport>
+                      </listeners>
+                    </net.java.amateras.uml.sequencediagram.model.SyncMessageModel>
+                  </sourceConnections>
+                  <targetConnections>
+                    <net.java.amateras.uml.sequencediagram.model.ReturnMessageModel reference="../../.."/>
+                  </targetConnections>
+                  <children/>
+                  <filterProperty/>
+                  <backgroundColor reference="../ownerLine/owner/backgroundColor"/>
+                  <foregroundColor reference="../ownerLine/owner/foregroundColor"/>
+                  <showIcon>true</showIcon>
+                  <parent class="net.java.amateras.uml.sequencediagram.model.InteractionModel" reference="../../../../../../../../.."/>
+                  <listeners serialization="custom">
+                    <java.beans.PropertyChangeSupport>
+                      <default>
+                        <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                        <source class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../../.."/>
+                      </default>
+                      <null/>
+                    </java.beans.PropertyChangeSupport>
+                  </listeners>
+                </target>
+                <bendpoints/>
+                <useBendpoint>false</useBendpoint>
+                <showIcon>true</showIcon>
+                <listeners serialization="custom">
+                  <java.beans.PropertyChangeSupport>
+                    <default>
+                      <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                      <source class="net.java.amateras.uml.sequencediagram.model.ReturnMessageModel" reference="../../../.."/>
+                    </default>
+                    <null/>
+                  </java.beans.PropertyChangeSupport>
+                </listeners>
+              </net.java.amateras.uml.sequencediagram.model.ReturnMessageModel>
+              <net.java.amateras.uml.sequencediagram.model.SyncMessageModel>
+                <order>2</order>
+                <oldOrder>2</oldOrder>
+                <name>getWindowInfo(IWindow p)</name>
+                <direction>true</direction>
+                <source class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../.."/>
+                <target class="net.java.amateras.uml.sequencediagram.model.ActivationModel">
+                  <ownerLine>
+                    <owner>
+                      <name>WindowInfoSupport</name>
+                      <lifeLine reference="../.."/>
+                      <root reference="../../../../../../../../../../.."/>
+                      <constraint>
+                        <x>516</x>
+                        <y>20</y>
+                        <width>129</width>
+                        <height>-1</height>
+                      </constraint>
+                      <sourceConnections/>
+                      <targetConnections/>
+                      <children>
+                        <net.java.amateras.uml.sequencediagram.model.LifeLineModel reference="../../.."/>
+                      </children>
+                      <filterProperty/>
+                      <backgroundColor reference="../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/backgroundColor"/>
+                      <foregroundColor reference="../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/foregroundColor"/>
+                      <showIcon>true</showIcon>
+                      <parent class="net.java.amateras.uml.sequencediagram.model.InteractionModel" reference="../../../../../../../../../../.."/>
+                      <listeners serialization="custom">
+                        <java.beans.PropertyChangeSupport>
+                          <default>
+                            <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                            <source class="net.java.amateras.uml.sequencediagram.model.InstanceModel" reference="../../../.."/>
+                          </default>
+                          <null/>
+                        </java.beans.PropertyChangeSupport>
+                      </listeners>
+                    </owner>
+                    <constraint>
+                      <x>581</x>
+                      <y>20</y>
+                      <width>5</width>
+                      <height>750</height>
+                    </constraint>
+                    <sourceConnections/>
+                    <targetConnections/>
+                    <children>
+                      <net.java.amateras.uml.sequencediagram.model.ActivationModel reference="../../.."/>
+                      <net.java.amateras.uml.sequencediagram.model.ActivationModel>
+                        <ownerLine reference="../../.."/>
+                        <movable>true</movable>
+                        <constraint>
+                          <x>576</x>
+                          <y>254</y>
+                          <width>10</width>
+                          <height>30</height>
+                        </constraint>
+                        <sourceConnections>
+                          <net.java.amateras.uml.sequencediagram.model.ReturnMessageModel>
+                            <name></name>
+                            <direction>true</direction>
+                            <source class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../.."/>
+                            <target class="net.java.amateras.uml.sequencediagram.model.ActivationModel">
+                              <owner>
+                                <ownerLine>
+                                  <owner>
+                                    <name>FrameWindowSupport</name>
+                                    <lifeLine reference="../.."/>
+                                    <root reference="../../../../../../../../../../../../../../../../../.."/>
+                                    <constraint>
+                                      <x>871</x>
+                                      <y>20</y>
+                                      <width>115</width>
+                                      <height>-1</height>
+                                    </constraint>
+                                    <sourceConnections/>
+                                    <targetConnections/>
+                                    <children>
+                                      <net.java.amateras.uml.sequencediagram.model.LifeLineModel reference="../../.."/>
+                                    </children>
+                                    <filterProperty/>
+                                    <backgroundColor reference="../../../../../../../../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/backgroundColor"/>
+                                    <foregroundColor reference="../../../../../../../../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/foregroundColor"/>
+                                    <showIcon>true</showIcon>
+                                    <parent class="net.java.amateras.uml.sequencediagram.model.InteractionModel" reference="../../../../../../../../../../../../../../../../../.."/>
+                                    <listeners serialization="custom">
+                                      <java.beans.PropertyChangeSupport>
+                                        <default>
+                                          <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                                          <source class="net.java.amateras.uml.sequencediagram.model.InstanceModel" reference="../../../.."/>
+                                        </default>
+                                        <null/>
+                                      </java.beans.PropertyChangeSupport>
+                                    </listeners>
+                                  </owner>
+                                  <constraint>
+                                    <x>928</x>
+                                    <y>20</y>
+                                    <width>5</width>
+                                    <height>750</height>
+                                  </constraint>
+                                  <sourceConnections/>
+                                  <targetConnections/>
+                                  <children>
+                                    <net.java.amateras.uml.sequencediagram.model.ActivationModel>
+                                      <ownerLine reference="../../.."/>
+                                      <movable>true</movable>
+                                      <constraint>
+                                        <x>923</x>
+                                        <y>98</y>
+                                        <width>10</width>
+                                        <height>30</height>
+                                      </constraint>
+                                      <sourceConnections>
+                                        <net.java.amateras.uml.sequencediagram.model.ReturnMessageModel>
+                                          <name></name>
+                                          <direction>false</direction>
+                                          <source class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../.."/>
+                                          <target class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../../../../../../../../../../../.."/>
+                                          <bendpoints/>
+                                          <useBendpoint>false</useBendpoint>
+                                          <showIcon>true</showIcon>
+                                          <listeners serialization="custom">
+                                            <java.beans.PropertyChangeSupport>
+                                              <default>
+                                                <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                                                <source class="net.java.amateras.uml.sequencediagram.model.ReturnMessageModel" reference="../../../.."/>
+                                              </default>
+                                              <null/>
+                                            </java.beans.PropertyChangeSupport>
+                                          </listeners>
+                                        </net.java.amateras.uml.sequencediagram.model.ReturnMessageModel>
+                                      </sourceConnections>
+                                      <targetConnections>
+                                        <net.java.amateras.uml.sequencediagram.model.SyncMessageModel>
+                                          <order>3</order>
+                                          <oldOrder>3</oldOrder>
+                                          <name>updateWindowInfo(p, wi)</name>
+                                          <direction>true</direction>
+                                          <source class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../../../../../../../../../../../.."/>
+                                          <target class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../.."/>
+                                          <bendpoints/>
+                                          <useBendpoint>false</useBendpoint>
+                                          <showIcon>true</showIcon>
+                                          <listeners serialization="custom">
+                                            <java.beans.PropertyChangeSupport>
+                                              <default>
+                                                <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                                                <source class="net.java.amateras.uml.sequencediagram.model.SyncMessageModel" reference="../../../.."/>
+                                              </default>
+                                              <null/>
+                                            </java.beans.PropertyChangeSupport>
+                                          </listeners>
+                                        </net.java.amateras.uml.sequencediagram.model.SyncMessageModel>
+                                      </targetConnections>
+                                      <children/>
+                                      <filterProperty/>
+                                      <backgroundColor reference="../../../../../../../../../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/backgroundColor"/>
+                                      <foregroundColor reference="../../../../../../../../../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/foregroundColor"/>
+                                      <showIcon>true</showIcon>
+                                      <parent class="net.java.amateras.uml.sequencediagram.model.InteractionModel" reference="../../../../../../../../../../../../../../../../../../.."/>
+                                      <listeners serialization="custom">
+                                        <java.beans.PropertyChangeSupport>
+                                          <default>
+                                            <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                                            <source class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../../.."/>
+                                          </default>
+                                          <null/>
+                                        </java.beans.PropertyChangeSupport>
+                                      </listeners>
+                                    </net.java.amateras.uml.sequencediagram.model.ActivationModel>
+                                    <net.java.amateras.uml.sequencediagram.model.ActivationModel reference="../../.."/>
+                                  </children>
+                                  <filterProperty/>
+                                  <backgroundColor reference="../../../../../../../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/backgroundColor"/>
+                                  <foregroundColor reference="../../../../../../../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/foregroundColor"/>
+                                  <showIcon>true</showIcon>
+                                  <parent class="net.java.amateras.uml.sequencediagram.model.InteractionModel" reference="../../../../../../../../../../../../../../../../.."/>
+                                  <listeners serialization="custom">
+                                    <java.beans.PropertyChangeSupport>
+                                      <default>
+                                        <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                                        <source class="net.java.amateras.uml.sequencediagram.model.LifeLineModel" reference="../../../.."/>
+                                      </default>
+                                      <null/>
+                                    </java.beans.PropertyChangeSupport>
+                                  </listeners>
+                                </ownerLine>
+                                <movable>true</movable>
+                                <constraint>
+                                  <x>923</x>
+                                  <y>219</y>
+                                  <width>10</width>
+                                  <height>85</height>
+                                </constraint>
+                                <sourceConnections>
+                                  <net.java.amateras.uml.sequencediagram.model.ReturnMessageModel>
+                                    <name></name>
+                                    <direction>false</direction>
+                                    <source class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../.."/>
+                                    <target class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../../../../../../../../../../../.."/>
+                                    <bendpoints/>
+                                    <useBendpoint>false</useBendpoint>
+                                    <showIcon>true</showIcon>
+                                    <listeners serialization="custom">
+                                      <java.beans.PropertyChangeSupport>
+                                        <default>
+                                          <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                                          <source class="net.java.amateras.uml.sequencediagram.model.ReturnMessageModel" reference="../../../.."/>
+                                        </default>
+                                        <null/>
+                                      </java.beans.PropertyChangeSupport>
+                                    </listeners>
+                                  </net.java.amateras.uml.sequencediagram.model.ReturnMessageModel>
+                                  <net.java.amateras.uml.sequencediagram.model.SyncMessageModel>
+                                    <order>6</order>
+                                    <oldOrder>6</oldOrder>
+                                    <name>frame = createJInternalFrame(p)</name>
+                                    <direction>true</direction>
+                                    <source class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../.."/>
+                                    <target class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../../.."/>
+                                    <bendpoints/>
+                                    <useBendpoint>false</useBendpoint>
+                                    <backgroundColor reference="../../../../../../../../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/backgroundColor"/>
+                                    <foregroundColor reference="../../../../../../../../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/foregroundColor"/>
+                                    <showIcon>true</showIcon>
+                                    <listeners serialization="custom">
+                                      <java.beans.PropertyChangeSupport>
+                                        <default>
+                                          <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                                          <source class="net.java.amateras.uml.sequencediagram.model.SyncMessageModel" reference="../../../.."/>
+                                        </default>
+                                        <null/>
+                                      </java.beans.PropertyChangeSupport>
+                                    </listeners>
+                                  </net.java.amateras.uml.sequencediagram.model.SyncMessageModel>
+                                </sourceConnections>
+                                <targetConnections>
+                                  <net.java.amateras.uml.sequencediagram.model.SyncMessageModel>
+                                    <order>5</order>
+                                    <oldOrder>5</oldOrder>
+                                    <name>frame = getJInternalFrame(p)</name>
+                                    <direction>true</direction>
+                                    <source class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../../../../../../../../../../../.."/>
+                                    <target class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../.."/>
+                                    <bendpoints/>
+                                    <useBendpoint>false</useBendpoint>
+                                    <showIcon>true</showIcon>
+                                    <listeners serialization="custom">
+                                      <java.beans.PropertyChangeSupport>
+                                        <default>
+                                          <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                                          <source class="net.java.amateras.uml.sequencediagram.model.SyncMessageModel" reference="../../../.."/>
+                                        </default>
+                                        <null/>
+                                      </java.beans.PropertyChangeSupport>
+                                    </listeners>
+                                  </net.java.amateras.uml.sequencediagram.model.SyncMessageModel>
+                                </targetConnections>
+                                <children>
+                                  <net.java.amateras.uml.sequencediagram.model.ActivationModel reference="../../.."/>
+                                </children>
+                                <filterProperty/>
+                                <backgroundColor reference="../../../../../../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/backgroundColor"/>
+                                <foregroundColor reference="../../../../../../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/foregroundColor"/>
+                                <showIcon>true</showIcon>
+                                <parent class="net.java.amateras.uml.sequencediagram.model.InteractionModel" reference="../../../../../../../../../../../../../../../.."/>
+                                <listeners serialization="custom">
+                                  <java.beans.PropertyChangeSupport>
+                                    <default>
+                                      <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                                      <source class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../../.."/>
+                                    </default>
+                                    <null/>
+                                  </java.beans.PropertyChangeSupport>
+                                </listeners>
+                              </owner>
+                              <ownerLine reference="../owner/ownerLine"/>
+                              <movable>true</movable>
+                              <constraint>
+                                <x>928</x>
+                                <y>245</y>
+                                <width>10</width>
+                                <height>49</height>
+                              </constraint>
+                              <sourceConnections>
+                                <net.java.amateras.uml.sequencediagram.model.SyncMessageModel>
+                                  <order>7</order>
+                                  <oldOrder>7</oldOrder>
+                                  <name>wi = getWindowInfo(IWindow p) </name>
+                                  <direction>false</direction>
+                                  <source class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../.."/>
+                                  <target class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../../../../.."/>
+                                  <bendpoints/>
+                                  <useBendpoint>false</useBendpoint>
+                                  <showIcon>true</showIcon>
+                                  <listeners serialization="custom">
+                                    <java.beans.PropertyChangeSupport>
+                                      <default>
+                                        <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                                        <source class="net.java.amateras.uml.sequencediagram.model.SyncMessageModel" reference="../../../.."/>
+                                      </default>
+                                      <null/>
+                                    </java.beans.PropertyChangeSupport>
+                                  </listeners>
+                                </net.java.amateras.uml.sequencediagram.model.SyncMessageModel>
+                              </sourceConnections>
+                              <targetConnections>
+                                <net.java.amateras.uml.sequencediagram.model.SyncMessageModel reference="../../owner/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel"/>
+                                <net.java.amateras.uml.sequencediagram.model.ReturnMessageModel reference="../../.."/>
+                              </targetConnections>
+                              <children/>
+                              <filterProperty/>
+                              <backgroundColor reference="../../../../../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/backgroundColor"/>
+                              <foregroundColor reference="../../../../../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/foregroundColor"/>
+                              <showIcon>true</showIcon>
+                              <parent class="net.java.amateras.uml.sequencediagram.model.InteractionModel" reference="../../../../../../../../../../../../../../.."/>
+                              <listeners serialization="custom">
+                                <java.beans.PropertyChangeSupport>
+                                  <default>
+                                    <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                                    <source class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../../.."/>
+                                  </default>
+                                  <null/>
+                                </java.beans.PropertyChangeSupport>
+                              </listeners>
+                            </target>
+                            <bendpoints/>
+                            <useBendpoint>false</useBendpoint>
+                            <showIcon>true</showIcon>
+                            <listeners serialization="custom">
+                              <java.beans.PropertyChangeSupport>
+                                <default>
+                                  <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                                  <source class="net.java.amateras.uml.sequencediagram.model.ReturnMessageModel" reference="../../../.."/>
+                                </default>
+                                <null/>
+                              </java.beans.PropertyChangeSupport>
+                            </listeners>
+                          </net.java.amateras.uml.sequencediagram.model.ReturnMessageModel>
+                        </sourceConnections>
+                        <targetConnections>
+                          <net.java.amateras.uml.sequencediagram.model.SyncMessageModel reference="../../sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel"/>
+                        </targetConnections>
+                        <children/>
+                        <filterProperty/>
+                        <backgroundColor reference="../../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/backgroundColor"/>
+                        <foregroundColor reference="../../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/foregroundColor"/>
+                        <showIcon>true</showIcon>
+                        <parent class="net.java.amateras.uml.sequencediagram.model.InteractionModel" reference="../../../../../../../../../../../.."/>
+                        <listeners serialization="custom">
+                          <java.beans.PropertyChangeSupport>
+                            <default>
+                              <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                              <source class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../../.."/>
+                            </default>
+                            <null/>
+                          </java.beans.PropertyChangeSupport>
+                        </listeners>
+                      </net.java.amateras.uml.sequencediagram.model.ActivationModel>
+                    </children>
+                    <filterProperty/>
+                    <backgroundColor reference="../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/backgroundColor"/>
+                    <foregroundColor reference="../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/foregroundColor"/>
+                    <showIcon>true</showIcon>
+                    <parent class="net.java.amateras.uml.sequencediagram.model.InteractionModel" reference="../../../../../../../../../.."/>
+                    <listeners serialization="custom">
+                      <java.beans.PropertyChangeSupport>
+                        <default>
+                          <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                          <source class="net.java.amateras.uml.sequencediagram.model.LifeLineModel" reference="../../../.."/>
+                        </default>
+                        <null/>
+                      </java.beans.PropertyChangeSupport>
+                    </listeners>
+                  </ownerLine>
+                  <movable>true</movable>
+                  <constraint>
+                    <x>576</x>
+                    <y>90</y>
+                    <width>10</width>
+                    <height>48</height>
+                  </constraint>
+                  <sourceConnections>
+                    <net.java.amateras.uml.sequencediagram.model.ReturnMessageModel>
+                      <name></name>
+                      <direction>false</direction>
+                      <source class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../.."/>
+                      <target class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../../../../.."/>
+                      <bendpoints/>
+                      <useBendpoint>false</useBendpoint>
+                      <showIcon>true</showIcon>
+                      <listeners serialization="custom">
+                        <java.beans.PropertyChangeSupport>
+                          <default>
+                            <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                            <source class="net.java.amateras.uml.sequencediagram.model.ReturnMessageModel" reference="../../../.."/>
+                          </default>
+                          <null/>
+                        </java.beans.PropertyChangeSupport>
+                      </listeners>
+                    </net.java.amateras.uml.sequencediagram.model.ReturnMessageModel>
+                    <net.java.amateras.uml.sequencediagram.model.SyncMessageModel reference="../../ownerLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel[2]/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/owner/ownerLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/targetConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel"/>
+                  </sourceConnections>
+                  <targetConnections>
+                    <net.java.amateras.uml.sequencediagram.model.SyncMessageModel reference="../../.."/>
+                    <net.java.amateras.uml.sequencediagram.model.ReturnMessageModel reference="../../ownerLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel[2]/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/owner/ownerLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel"/>
+                  </targetConnections>
+                  <children/>
+                  <filterProperty/>
+                  <backgroundColor reference="../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/backgroundColor"/>
+                  <foregroundColor reference="../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/foregroundColor"/>
+                  <showIcon>true</showIcon>
+                  <parent class="net.java.amateras.uml.sequencediagram.model.InteractionModel" reference="../../../../../../../../.."/>
+                  <listeners serialization="custom">
+                    <java.beans.PropertyChangeSupport>
+                      <default>
+                        <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                        <source class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../../.."/>
+                      </default>
+                      <null/>
+                    </java.beans.PropertyChangeSupport>
+                  </listeners>
+                </target>
+                <bendpoints/>
+                <useBendpoint>false</useBendpoint>
+                <showIcon>true</showIcon>
+                <listeners serialization="custom">
+                  <java.beans.PropertyChangeSupport>
+                    <default>
+                      <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                      <source class="net.java.amateras.uml.sequencediagram.model.SyncMessageModel" reference="../../../.."/>
+                    </default>
+                    <null/>
+                  </java.beans.PropertyChangeSupport>
+                </listeners>
+              </net.java.amateras.uml.sequencediagram.model.SyncMessageModel>
+              <net.java.amateras.uml.sequencediagram.model.SyncMessageModel>
+                <order>4</order>
+                <oldOrder>4</oldOrder>
+                <name>registerWindow()</name>
+                <direction>true</direction>
+                <source class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../.."/>
+                <target class="net.java.amateras.uml.sequencediagram.model.ActivationModel">
+                  <ownerLine>
+                    <owner>
+                      <name>SingletonWindowSupport</name>
+                      <lifeLine reference="../.."/>
+                      <root reference="../../../../../../../../../../.."/>
+                      <constraint>
+                        <x>266</x>
+                        <y>20</y>
+                        <width>100</width>
+                        <height>-1</height>
+                      </constraint>
+                      <sourceConnections/>
+                      <targetConnections/>
+                      <children>
+                        <net.java.amateras.uml.sequencediagram.model.LifeLineModel reference="../../.."/>
+                      </children>
+                      <filterProperty/>
+                      <backgroundColor reference="../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/backgroundColor"/>
+                      <foregroundColor reference="../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/foregroundColor"/>
+                      <showIcon>true</showIcon>
+                      <parent class="net.java.amateras.uml.sequencediagram.model.InteractionModel" reference="../../../../../../../../../../.."/>
+                      <listeners serialization="custom">
+                        <java.beans.PropertyChangeSupport>
+                          <default>
+                            <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                            <source class="net.java.amateras.uml.sequencediagram.model.InstanceModel" reference="../../../.."/>
+                          </default>
+                          <null/>
+                        </java.beans.PropertyChangeSupport>
+                      </listeners>
+                    </owner>
+                    <constraint>
+                      <x>316</x>
+                      <y>20</y>
+                      <width>5</width>
+                      <height>750</height>
+                    </constraint>
+                    <sourceConnections/>
+                    <targetConnections/>
+                    <children>
+                      <net.java.amateras.uml.sequencediagram.model.ActivationModel reference="../../.."/>
+                      <net.java.amateras.uml.sequencediagram.model.ActivationModel>
+                        <ownerLine reference="../../.."/>
+                        <movable>true</movable>
+                        <constraint>
+                          <x>311</x>
+                          <y>344</y>
+                          <width>10</width>
+                          <height>60</height>
+                        </constraint>
+                        <sourceConnections>
+                          <net.java.amateras.uml.sequencediagram.model.ReturnMessageModel>
+                            <name></name>
+                            <direction>false</direction>
+                            <source class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../.."/>
+                            <target class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../../../../../../../.."/>
+                            <bendpoints/>
+                            <useBendpoint>false</useBendpoint>
+                            <showIcon>true</showIcon>
+                            <listeners serialization="custom">
+                              <java.beans.PropertyChangeSupport>
+                                <default>
+                                  <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                                  <source class="net.java.amateras.uml.sequencediagram.model.ReturnMessageModel" reference="../../../.."/>
+                                </default>
+                                <null/>
+                              </java.beans.PropertyChangeSupport>
+                            </listeners>
+                          </net.java.amateras.uml.sequencediagram.model.ReturnMessageModel>
+                          <net.java.amateras.uml.sequencediagram.model.SyncMessageModel>
+                            <order>9</order>
+                            <oldOrder>9</oldOrder>
+                            <name>contentFrame.put(swi, frame)</name>
+                            <direction>true</direction>
+                            <source class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../.."/>
+                            <target class="net.java.amateras.uml.sequencediagram.model.ActivationModel">
+                              <ownerLine>
+                                <owner>
+                                  <name>HashMap: contentFrame</name>
+                                  <lifeLine reference="../.."/>
+                                  <root reference="../../../../../../../../../../../../../../../../.."/>
+                                  <constraint>
+                                    <x>994</x>
+                                    <y>20</y>
+                                    <width>165</width>
+                                    <height>-1</height>
+                                  </constraint>
+                                  <sourceConnections/>
+                                  <targetConnections/>
+                                  <children>
+                                    <net.java.amateras.uml.sequencediagram.model.LifeLineModel reference="../../.."/>
+                                  </children>
+                                  <filterProperty/>
+                                  <backgroundColor reference="../../../../../../../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/backgroundColor"/>
+                                  <foregroundColor reference="../../../../../../../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/foregroundColor"/>
+                                  <showIcon>true</showIcon>
+                                  <parent class="net.java.amateras.uml.sequencediagram.model.InteractionModel" reference="../../../../../../../../../../../../../../../../.."/>
+                                  <listeners serialization="custom">
+                                    <java.beans.PropertyChangeSupport>
+                                      <default>
+                                        <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                                        <source class="net.java.amateras.uml.sequencediagram.model.InstanceModel" reference="../../../.."/>
+                                      </default>
+                                      <null/>
+                                    </java.beans.PropertyChangeSupport>
+                                  </listeners>
+                                </owner>
+                                <constraint>
+                                  <x>1076</x>
+                                  <y>20</y>
+                                  <width>5</width>
+                                  <height>750</height>
+                                </constraint>
+                                <sourceConnections/>
+                                <targetConnections/>
+                                <children>
+                                  <net.java.amateras.uml.sequencediagram.model.ActivationModel reference="../../.."/>
+                                </children>
+                                <filterProperty/>
+                                <backgroundColor reference="../../../../../../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/backgroundColor"/>
+                                <foregroundColor reference="../../../../../../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/foregroundColor"/>
+                                <showIcon>true</showIcon>
+                                <parent class="net.java.amateras.uml.sequencediagram.model.InteractionModel" reference="../../../../../../../../../../../../../../../.."/>
+                                <listeners serialization="custom">
+                                  <java.beans.PropertyChangeSupport>
+                                    <default>
+                                      <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                                      <source class="net.java.amateras.uml.sequencediagram.model.LifeLineModel" reference="../../../.."/>
+                                    </default>
+                                    <null/>
+                                  </java.beans.PropertyChangeSupport>
+                                </listeners>
+                              </ownerLine>
+                              <movable>true</movable>
+                              <constraint>
+                                <x>1071</x>
+                                <y>364</y>
+                                <width>10</width>
+                                <height>30</height>
+                              </constraint>
+                              <sourceConnections>
+                                <net.java.amateras.uml.sequencediagram.model.ReturnMessageModel>
+                                  <name></name>
+                                  <direction>false</direction>
+                                  <source class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../.."/>
+                                  <target class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../../../../.."/>
+                                  <bendpoints/>
+                                  <useBendpoint>false</useBendpoint>
+                                  <showIcon>true</showIcon>
+                                  <listeners serialization="custom">
+                                    <java.beans.PropertyChangeSupport>
+                                      <default>
+                                        <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                                        <source class="net.java.amateras.uml.sequencediagram.model.ReturnMessageModel" reference="../../../.."/>
+                                      </default>
+                                      <null/>
+                                    </java.beans.PropertyChangeSupport>
+                                  </listeners>
+                                </net.java.amateras.uml.sequencediagram.model.ReturnMessageModel>
+                              </sourceConnections>
+                              <targetConnections>
+                                <net.java.amateras.uml.sequencediagram.model.SyncMessageModel reference="../../.."/>
+                              </targetConnections>
+                              <children/>
+                              <filterProperty/>
+                              <backgroundColor reference="../../../../../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/backgroundColor"/>
+                              <foregroundColor reference="../../../../../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/foregroundColor"/>
+                              <showIcon>true</showIcon>
+                              <parent class="net.java.amateras.uml.sequencediagram.model.InteractionModel" reference="../../../../../../../../../../../../../../.."/>
+                              <listeners serialization="custom">
+                                <java.beans.PropertyChangeSupport>
+                                  <default>
+                                    <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                                    <source class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../../.."/>
+                                  </default>
+                                  <null/>
+                                </java.beans.PropertyChangeSupport>
+                              </listeners>
+                            </target>
+                            <bendpoints/>
+                            <useBendpoint>false</useBendpoint>
+                            <showIcon>true</showIcon>
+                            <listeners serialization="custom">
+                              <java.beans.PropertyChangeSupport>
+                                <default>
+                                  <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                                  <source class="net.java.amateras.uml.sequencediagram.model.SyncMessageModel" reference="../../../.."/>
+                                </default>
+                                <null/>
+                              </java.beans.PropertyChangeSupport>
+                            </listeners>
+                          </net.java.amateras.uml.sequencediagram.model.SyncMessageModel>
+                        </sourceConnections>
+                        <targetConnections>
+                          <net.java.amateras.uml.sequencediagram.model.SyncMessageModel>
+                            <order>8</order>
+                            <oldOrder>8</oldOrder>
+                            <name>openSingletonWindow(p, frame)</name>
+                            <direction>true</direction>
+                            <source class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../../../../../../../.."/>
+                            <target class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../.."/>
+                            <bendpoints/>
+                            <useBendpoint>false</useBendpoint>
+                            <showIcon>true</showIcon>
+                            <listeners serialization="custom">
+                              <java.beans.PropertyChangeSupport>
+                                <default>
+                                  <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                                  <source class="net.java.amateras.uml.sequencediagram.model.SyncMessageModel" reference="../../../.."/>
+                                </default>
+                                <null/>
+                              </java.beans.PropertyChangeSupport>
+                            </listeners>
+                          </net.java.amateras.uml.sequencediagram.model.SyncMessageModel>
+                          <net.java.amateras.uml.sequencediagram.model.ReturnMessageModel reference="../../sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel"/>
+                        </targetConnections>
+                        <children/>
+                        <filterProperty/>
+                        <backgroundColor reference="../../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/backgroundColor"/>
+                        <foregroundColor reference="../../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/foregroundColor"/>
+                        <showIcon>true</showIcon>
+                        <parent class="net.java.amateras.uml.sequencediagram.model.InteractionModel" reference="../../../../../../../../../../../.."/>
+                        <listeners serialization="custom">
+                          <java.beans.PropertyChangeSupport>
+                            <default>
+                              <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                              <source class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../../.."/>
+                            </default>
+                            <null/>
+                          </java.beans.PropertyChangeSupport>
+                        </listeners>
+                      </net.java.amateras.uml.sequencediagram.model.ActivationModel>
+                    </children>
+                    <filterProperty/>
+                    <backgroundColor reference="../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/backgroundColor"/>
+                    <foregroundColor reference="../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/foregroundColor"/>
+                    <showIcon>true</showIcon>
+                    <parent class="net.java.amateras.uml.sequencediagram.model.InteractionModel" reference="../../../../../../../../../.."/>
+                    <listeners serialization="custom">
+                      <java.beans.PropertyChangeSupport>
+                        <default>
+                          <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                          <source class="net.java.amateras.uml.sequencediagram.model.LifeLineModel" reference="../../../.."/>
+                        </default>
+                        <null/>
+                      </java.beans.PropertyChangeSupport>
+                    </listeners>
+                  </ownerLine>
+                  <movable>true</movable>
+                  <constraint>
+                    <x>311</x>
+                    <y>162</y>
+                    <width>10</width>
+                    <height>30</height>
+                  </constraint>
+                  <sourceConnections>
+                    <net.java.amateras.uml.sequencediagram.model.ReturnMessageModel>
+                      <name></name>
+                      <direction>false</direction>
+                      <source class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../.."/>
+                      <target class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../../../../.."/>
+                      <bendpoints/>
+                      <useBendpoint>false</useBendpoint>
+                      <showIcon>true</showIcon>
+                      <listeners serialization="custom">
+                        <java.beans.PropertyChangeSupport>
+                          <default>
+                            <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                            <source class="net.java.amateras.uml.sequencediagram.model.ReturnMessageModel" reference="../../../.."/>
+                          </default>
+                          <null/>
+                        </java.beans.PropertyChangeSupport>
+                      </listeners>
+                    </net.java.amateras.uml.sequencediagram.model.ReturnMessageModel>
+                  </sourceConnections>
+                  <targetConnections>
+                    <net.java.amateras.uml.sequencediagram.model.SyncMessageModel reference="../../.."/>
+                  </targetConnections>
+                  <children/>
+                  <filterProperty/>
+                  <backgroundColor reference="../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/backgroundColor"/>
+                  <foregroundColor reference="../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/foregroundColor"/>
+                  <showIcon>true</showIcon>
+                  <parent class="net.java.amateras.uml.sequencediagram.model.InteractionModel" reference="../../../../../../../../.."/>
+                  <listeners serialization="custom">
+                    <java.beans.PropertyChangeSupport>
+                      <default>
+                        <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                        <source class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../../.."/>
+                      </default>
+                      <null/>
+                    </java.beans.PropertyChangeSupport>
+                  </listeners>
+                </target>
+                <bendpoints/>
+                <useBendpoint>false</useBendpoint>
+                <showIcon>true</showIcon>
+                <listeners serialization="custom">
+                  <java.beans.PropertyChangeSupport>
+                    <default>
+                      <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                      <source class="net.java.amateras.uml.sequencediagram.model.SyncMessageModel" reference="../../../.."/>
+                    </default>
+                    <null/>
+                  </java.beans.PropertyChangeSupport>
+                </listeners>
+              </net.java.amateras.uml.sequencediagram.model.SyncMessageModel>
+              <net.java.amateras.uml.sequencediagram.model.SyncMessageModel reference="../net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target/ownerLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel[2]/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/owner/targetConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel"/>
+              <net.java.amateras.uml.sequencediagram.model.SyncMessageModel reference="../net.java.amateras.uml.sequencediagram.model.SyncMessageModel[2]/target/ownerLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel[2]/targetConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel"/>
+              <net.java.amateras.uml.sequencediagram.model.SyncMessageModel>
+                <order>10</order>
+                <oldOrder>10</oldOrder>
+                <name>addJInternalFrame(frame, wi)</name>
+                <direction>true</direction>
+                <source class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../.."/>
+                <target class="net.java.amateras.uml.sequencediagram.model.ActivationModel">
+                  <owner reference="../../../.."/>
+                  <ownerLine reference="../../../../../.."/>
+                  <movable>true</movable>
+                  <constraint>
+                    <x>189</x>
+                    <y>457</y>
+                    <width>10</width>
+                    <height>207</height>
+                  </constraint>
+                  <sourceConnections>
+                    <net.java.amateras.uml.sequencediagram.model.SyncMessageModel>
+                      <order>11</order>
+                      <oldOrder>11</oldOrder>
+                      <name>add(frame)</name>
+                      <direction>true</direction>
+                      <source class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../.."/>
+                      <target class="net.java.amateras.uml.sequencediagram.model.ActivationModel">
+                        <ownerLine>
+                          <owner>
+                            <name>MyDesktopPane</name>
+                            <lifeLine reference="../.."/>
+                            <root reference="../../../../../../../../../../../../../.."/>
+                            <constraint>
+                              <x>1174</x>
+                              <y>20</y>
+                              <width>118</width>
+                              <height>-1</height>
+                            </constraint>
+                            <sourceConnections/>
+                            <targetConnections/>
+                            <children>
+                              <net.java.amateras.uml.sequencediagram.model.LifeLineModel reference="../../.."/>
+                            </children>
+                            <filterProperty/>
+                            <backgroundColor reference="../../../../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/backgroundColor"/>
+                            <foregroundColor reference="../../../../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/foregroundColor"/>
+                            <showIcon>true</showIcon>
+                            <parent class="net.java.amateras.uml.sequencediagram.model.InteractionModel" reference="../../../../../../../../../../../../../.."/>
+                            <listeners serialization="custom">
+                              <java.beans.PropertyChangeSupport>
+                                <default>
+                                  <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                                  <source class="net.java.amateras.uml.sequencediagram.model.InstanceModel" reference="../../../.."/>
+                                </default>
+                                <null/>
+                              </java.beans.PropertyChangeSupport>
+                            </listeners>
+                          </owner>
+                          <constraint>
+                            <x>1233</x>
+                            <y>20</y>
+                            <width>5</width>
+                            <height>750</height>
+                          </constraint>
+                          <sourceConnections/>
+                          <targetConnections/>
+                          <children>
+                            <net.java.amateras.uml.sequencediagram.model.ActivationModel reference="../../.."/>
+                          </children>
+                          <filterProperty/>
+                          <backgroundColor reference="../../../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/backgroundColor"/>
+                          <foregroundColor reference="../../../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/foregroundColor"/>
+                          <showIcon>true</showIcon>
+                          <parent class="net.java.amateras.uml.sequencediagram.model.InteractionModel" reference="../../../../../../../../../../../../.."/>
+                          <listeners serialization="custom">
+                            <java.beans.PropertyChangeSupport>
+                              <default>
+                                <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                                <source class="net.java.amateras.uml.sequencediagram.model.LifeLineModel" reference="../../../.."/>
+                              </default>
+                              <null/>
+                            </java.beans.PropertyChangeSupport>
+                          </listeners>
+                        </ownerLine>
+                        <movable>true</movable>
+                        <constraint>
+                          <x>1228</x>
+                          <y>481</y>
+                          <width>10</width>
+                          <height>30</height>
+                        </constraint>
+                        <sourceConnections>
+                          <net.java.amateras.uml.sequencediagram.model.ReturnMessageModel>
+                            <name></name>
+                            <direction>false</direction>
+                            <source class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../.."/>
+                            <target class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../../../../.."/>
+                            <bendpoints/>
+                            <useBendpoint>false</useBendpoint>
+                            <showIcon>true</showIcon>
+                            <listeners serialization="custom">
+                              <java.beans.PropertyChangeSupport>
+                                <default>
+                                  <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                                  <source class="net.java.amateras.uml.sequencediagram.model.ReturnMessageModel" reference="../../../.."/>
+                                </default>
+                                <null/>
+                              </java.beans.PropertyChangeSupport>
+                            </listeners>
+                          </net.java.amateras.uml.sequencediagram.model.ReturnMessageModel>
+                        </sourceConnections>
+                        <targetConnections>
+                          <net.java.amateras.uml.sequencediagram.model.SyncMessageModel reference="../../.."/>
+                        </targetConnections>
+                        <children/>
+                        <filterProperty/>
+                        <backgroundColor reference="../../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/backgroundColor"/>
+                        <foregroundColor reference="../../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/foregroundColor"/>
+                        <showIcon>true</showIcon>
+                        <parent class="net.java.amateras.uml.sequencediagram.model.InteractionModel" reference="../../../../../../../../../../../.."/>
+                        <listeners serialization="custom">
+                          <java.beans.PropertyChangeSupport>
+                            <default>
+                              <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                              <source class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../../.."/>
+                            </default>
+                            <null/>
+                          </java.beans.PropertyChangeSupport>
+                        </listeners>
+                      </target>
+                      <bendpoints/>
+                      <useBendpoint>false</useBendpoint>
+                      <showIcon>true</showIcon>
+                      <listeners serialization="custom">
+                        <java.beans.PropertyChangeSupport>
+                          <default>
+                            <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                            <source class="net.java.amateras.uml.sequencediagram.model.SyncMessageModel" reference="../../../.."/>
+                          </default>
+                          <null/>
+                        </java.beans.PropertyChangeSupport>
+                      </listeners>
+                    </net.java.amateras.uml.sequencediagram.model.SyncMessageModel>
+                    <net.java.amateras.uml.sequencediagram.model.SyncMessageModel>
+                      <order>12</order>
+                      <oldOrder>12</oldOrder>
+                      <name>updateFrameProperties(frame, wi)</name>
+                      <direction>true</direction>
+                      <source class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../.."/>
+                      <target class="net.java.amateras.uml.sequencediagram.model.ActivationModel">
+                        <owner reference="../../../.."/>
+                        <ownerLine reference="../../../../../../../../.."/>
+                        <movable>true</movable>
+                        <constraint>
+                          <x>194</x>
+                          <y>555</y>
+                          <width>10</width>
+                          <height>30</height>
+                        </constraint>
+                        <sourceConnections/>
+                        <targetConnections>
+                          <net.java.amateras.uml.sequencediagram.model.SyncMessageModel reference="../../.."/>
+                        </targetConnections>
+                        <children/>
+                        <filterProperty/>
+                        <backgroundColor reference="../../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/backgroundColor"/>
+                        <foregroundColor reference="../../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/foregroundColor"/>
+                        <showIcon>true</showIcon>
+                        <parent class="net.java.amateras.uml.sequencediagram.model.InteractionModel" reference="../../../../../../../../../../../.."/>
+                        <listeners serialization="custom">
+                          <java.beans.PropertyChangeSupport>
+                            <default>
+                              <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                              <source class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../../.."/>
+                            </default>
+                            <null/>
+                          </java.beans.PropertyChangeSupport>
+                        </listeners>
+                      </target>
+                      <bendpoints/>
+                      <useBendpoint>false</useBendpoint>
+                      <backgroundColor reference="../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/backgroundColor"/>
+                      <foregroundColor reference="../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/foregroundColor"/>
+                      <showIcon>true</showIcon>
+                      <listeners serialization="custom">
+                        <java.beans.PropertyChangeSupport>
+                          <default>
+                            <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                            <source class="net.java.amateras.uml.sequencediagram.model.SyncMessageModel" reference="../../../.."/>
+                          </default>
+                          <null/>
+                        </java.beans.PropertyChangeSupport>
+                      </listeners>
+                    </net.java.amateras.uml.sequencediagram.model.SyncMessageModel>
+                    <net.java.amateras.uml.sequencediagram.model.SyncMessageModel>
+                      <order>13</order>
+                      <oldOrder>13</oldOrder>
+                      <name>activateJInternalFrame(frame)</name>
+                      <direction>true</direction>
+                      <source class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../.."/>
+                      <target class="net.java.amateras.uml.sequencediagram.model.ActivationModel">
+                        <owner reference="../../../.."/>
+                        <ownerLine reference="../../../../../../../../.."/>
+                        <movable>true</movable>
+                        <constraint>
+                          <x>194</x>
+                          <y>624</y>
+                          <width>10</width>
+                          <height>30</height>
+                        </constraint>
+                        <sourceConnections/>
+                        <targetConnections>
+                          <net.java.amateras.uml.sequencediagram.model.SyncMessageModel reference="../../.."/>
+                        </targetConnections>
+                        <children/>
+                        <filterProperty/>
+                        <backgroundColor reference="../../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/backgroundColor"/>
+                        <foregroundColor reference="../../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/foregroundColor"/>
+                        <showIcon>true</showIcon>
+                        <parent class="net.java.amateras.uml.sequencediagram.model.InteractionModel" reference="../../../../../../../../../../../.."/>
+                        <listeners serialization="custom">
+                          <java.beans.PropertyChangeSupport>
+                            <default>
+                              <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                              <source class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../../.."/>
+                            </default>
+                            <null/>
+                          </java.beans.PropertyChangeSupport>
+                        </listeners>
+                      </target>
+                      <bendpoints/>
+                      <useBendpoint>false</useBendpoint>
+                      <backgroundColor reference="../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/backgroundColor"/>
+                      <foregroundColor reference="../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/foregroundColor"/>
+                      <showIcon>true</showIcon>
+                      <listeners serialization="custom">
+                        <java.beans.PropertyChangeSupport>
+                          <default>
+                            <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                            <source class="net.java.amateras.uml.sequencediagram.model.SyncMessageModel" reference="../../../.."/>
+                          </default>
+                          <null/>
+                        </java.beans.PropertyChangeSupport>
+                      </listeners>
+                    </net.java.amateras.uml.sequencediagram.model.SyncMessageModel>
+                  </sourceConnections>
+                  <targetConnections>
+                    <net.java.amateras.uml.sequencediagram.model.SyncMessageModel reference="../../.."/>
+                    <net.java.amateras.uml.sequencediagram.model.ReturnMessageModel reference="../../sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel"/>
+                  </targetConnections>
+                  <children>
+                    <net.java.amateras.uml.sequencediagram.model.ActivationModel reference="../../sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[2]/target"/>
+                    <net.java.amateras.uml.sequencediagram.model.ActivationModel reference="../../sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[3]/target"/>
+                  </children>
+                  <filterProperty/>
+                  <backgroundColor reference="../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/backgroundColor"/>
+                  <foregroundColor reference="../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/foregroundColor"/>
+                  <showIcon>true</showIcon>
+                  <parent class="net.java.amateras.uml.sequencediagram.model.InteractionModel" reference="../../../../../../../../.."/>
+                  <listeners serialization="custom">
+                    <java.beans.PropertyChangeSupport>
+                      <default>
+                        <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                        <source class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../../.."/>
+                      </default>
+                      <null/>
+                    </java.beans.PropertyChangeSupport>
+                  </listeners>
+                </target>
+                <bendpoints/>
+                <useBendpoint>false</useBendpoint>
+                <backgroundColor reference="../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/backgroundColor"/>
+                <foregroundColor reference="../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/foregroundColor"/>
+                <showIcon>true</showIcon>
+                <listeners serialization="custom">
+                  <java.beans.PropertyChangeSupport>
+                    <default>
+                      <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                      <source class="net.java.amateras.uml.sequencediagram.model.SyncMessageModel" reference="../../../.."/>
+                    </default>
+                    <null/>
+                  </java.beans.PropertyChangeSupport>
+                </listeners>
+              </net.java.amateras.uml.sequencediagram.model.SyncMessageModel>
+              <net.java.amateras.uml.sequencediagram.model.SyncMessageModel>
+                <order>14</order>
+                <oldOrder>14</oldOrder>
+                <name>add(Iwindow  p, anonymousActionListener)</name>
+                <direction>true</direction>
+                <source class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../.."/>
+                <target class="net.java.amateras.uml.sequencediagram.model.ActivationModel">
+                  <ownerLine>
+                    <owner>
+                      <name>WindowStackSupport</name>
+                      <lifeLine reference="../.."/>
+                      <root reference="../../../../../../../../../../.."/>
+                      <constraint>
+                        <x>384</x>
+                        <y>20</y>
+                        <width>120</width>
+                        <height>-1</height>
+                      </constraint>
+                      <sourceConnections/>
+                      <targetConnections/>
+                      <children>
+                        <net.java.amateras.uml.sequencediagram.model.LifeLineModel reference="../../.."/>
+                      </children>
+                      <filterProperty/>
+                      <backgroundColor reference="../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/backgroundColor"/>
+                      <foregroundColor reference="../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/foregroundColor"/>
+                      <showIcon>true</showIcon>
+                      <parent class="net.java.amateras.uml.sequencediagram.model.InteractionModel" reference="../../../../../../../../../../.."/>
+                      <listeners serialization="custom">
+                        <java.beans.PropertyChangeSupport>
+                          <default>
+                            <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                            <source class="net.java.amateras.uml.sequencediagram.model.InstanceModel" reference="../../../.."/>
+                          </default>
+                          <null/>
+                        </java.beans.PropertyChangeSupport>
+                      </listeners>
+                    </owner>
+                    <constraint>
+                      <x>444</x>
+                      <y>20</y>
+                      <width>5</width>
+                      <height>750</height>
+                    </constraint>
+                    <sourceConnections/>
+                    <targetConnections/>
+                    <children>
+                      <net.java.amateras.uml.sequencediagram.model.ActivationModel reference="../../.."/>
+                    </children>
+                    <filterProperty/>
+                    <backgroundColor reference="../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/backgroundColor"/>
+                    <foregroundColor reference="../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/foregroundColor"/>
+                    <showIcon>true</showIcon>
+                    <parent class="net.java.amateras.uml.sequencediagram.model.InteractionModel" reference="../../../../../../../../../.."/>
+                    <listeners serialization="custom">
+                      <java.beans.PropertyChangeSupport>
+                        <default>
+                          <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                          <source class="net.java.amateras.uml.sequencediagram.model.LifeLineModel" reference="../../../.."/>
+                        </default>
+                        <null/>
+                      </java.beans.PropertyChangeSupport>
+                    </listeners>
+                  </ownerLine>
+                  <movable>true</movable>
+                  <constraint>
+                    <x>439</x>
+                    <y>690</y>
+                    <width>10</width>
+                    <height>30</height>
+                  </constraint>
+                  <sourceConnections>
+                    <net.java.amateras.uml.sequencediagram.model.ReturnMessageModel>
+                      <name></name>
+                      <direction>false</direction>
+                      <source class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../.."/>
+                      <target class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../../../../.."/>
+                      <bendpoints/>
+                      <useBendpoint>false</useBendpoint>
+                      <showIcon>true</showIcon>
+                      <listeners serialization="custom">
+                        <java.beans.PropertyChangeSupport>
+                          <default>
+                            <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                            <source class="net.java.amateras.uml.sequencediagram.model.ReturnMessageModel" reference="../../../.."/>
+                          </default>
+                          <null/>
+                        </java.beans.PropertyChangeSupport>
+                      </listeners>
+                    </net.java.amateras.uml.sequencediagram.model.ReturnMessageModel>
+                  </sourceConnections>
+                  <targetConnections>
+                    <net.java.amateras.uml.sequencediagram.model.SyncMessageModel reference="../../.."/>
+                  </targetConnections>
+                  <children/>
+                  <filterProperty/>
+                  <backgroundColor reference="../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/backgroundColor"/>
+                  <foregroundColor reference="../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/foregroundColor"/>
+                  <showIcon>true</showIcon>
+                  <parent class="net.java.amateras.uml.sequencediagram.model.InteractionModel" reference="../../../../../../../../.."/>
+                  <listeners serialization="custom">
+                    <java.beans.PropertyChangeSupport>
+                      <default>
+                        <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                        <source class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../../.."/>
+                      </default>
+                      <null/>
+                    </java.beans.PropertyChangeSupport>
+                  </listeners>
+                </target>
+                <bendpoints/>
+                <useBendpoint>false</useBendpoint>
+                <showIcon>true</showIcon>
+                <listeners serialization="custom">
+                  <java.beans.PropertyChangeSupport>
+                    <default>
+                      <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                      <source class="net.java.amateras.uml.sequencediagram.model.SyncMessageModel" reference="../../../.."/>
+                    </default>
+                    <null/>
+                  </java.beans.PropertyChangeSupport>
+                </listeners>
+              </net.java.amateras.uml.sequencediagram.model.SyncMessageModel>
+            </sourceConnections>
+            <targetConnections>
+              <net.java.amateras.uml.sequencediagram.model.SyncMessageModel reference="../../sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel"/>
+              <net.java.amateras.uml.sequencediagram.model.ReturnMessageModel reference="../../sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel"/>
+              <net.java.amateras.uml.sequencediagram.model.ReturnMessageModel reference="../../sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[2]/target/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel"/>
+              <net.java.amateras.uml.sequencediagram.model.ReturnMessageModel reference="../../sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target/ownerLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel[2]/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/owner/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel"/>
+              <net.java.amateras.uml.sequencediagram.model.ReturnMessageModel reference="../../sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[2]/target/ownerLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel[2]/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel"/>
+              <net.java.amateras.uml.sequencediagram.model.ReturnMessageModel reference="../../sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[6]/target/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel"/>
+            </targetConnections>
+            <children>
+              <net.java.amateras.uml.sequencediagram.model.ActivationModel reference="../../sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[5]/target"/>
+            </children>
+            <filterProperty/>
+            <backgroundColor reference="../sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/backgroundColor"/>
+            <foregroundColor reference="../sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/foregroundColor"/>
+            <showIcon>true</showIcon>
+            <parent class="net.java.amateras.uml.sequencediagram.model.InteractionModel" reference="../../../../../.."/>
+            <listeners serialization="custom">
+              <java.beans.PropertyChangeSupport>
+                <default>
+                  <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                  <source class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../../.."/>
+                </default>
+                <null/>
+              </java.beans.PropertyChangeSupport>
+            </listeners>
+          </net.java.amateras.uml.sequencediagram.model.ActivationModel>
+        </children>
+        <filterProperty/>
+        <backgroundColor reference="../children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/backgroundColor"/>
+        <foregroundColor reference="../children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/foregroundColor"/>
+        <showIcon>true</showIcon>
+        <parent class="net.java.amateras.uml.sequencediagram.model.InteractionModel" reference="../../../.."/>
+        <listeners serialization="custom">
+          <java.beans.PropertyChangeSupport>
+            <default>
+              <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+              <source class="net.java.amateras.uml.sequencediagram.model.LifeLineModel" reference="../../../.."/>
+            </default>
+            <null/>
+          </java.beans.PropertyChangeSupport>
+        </listeners>
+      </lifeLine>
+      <root reference="../../.."/>
+      <constraint>
+        <x>139</x>
+        <y>20</y>
+        <width>100</width>
+        <height>-1</height>
+      </constraint>
+      <sourceConnections/>
+      <targetConnections/>
+      <children>
+        <net.java.amateras.uml.sequencediagram.model.LifeLineModel reference="../../lifeLine"/>
+      </children>
+      <filterProperty/>
+      <backgroundColor reference="../lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/backgroundColor"/>
+      <foregroundColor reference="../lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/foregroundColor"/>
+      <showIcon>true</showIcon>
+      <parent class="net.java.amateras.uml.sequencediagram.model.InteractionModel" reference="../../.."/>
+      <listeners serialization="custom">
+        <java.beans.PropertyChangeSupport>
+          <default>
+            <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+            <source class="net.java.amateras.uml.sequencediagram.model.InstanceModel" reference="../../../.."/>
+          </default>
+          <null/>
+        </java.beans.PropertyChangeSupport>
+      </listeners>
+    </net.java.amateras.uml.sequencediagram.model.InstanceModel>
+    <net.java.amateras.uml.sequencediagram.model.InstanceModel reference="../net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target/ownerLine/owner"/>
+    <net.java.amateras.uml.sequencediagram.model.InstanceModel>
+      <name>IWindow</name>
+      <lifeLine>
+        <owner reference="../.."/>
+        <constraint>
+          <x>703</x>
+          <y>20</y>
+          <width>5</width>
+          <height>750</height>
+        </constraint>
+        <sourceConnections/>
+        <targetConnections/>
+        <children/>
+        <filterProperty/>
+        <backgroundColor reference="../../../net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/backgroundColor"/>
+        <foregroundColor reference="../../../net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/foregroundColor"/>
+        <showIcon>true</showIcon>
+        <parent class="net.java.amateras.uml.sequencediagram.model.InteractionModel" reference="../../../.."/>
+        <listeners serialization="custom">
+          <java.beans.PropertyChangeSupport>
+            <default>
+              <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+              <source class="net.java.amateras.uml.sequencediagram.model.LifeLineModel" reference="../../../.."/>
+            </default>
+            <null/>
+          </java.beans.PropertyChangeSupport>
+        </listeners>
+      </lifeLine>
+      <root reference="../../.."/>
+      <constraint>
+        <x>653</x>
+        <y>20</y>
+        <width>100</width>
+        <height>-1</height>
+      </constraint>
+      <sourceConnections/>
+      <targetConnections/>
+      <children>
+        <net.java.amateras.uml.sequencediagram.model.LifeLineModel reference="../../lifeLine"/>
+      </children>
+      <filterProperty/>
+      <backgroundColor reference="../../net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/backgroundColor"/>
+      <foregroundColor reference="../../net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/foregroundColor"/>
+      <showIcon>true</showIcon>
+      <parent class="net.java.amateras.uml.sequencediagram.model.InteractionModel" reference="../../.."/>
+      <listeners serialization="custom">
+        <java.beans.PropertyChangeSupport>
+          <default>
+            <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+            <source class="net.java.amateras.uml.sequencediagram.model.InstanceModel" reference="../../../.."/>
+          </default>
+          <null/>
+        </java.beans.PropertyChangeSupport>
+      </listeners>
+    </net.java.amateras.uml.sequencediagram.model.InstanceModel>
+    <net.java.amateras.uml.sequencediagram.model.ActorModel reference="../net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner"/>
+    <net.java.amateras.uml.sequencediagram.model.InstanceModel>
+      <name>WindowInfo</name>
+      <lifeLine>
+        <owner reference="../.."/>
+        <constraint>
+          <x>814</x>
+          <y>20</y>
+          <width>5</width>
+          <height>750</height>
+        </constraint>
+        <sourceConnections/>
+        <targetConnections/>
+        <children/>
+        <filterProperty/>
+        <backgroundColor reference="../../../net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/backgroundColor"/>
+        <foregroundColor reference="../../../net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/foregroundColor"/>
+        <showIcon>true</showIcon>
+        <parent class="net.java.amateras.uml.sequencediagram.model.InteractionModel" reference="../../../.."/>
+        <listeners serialization="custom">
+          <java.beans.PropertyChangeSupport>
+            <default>
+              <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+              <source class="net.java.amateras.uml.sequencediagram.model.LifeLineModel" reference="../../../.."/>
+            </default>
+            <null/>
+          </java.beans.PropertyChangeSupport>
+        </listeners>
+      </lifeLine>
+      <root reference="../../.."/>
+      <constraint>
+        <x>764</x>
+        <y>20</y>
+        <width>100</width>
+        <height>-1</height>
+      </constraint>
+      <sourceConnections/>
+      <targetConnections/>
+      <children>
+        <net.java.amateras.uml.sequencediagram.model.LifeLineModel reference="../../lifeLine"/>
+      </children>
+      <filterProperty/>
+      <backgroundColor reference="../../net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/backgroundColor"/>
+      <foregroundColor reference="../../net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/foregroundColor"/>
+      <showIcon>true</showIcon>
+      <parent class="net.java.amateras.uml.sequencediagram.model.InteractionModel" reference="../../.."/>
+      <listeners serialization="custom">
+        <java.beans.PropertyChangeSupport>
+          <default>
+            <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+            <source class="net.java.amateras.uml.sequencediagram.model.InstanceModel" reference="../../../.."/>
+          </default>
+          <null/>
+        </java.beans.PropertyChangeSupport>
+      </listeners>
+    </net.java.amateras.uml.sequencediagram.model.InstanceModel>
+    <net.java.amateras.uml.sequencediagram.model.InstanceModel reference="../net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[2]/target/ownerLine/owner"/>
+    <net.java.amateras.uml.sequencediagram.model.InstanceModel reference="../net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[6]/target/ownerLine/owner"/>
+    <net.java.amateras.uml.sequencediagram.model.InstanceModel reference="../net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target/ownerLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel[2]/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/owner/ownerLine/owner"/>
+    <net.java.amateras.uml.sequencediagram.model.InstanceModel reference="../net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[2]/target/ownerLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel[2]/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target/ownerLine/owner"/>
+    <net.java.amateras.uml.sequencediagram.model.InstanceModel reference="../net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[5]/target/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target/ownerLine/owner"/>
+  </instances>
+  <activations>
+    <net.java.amateras.uml.sequencediagram.model.ActivationModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target"/>
+    <net.java.amateras.uml.sequencediagram.model.ActivationModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel"/>
+    <net.java.amateras.uml.sequencediagram.model.ActivationModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target"/>
+    <net.java.amateras.uml.sequencediagram.model.ActivationModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[2]/target"/>
+    <net.java.amateras.uml.sequencediagram.model.ActivationModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target/ownerLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel[2]/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/owner/ownerLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel"/>
+    <net.java.amateras.uml.sequencediagram.model.ActivationModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target/ownerLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel[2]/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/owner"/>
+    <net.java.amateras.uml.sequencediagram.model.ActivationModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target/ownerLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel[2]/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target"/>
+    <net.java.amateras.uml.sequencediagram.model.ActivationModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target/ownerLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel[2]"/>
+    <net.java.amateras.uml.sequencediagram.model.ActivationModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[2]/target/ownerLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel[2]"/>
+    <net.java.amateras.uml.sequencediagram.model.ActivationModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[2]/target/ownerLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel[2]/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target"/>
+    <net.java.amateras.uml.sequencediagram.model.ActivationModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[5]/target"/>
+    <net.java.amateras.uml.sequencediagram.model.ActivationModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[5]/target/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target"/>
+    <net.java.amateras.uml.sequencediagram.model.ActivationModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[5]/target/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[2]/target"/>
+    <net.java.amateras.uml.sequencediagram.model.ActivationModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[5]/target/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[3]/target"/>
+    <net.java.amateras.uml.sequencediagram.model.ActivationModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[6]/target"/>
+  </activations>
+  <fragments/>
+  <lifelines>
+    <net.java.amateras.uml.sequencediagram.model.LifeLineModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine"/>
+    <net.java.amateras.uml.sequencediagram.model.LifeLineModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target/ownerLine"/>
+    <net.java.amateras.uml.sequencediagram.model.LifeLineModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel[3]/lifeLine"/>
+    <net.java.amateras.uml.sequencediagram.model.LifeLineModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine"/>
+    <net.java.amateras.uml.sequencediagram.model.LifeLineModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel[4]/lifeLine"/>
+    <net.java.amateras.uml.sequencediagram.model.LifeLineModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[2]/target/ownerLine"/>
+    <net.java.amateras.uml.sequencediagram.model.LifeLineModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[6]/target/ownerLine"/>
+    <net.java.amateras.uml.sequencediagram.model.LifeLineModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target/ownerLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel[2]/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/owner/ownerLine"/>
+    <net.java.amateras.uml.sequencediagram.model.LifeLineModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[2]/target/ownerLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel[2]/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target/ownerLine"/>
+    <net.java.amateras.uml.sequencediagram.model.LifeLineModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[5]/target/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target/ownerLine"/>
+  </lifelines>
+  <sourceConnections/>
+  <targetConnections/>
+  <children>
+    <net.java.amateras.uml.sequencediagram.model.LifeLineModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine"/>
+    <net.java.amateras.uml.sequencediagram.model.InstanceModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel"/>
+    <net.java.amateras.uml.sequencediagram.model.LifeLineModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target/ownerLine"/>
+    <net.java.amateras.uml.sequencediagram.model.InstanceModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target/ownerLine/owner"/>
+    <net.java.amateras.uml.sequencediagram.model.LifeLineModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel[3]/lifeLine"/>
+    <net.java.amateras.uml.sequencediagram.model.InstanceModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel[3]"/>
+    <net.java.amateras.uml.sequencediagram.model.LifeLineModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine"/>
+    <net.java.amateras.uml.sequencediagram.model.ActorModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner"/>
+    <net.java.amateras.uml.sequencediagram.model.ActivationModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target"/>
+    <net.java.amateras.uml.sequencediagram.model.ActivationModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel"/>
+    <net.java.amateras.uml.sequencediagram.model.ActivationModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target"/>
+    <net.java.amateras.uml.sequencediagram.model.LifeLineModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel[4]/lifeLine"/>
+    <net.java.amateras.uml.sequencediagram.model.InstanceModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel[4]"/>
+    <net.java.amateras.uml.sequencediagram.model.LifeLineModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[2]/target/ownerLine"/>
+    <net.java.amateras.uml.sequencediagram.model.InstanceModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[2]/target/ownerLine/owner"/>
+    <net.java.amateras.uml.sequencediagram.model.LifeLineModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[6]/target/ownerLine"/>
+    <net.java.amateras.uml.sequencediagram.model.InstanceModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[6]/target/ownerLine/owner"/>
+    <net.java.amateras.uml.sequencediagram.model.ActivationModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[2]/target"/>
+    <net.java.amateras.uml.sequencediagram.model.LifeLineModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target/ownerLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel[2]/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/owner/ownerLine"/>
+    <net.java.amateras.uml.sequencediagram.model.InstanceModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target/ownerLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel[2]/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/owner/ownerLine/owner"/>
+    <net.java.amateras.uml.model.NoteModel>
+      <content>Reopen SingletonWindow
+
+Current situation</content>
+      <old>Reopen SingletonWindow
+
+Old situation</old>
+      <constraint>
+        <x>1305</x>
+        <y>40</y>
+        <width>127</width>
+        <height>77</height>
+      </constraint>
+      <sourceConnections/>
+      <targetConnections/>
+      <children/>
+      <filterProperty/>
+      <backgroundColor reference="../../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/backgroundColor"/>
+      <foregroundColor reference="../../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/foregroundColor"/>
+      <showIcon>true</showIcon>
+      <parent class="net.java.amateras.uml.sequencediagram.model.InteractionModel" reference="../../.."/>
+      <listeners serialization="custom">
+        <java.beans.PropertyChangeSupport>
+          <default>
+            <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+            <source class="net.java.amateras.uml.model.NoteModel" reference="../../../.."/>
+          </default>
+          <null/>
+        </java.beans.PropertyChangeSupport>
+      </listeners>
+    </net.java.amateras.uml.model.NoteModel>
+    <net.java.amateras.uml.sequencediagram.model.LifeLineModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[2]/target/ownerLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel[2]/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target/ownerLine"/>
+    <net.java.amateras.uml.sequencediagram.model.InstanceModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[2]/target/ownerLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel[2]/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target/ownerLine/owner"/>
+    <net.java.amateras.uml.sequencediagram.model.LifeLineModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[5]/target/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target/ownerLine"/>
+    <net.java.amateras.uml.sequencediagram.model.InstanceModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[5]/target/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target/ownerLine/owner"/>
+    <net.java.amateras.uml.sequencediagram.model.ActivationModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target/ownerLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel[2]/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/owner/ownerLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel"/>
+    <net.java.amateras.uml.sequencediagram.model.ActivationModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target/ownerLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel[2]/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/owner"/>
+    <net.java.amateras.uml.sequencediagram.model.ActivationModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target/ownerLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel[2]/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target"/>
+    <net.java.amateras.uml.sequencediagram.model.ActivationModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target/ownerLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel[2]"/>
+    <net.java.amateras.uml.sequencediagram.model.ActivationModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[2]/target/ownerLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel[2]"/>
+    <net.java.amateras.uml.sequencediagram.model.ActivationModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[2]/target/ownerLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel[2]/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target"/>
+    <net.java.amateras.uml.sequencediagram.model.ActivationModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[5]/target"/>
+    <net.java.amateras.uml.sequencediagram.model.ActivationModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[5]/target/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target"/>
+    <net.java.amateras.uml.sequencediagram.model.ActivationModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[5]/target/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[2]/target"/>
+    <net.java.amateras.uml.sequencediagram.model.ActivationModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[5]/target/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[3]/target"/>
+    <net.java.amateras.uml.sequencediagram.model.ActivationModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[6]/target"/>
+  </children>
+  <filterProperty/>
+  <backgroundColor reference="../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/backgroundColor"/>
+  <foregroundColor reference="../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/foregroundColor"/>
+  <showIcon>true</showIcon>
+  <listeners serialization="custom">
+    <java.beans.PropertyChangeSupport>
+      <default>
+        <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+        <source class="net.java.amateras.uml.sequencediagram.model.InteractionModel" reference="../../../.."/>
+      </default>
+      <null/>
+    </java.beans.PropertyChangeSupport>
+  </listeners>
+</net.java.amateras.uml.sequencediagram.model.InteractionModel>
\ No newline at end of file

Property changes on: tags/v2_0_0_Build_2047/libraries/libCorePlugin/doc/reopenSingletonWindow.sqd
___________________________________________________________________
Added: svn:eol-style
   + native

Index: tags/v2_0_0_Build_2047/libraries/libCorePlugin/doc/addNewSingletonWindow.sqd
===================================================================
--- tags/v2_0_0_Build_2047/libraries/libCorePlugin/doc/addNewSingletonWindow.sqd	(revision 0)
+++ tags/v2_0_0_Build_2047/libraries/libCorePlugin/doc/addNewSingletonWindow.sqd	(revision 38279)
@@ -0,0 +1,1958 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<net.java.amateras.uml.sequencediagram.model.InteractionModel>
+  <instances>
+    <net.java.amateras.uml.sequencediagram.model.InstanceModel>
+      <name>NewSkin</name>
+      <lifeLine>
+        <owner reference="../.."/>
+        <constraint>
+          <x>189</x>
+          <y>20</y>
+          <width>5</width>
+          <height>983</height>
+        </constraint>
+        <sourceConnections/>
+        <targetConnections/>
+        <children>
+          <net.java.amateras.uml.sequencediagram.model.ActivationModel>
+            <ownerLine reference="../../.."/>
+            <movable>true</movable>
+            <constraint>
+              <x>184</x>
+              <y>85</y>
+              <width>10</width>
+              <height>878</height>
+            </constraint>
+            <sourceConnections>
+              <net.java.amateras.uml.sequencediagram.model.ReturnMessageModel>
+                <name></name>
+                <direction>false</direction>
+                <source class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../.."/>
+                <target class="net.java.amateras.uml.sequencediagram.model.ActivationModel">
+                  <ownerLine>
+                    <owner class="net.java.amateras.uml.sequencediagram.model.ActorModel">
+                      <name>actor</name>
+                      <lifeLine reference="../.."/>
+                      <root reference="../../../../../../../../../../.."/>
+                      <constraint>
+                        <x>-29</x>
+                        <y>20</y>
+                        <width>100</width>
+                        <height>-1</height>
+                      </constraint>
+                      <sourceConnections/>
+                      <targetConnections/>
+                      <children>
+                        <net.java.amateras.uml.sequencediagram.model.LifeLineModel reference="../../.."/>
+                      </children>
+                      <filterProperty/>
+                      <backgroundColor>
+                        <red>255</red>
+                        <green>255</green>
+                        <blue>206</blue>
+                      </backgroundColor>
+                      <foregroundColor>
+                        <red>0</red>
+                        <green>0</green>
+                        <blue>0</blue>
+                      </foregroundColor>
+                      <showIcon>true</showIcon>
+                      <parent class="net.java.amateras.uml.sequencediagram.model.InteractionModel" reference="../../../../../../../../../../.."/>
+                      <listeners serialization="custom">
+                        <java.beans.PropertyChangeSupport>
+                          <default>
+                            <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                            <source class="net.java.amateras.uml.sequencediagram.model.ActorModel" reference="../../../.."/>
+                          </default>
+                          <null/>
+                        </java.beans.PropertyChangeSupport>
+                      </listeners>
+                    </owner>
+                    <constraint>
+                      <x>21</x>
+                      <y>20</y>
+                      <width>5</width>
+                      <height>983</height>
+                    </constraint>
+                    <sourceConnections/>
+                    <targetConnections/>
+                    <children>
+                      <net.java.amateras.uml.sequencediagram.model.ActivationModel reference="../../.."/>
+                    </children>
+                    <filterProperty/>
+                    <backgroundColor reference="../owner/backgroundColor"/>
+                    <foregroundColor reference="../owner/foregroundColor"/>
+                    <showIcon>true</showIcon>
+                    <parent class="net.java.amateras.uml.sequencediagram.model.InteractionModel" reference="../../../../../../../../../.."/>
+                    <listeners serialization="custom">
+                      <java.beans.PropertyChangeSupport>
+                        <default>
+                          <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                          <source class="net.java.amateras.uml.sequencediagram.model.LifeLineModel" reference="../../../.."/>
+                        </default>
+                        <null/>
+                      </java.beans.PropertyChangeSupport>
+                    </listeners>
+                  </ownerLine>
+                  <movable>true</movable>
+                  <constraint>
+                    <x>16</x>
+                    <y>85</y>
+                    <width>10</width>
+                    <height>888</height>
+                  </constraint>
+                  <sourceConnections>
+                    <net.java.amateras.uml.sequencediagram.model.SyncMessageModel>
+                      <order>1</order>
+                      <oldOrder>1</oldOrder>
+                      <name>addWindow(IWindow p)</name>
+                      <direction>true</direction>
+                      <source class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../.."/>
+                      <target class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../../../../.."/>
+                      <bendpoints/>
+                      <useBendpoint>false</useBendpoint>
+                      <showIcon>true</showIcon>
+                      <listeners serialization="custom">
+                        <java.beans.PropertyChangeSupport>
+                          <default>
+                            <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                            <source class="net.java.amateras.uml.sequencediagram.model.SyncMessageModel" reference="../../../.."/>
+                          </default>
+                          <null/>
+                        </java.beans.PropertyChangeSupport>
+                      </listeners>
+                    </net.java.amateras.uml.sequencediagram.model.SyncMessageModel>
+                  </sourceConnections>
+                  <targetConnections>
+                    <net.java.amateras.uml.sequencediagram.model.ReturnMessageModel reference="../../.."/>
+                  </targetConnections>
+                  <children/>
+                  <filterProperty/>
+                  <backgroundColor reference="../ownerLine/owner/backgroundColor"/>
+                  <foregroundColor reference="../ownerLine/owner/foregroundColor"/>
+                  <showIcon>true</showIcon>
+                  <parent class="net.java.amateras.uml.sequencediagram.model.InteractionModel" reference="../../../../../../../../.."/>
+                  <listeners serialization="custom">
+                    <java.beans.PropertyChangeSupport>
+                      <default>
+                        <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                        <source class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../../.."/>
+                      </default>
+                      <null/>
+                    </java.beans.PropertyChangeSupport>
+                  </listeners>
+                </target>
+                <bendpoints/>
+                <useBendpoint>false</useBendpoint>
+                <showIcon>true</showIcon>
+                <listeners serialization="custom">
+                  <java.beans.PropertyChangeSupport>
+                    <default>
+                      <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                      <source class="net.java.amateras.uml.sequencediagram.model.ReturnMessageModel" reference="../../../.."/>
+                    </default>
+                    <null/>
+                  </java.beans.PropertyChangeSupport>
+                </listeners>
+              </net.java.amateras.uml.sequencediagram.model.ReturnMessageModel>
+              <net.java.amateras.uml.sequencediagram.model.SyncMessageModel>
+                <order>2</order>
+                <oldOrder>2</oldOrder>
+                <name>getWindowInfo(IWindow p)</name>
+                <direction>true</direction>
+                <source class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../.."/>
+                <target class="net.java.amateras.uml.sequencediagram.model.ActivationModel">
+                  <ownerLine>
+                    <owner>
+                      <name>WindowInfoSupport</name>
+                      <lifeLine reference="../.."/>
+                      <root reference="../../../../../../../../../../.."/>
+                      <constraint>
+                        <x>516</x>
+                        <y>20</y>
+                        <width>129</width>
+                        <height>-1</height>
+                      </constraint>
+                      <sourceConnections/>
+                      <targetConnections/>
+                      <children>
+                        <net.java.amateras.uml.sequencediagram.model.LifeLineModel reference="../../.."/>
+                      </children>
+                      <filterProperty/>
+                      <backgroundColor reference="../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/backgroundColor"/>
+                      <foregroundColor reference="../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/foregroundColor"/>
+                      <showIcon>true</showIcon>
+                      <parent class="net.java.amateras.uml.sequencediagram.model.InteractionModel" reference="../../../../../../../../../../.."/>
+                      <listeners serialization="custom">
+                        <java.beans.PropertyChangeSupport>
+                          <default>
+                            <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                            <source class="net.java.amateras.uml.sequencediagram.model.InstanceModel" reference="../../../.."/>
+                          </default>
+                          <null/>
+                        </java.beans.PropertyChangeSupport>
+                      </listeners>
+                    </owner>
+                    <constraint>
+                      <x>581</x>
+                      <y>20</y>
+                      <width>5</width>
+                      <height>983</height>
+                    </constraint>
+                    <sourceConnections/>
+                    <targetConnections/>
+                    <children>
+                      <net.java.amateras.uml.sequencediagram.model.ActivationModel reference="../../.."/>
+                      <net.java.amateras.uml.sequencediagram.model.ActivationModel>
+                        <ownerLine reference="../../.."/>
+                        <movable>true</movable>
+                        <constraint>
+                          <x>576</x>
+                          <y>429</y>
+                          <width>10</width>
+                          <height>47</height>
+                        </constraint>
+                        <sourceConnections>
+                          <net.java.amateras.uml.sequencediagram.model.ReturnMessageModel>
+                            <name></name>
+                            <direction>false</direction>
+                            <source class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../.."/>
+                            <target class="net.java.amateras.uml.sequencediagram.model.ActivationModel">
+                              <owner reference="../../../../../../../../../.."/>
+                              <ownerLine reference="../../../../../../../../../../../.."/>
+                              <movable>true</movable>
+                              <constraint>
+                                <x>189</x>
+                                <y>403</y>
+                                <width>10</width>
+                                <height>550</height>
+                              </constraint>
+                              <sourceConnections>
+                                <net.java.amateras.uml.sequencediagram.model.SyncMessageModel>
+                                  <order>9</order>
+                                  <oldOrder>9</oldOrder>
+                                  <name>wi = getWindowInfo()</name>
+                                  <direction>true</direction>
+                                  <source class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../.."/>
+                                  <target class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../../../../.."/>
+                                  <bendpoints/>
+                                  <useBendpoint>false</useBendpoint>
+                                  <showIcon>true</showIcon>
+                                  <listeners serialization="custom">
+                                    <java.beans.PropertyChangeSupport>
+                                      <default>
+                                        <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                                        <source class="net.java.amateras.uml.sequencediagram.model.SyncMessageModel" reference="../../../.."/>
+                                      </default>
+                                      <null/>
+                                    </java.beans.PropertyChangeSupport>
+                                  </listeners>
+                                </net.java.amateras.uml.sequencediagram.model.SyncMessageModel>
+                                <net.java.amateras.uml.sequencediagram.model.SyncMessageModel>
+                                  <order>11</order>
+                                  <oldOrder>11</oldOrder>
+                                  <name>getJInternalFrame(p)</name>
+                                  <direction>true</direction>
+                                  <source class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../.."/>
+                                  <target class="net.java.amateras.uml.sequencediagram.model.ActivationModel">
+                                    <ownerLine>
+                                      <owner>
+                                        <name>FrameWindowSupport</name>
+                                        <lifeLine reference="../.."/>
+                                        <root reference="../../../../../../../../../../../../../../../../../../../.."/>
+                                        <constraint>
+                                          <x>871</x>
+                                          <y>20</y>
+                                          <width>115</width>
+                                          <height>-1</height>
+                                        </constraint>
+                                        <sourceConnections/>
+                                        <targetConnections/>
+                                        <children>
+                                          <net.java.amateras.uml.sequencediagram.model.LifeLineModel reference="../../.."/>
+                                        </children>
+                                        <filterProperty/>
+                                        <backgroundColor reference="../../../../../../../../../../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/backgroundColor"/>
+                                        <foregroundColor reference="../../../../../../../../../../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/foregroundColor"/>
+                                        <showIcon>true</showIcon>
+                                        <parent class="net.java.amateras.uml.sequencediagram.model.InteractionModel" reference="../../../../../../../../../../../../../../../../../../../.."/>
+                                        <listeners serialization="custom">
+                                          <java.beans.PropertyChangeSupport>
+                                            <default>
+                                              <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                                              <source class="net.java.amateras.uml.sequencediagram.model.InstanceModel" reference="../../../.."/>
+                                            </default>
+                                            <null/>
+                                          </java.beans.PropertyChangeSupport>
+                                        </listeners>
+                                      </owner>
+                                      <constraint>
+                                        <x>928</x>
+                                        <y>20</y>
+                                        <width>5</width>
+                                        <height>983</height>
+                                      </constraint>
+                                      <sourceConnections/>
+                                      <targetConnections/>
+                                      <children>
+                                        <net.java.amateras.uml.sequencediagram.model.ActivationModel>
+                                          <ownerLine reference="../../.."/>
+                                          <movable>true</movable>
+                                          <constraint>
+                                            <x>923</x>
+                                            <y>436</y>
+                                            <width>10</width>
+                                            <height>30</height>
+                                          </constraint>
+                                          <sourceConnections>
+                                            <net.java.amateras.uml.sequencediagram.model.ReturnMessageModel>
+                                              <name></name>
+                                              <direction>false</direction>
+                                              <source class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../.."/>
+                                              <target class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../../../../../../../../../../.."/>
+                                              <bendpoints/>
+                                              <useBendpoint>false</useBendpoint>
+                                              <showIcon>true</showIcon>
+                                              <listeners serialization="custom">
+                                                <java.beans.PropertyChangeSupport>
+                                                  <default>
+                                                    <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                                                    <source class="net.java.amateras.uml.sequencediagram.model.ReturnMessageModel" reference="../../../.."/>
+                                                  </default>
+                                                  <null/>
+                                                </java.beans.PropertyChangeSupport>
+                                              </listeners>
+                                            </net.java.amateras.uml.sequencediagram.model.ReturnMessageModel>
+                                          </sourceConnections>
+                                          <targetConnections>
+                                            <net.java.amateras.uml.sequencediagram.model.SyncMessageModel>
+                                              <order>10</order>
+                                              <oldOrder>10</oldOrder>
+                                              <name>updateWindowInfo(p, wi)</name>
+                                              <direction>true</direction>
+                                              <source class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../../../../../../../../../../.."/>
+                                              <target class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../.."/>
+                                              <bendpoints/>
+                                              <useBendpoint>false</useBendpoint>
+                                              <showIcon>true</showIcon>
+                                              <listeners serialization="custom">
+                                                <java.beans.PropertyChangeSupport>
+                                                  <default>
+                                                    <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                                                    <source class="net.java.amateras.uml.sequencediagram.model.SyncMessageModel" reference="../../../.."/>
+                                                  </default>
+                                                  <null/>
+                                                </java.beans.PropertyChangeSupport>
+                                              </listeners>
+                                            </net.java.amateras.uml.sequencediagram.model.SyncMessageModel>
+                                          </targetConnections>
+                                          <children/>
+                                          <filterProperty/>
+                                          <backgroundColor reference="../../../../../../../../../../../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/backgroundColor"/>
+                                          <foregroundColor reference="../../../../../../../../../../../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/foregroundColor"/>
+                                          <showIcon>true</showIcon>
+                                          <parent class="net.java.amateras.uml.sequencediagram.model.InteractionModel" reference="../../../../../../../../../../../../../../../../../../../../.."/>
+                                          <listeners serialization="custom">
+                                            <java.beans.PropertyChangeSupport>
+                                              <default>
+                                                <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                                                <source class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../../.."/>
+                                              </default>
+                                              <null/>
+                                            </java.beans.PropertyChangeSupport>
+                                          </listeners>
+                                        </net.java.amateras.uml.sequencediagram.model.ActivationModel>
+                                        <net.java.amateras.uml.sequencediagram.model.ActivationModel reference="../../.."/>
+                                      </children>
+                                      <filterProperty/>
+                                      <backgroundColor reference="../../../../../../../../../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/backgroundColor"/>
+                                      <foregroundColor reference="../../../../../../../../../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/foregroundColor"/>
+                                      <showIcon>true</showIcon>
+                                      <parent class="net.java.amateras.uml.sequencediagram.model.InteractionModel" reference="../../../../../../../../../../../../../../../../../../.."/>
+                                      <listeners serialization="custom">
+                                        <java.beans.PropertyChangeSupport>
+                                          <default>
+                                            <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                                            <source class="net.java.amateras.uml.sequencediagram.model.LifeLineModel" reference="../../../.."/>
+                                          </default>
+                                          <null/>
+                                        </java.beans.PropertyChangeSupport>
+                                      </listeners>
+                                    </ownerLine>
+                                    <movable>true</movable>
+                                    <constraint>
+                                      <x>923</x>
+                                      <y>500</y>
+                                      <width>10</width>
+                                      <height>87</height>
+                                    </constraint>
+                                    <sourceConnections>
+                                      <net.java.amateras.uml.sequencediagram.model.ReturnMessageModel>
+                                        <name></name>
+                                        <direction>false</direction>
+                                        <source class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../.."/>
+                                        <target class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../../../../.."/>
+                                        <bendpoints/>
+                                        <useBendpoint>false</useBendpoint>
+                                        <showIcon>true</showIcon>
+                                        <listeners serialization="custom">
+                                          <java.beans.PropertyChangeSupport>
+                                            <default>
+                                              <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                                              <source class="net.java.amateras.uml.sequencediagram.model.ReturnMessageModel" reference="../../../.."/>
+                                            </default>
+                                            <null/>
+                                          </java.beans.PropertyChangeSupport>
+                                        </listeners>
+                                      </net.java.amateras.uml.sequencediagram.model.ReturnMessageModel>
+                                      <net.java.amateras.uml.sequencediagram.model.SyncMessageModel>
+                                        <order>12</order>
+                                        <oldOrder>12</oldOrder>
+                                        <name>frame = createJInternalFrame(p)</name>
+                                        <direction>true</direction>
+                                        <source class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../.."/>
+                                        <target class="net.java.amateras.uml.sequencediagram.model.ActivationModel">
+                                          <owner reference="../../../.."/>
+                                          <ownerLine reference="../../../../ownerLine"/>
+                                          <movable>true</movable>
+                                          <constraint>
+                                            <x>928</x>
+                                            <y>526</y>
+                                            <width>10</width>
+                                            <height>51</height>
+                                          </constraint>
+                                          <sourceConnections>
+                                            <net.java.amateras.uml.sequencediagram.model.SyncMessageModel>
+                                              <order>13</order>
+                                              <oldOrder>13</oldOrder>
+                                              <name>wi = getWindowInfo(IWindow p) </name>
+                                              <direction>false</direction>
+                                              <source class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../.."/>
+                                              <target class="net.java.amateras.uml.sequencediagram.model.ActivationModel">
+                                                <ownerLine reference="../../../../../../../../../../../../../../.."/>
+                                                <movable>true</movable>
+                                                <constraint>
+                                                  <x>576</x>
+                                                  <y>537</y>
+                                                  <width>10</width>
+                                                  <height>30</height>
+                                                </constraint>
+                                                <sourceConnections>
+                                                  <net.java.amateras.uml.sequencediagram.model.ReturnMessageModel>
+                                                    <name></name>
+                                                    <direction>true</direction>
+                                                    <source class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../.."/>
+                                                    <target class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../../../../.."/>
+                                                    <bendpoints/>
+                                                    <useBendpoint>false</useBendpoint>
+                                                    <showIcon>true</showIcon>
+                                                    <listeners serialization="custom">
+                                                      <java.beans.PropertyChangeSupport>
+                                                        <default>
+                                                          <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                                                          <source class="net.java.amateras.uml.sequencediagram.model.ReturnMessageModel" reference="../../../.."/>
+                                                        </default>
+                                                        <null/>
+                                                      </java.beans.PropertyChangeSupport>
+                                                    </listeners>
+                                                  </net.java.amateras.uml.sequencediagram.model.ReturnMessageModel>
+                                                </sourceConnections>
+                                                <targetConnections>
+                                                  <net.java.amateras.uml.sequencediagram.model.SyncMessageModel reference="../../.."/>
+                                                </targetConnections>
+                                                <children/>
+                                                <filterProperty/>
+                                                <backgroundColor reference="../../../../../../../../../../../../../../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/backgroundColor"/>
+                                                <foregroundColor reference="../../../../../../../../../../../../../../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/foregroundColor"/>
+                                                <showIcon>true</showIcon>
+                                                <parent class="net.java.amateras.uml.sequencediagram.model.InteractionModel" reference="../../../../../../../../../../../../../../../../../../../../../../../.."/>
+                                                <listeners serialization="custom">
+                                                  <java.beans.PropertyChangeSupport>
+                                                    <default>
+                                                      <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                                                      <source class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../../.."/>
+                                                    </default>
+                                                    <null/>
+                                                  </java.beans.PropertyChangeSupport>
+                                                </listeners>
+                                              </target>
+                                              <bendpoints/>
+                                              <useBendpoint>false</useBendpoint>
+                                              <showIcon>true</showIcon>
+                                              <listeners serialization="custom">
+                                                <java.beans.PropertyChangeSupport>
+                                                  <default>
+                                                    <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                                                    <source class="net.java.amateras.uml.sequencediagram.model.SyncMessageModel" reference="../../../.."/>
+                                                  </default>
+                                                  <null/>
+                                                </java.beans.PropertyChangeSupport>
+                                              </listeners>
+                                            </net.java.amateras.uml.sequencediagram.model.SyncMessageModel>
+                                          </sourceConnections>
+                                          <targetConnections>
+                                            <net.java.amateras.uml.sequencediagram.model.SyncMessageModel reference="../../.."/>
+                                            <net.java.amateras.uml.sequencediagram.model.ReturnMessageModel reference="../../sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel"/>
+                                          </targetConnections>
+                                          <children/>
+                                          <filterProperty/>
+                                          <backgroundColor reference="../../../../../../../../../../../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/backgroundColor"/>
+                                          <foregroundColor reference="../../../../../../../../../../../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/foregroundColor"/>
+                                          <showIcon>true</showIcon>
+                                          <parent class="net.java.amateras.uml.sequencediagram.model.InteractionModel" reference="../../../../../../../../../../../../../../../../../../../../.."/>
+                                          <listeners serialization="custom">
+                                            <java.beans.PropertyChangeSupport>
+                                              <default>
+                                                <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                                                <source class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../../.."/>
+                                              </default>
+                                              <null/>
+                                            </java.beans.PropertyChangeSupport>
+                                          </listeners>
+                                        </target>
+                                        <bendpoints/>
+                                        <useBendpoint>false</useBendpoint>
+                                        <backgroundColor reference="../../../../../../../../../../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/backgroundColor"/>
+                                        <foregroundColor reference="../../../../../../../../../../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/foregroundColor"/>
+                                        <showIcon>true</showIcon>
+                                        <listeners serialization="custom">
+                                          <java.beans.PropertyChangeSupport>
+                                            <default>
+                                              <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                                              <source class="net.java.amateras.uml.sequencediagram.model.SyncMessageModel" reference="../../../.."/>
+                                            </default>
+                                            <null/>
+                                          </java.beans.PropertyChangeSupport>
+                                        </listeners>
+                                      </net.java.amateras.uml.sequencediagram.model.SyncMessageModel>
+                                    </sourceConnections>
+                                    <targetConnections>
+                                      <net.java.amateras.uml.sequencediagram.model.SyncMessageModel reference="../../.."/>
+                                    </targetConnections>
+                                    <children>
+                                      <net.java.amateras.uml.sequencediagram.model.ActivationModel reference="../../sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target"/>
+                                    </children>
+                                    <filterProperty/>
+                                    <backgroundColor reference="../../../../../../../../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/backgroundColor"/>
+                                    <foregroundColor reference="../../../../../../../../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/foregroundColor"/>
+                                    <showIcon>true</showIcon>
+                                    <parent class="net.java.amateras.uml.sequencediagram.model.InteractionModel" reference="../../../../../../../../../../../../../../../../../.."/>
+                                    <listeners serialization="custom">
+                                      <java.beans.PropertyChangeSupport>
+                                        <default>
+                                          <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                                          <source class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../../.."/>
+                                        </default>
+                                        <null/>
+                                      </java.beans.PropertyChangeSupport>
+                                    </listeners>
+                                  </target>
+                                  <bendpoints/>
+                                  <useBendpoint>false</useBendpoint>
+                                  <showIcon>true</showIcon>
+                                  <listeners serialization="custom">
+                                    <java.beans.PropertyChangeSupport>
+                                      <default>
+                                        <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                                        <source class="net.java.amateras.uml.sequencediagram.model.SyncMessageModel" reference="../../../.."/>
+                                      </default>
+                                      <null/>
+                                    </java.beans.PropertyChangeSupport>
+                                  </listeners>
+                                </net.java.amateras.uml.sequencediagram.model.SyncMessageModel>
+                                <net.java.amateras.uml.sequencediagram.model.SyncMessageModel>
+                                  <order>14</order>
+                                  <oldOrder>14</oldOrder>
+                                  <name>openSingletonWindow(p, frame)</name>
+                                  <direction>true</direction>
+                                  <source class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../.."/>
+                                  <target class="net.java.amateras.uml.sequencediagram.model.ActivationModel">
+                                    <ownerLine>
+                                      <owner>
+                                        <name>SingletonWindowSupport</name>
+                                        <lifeLine reference="../.."/>
+                                        <root reference="../../../../../../../../../../../../../../../../../../../.."/>
+                                        <constraint>
+                                          <x>266</x>
+                                          <y>20</y>
+                                          <width>100</width>
+                                          <height>-1</height>
+                                        </constraint>
+                                        <sourceConnections/>
+                                        <targetConnections/>
+                                        <children>
+                                          <net.java.amateras.uml.sequencediagram.model.LifeLineModel reference="../../.."/>
+                                        </children>
+                                        <filterProperty/>
+                                        <backgroundColor reference="../../../../../../../../../../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/backgroundColor"/>
+                                        <foregroundColor reference="../../../../../../../../../../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/foregroundColor"/>
+                                        <showIcon>true</showIcon>
+                                        <parent class="net.java.amateras.uml.sequencediagram.model.InteractionModel" reference="../../../../../../../../../../../../../../../../../../../.."/>
+                                        <listeners serialization="custom">
+                                          <java.beans.PropertyChangeSupport>
+                                            <default>
+                                              <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                                              <source class="net.java.amateras.uml.sequencediagram.model.InstanceModel" reference="../../../.."/>
+                                            </default>
+                                            <null/>
+                                          </java.beans.PropertyChangeSupport>
+                                        </listeners>
+                                      </owner>
+                                      <constraint>
+                                        <x>316</x>
+                                        <y>20</y>
+                                        <width>5</width>
+                                        <height>983</height>
+                                      </constraint>
+                                      <sourceConnections/>
+                                      <targetConnections/>
+                                      <children>
+                                        <net.java.amateras.uml.sequencediagram.model.ActivationModel>
+                                          <ownerLine reference="../../.."/>
+                                          <movable>true</movable>
+                                          <constraint>
+                                            <x>311</x>
+                                            <y>275</y>
+                                            <width>10</width>
+                                            <height>30</height>
+                                          </constraint>
+                                          <sourceConnections>
+                                            <net.java.amateras.uml.sequencediagram.model.ReturnMessageModel>
+                                              <name></name>
+                                              <direction>false</direction>
+                                              <source class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../.."/>
+                                              <target class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../../../../../../../../../../../../../../../../.."/>
+                                              <bendpoints/>
+                                              <useBendpoint>false</useBendpoint>
+                                              <showIcon>true</showIcon>
+                                              <listeners serialization="custom">
+                                                <java.beans.PropertyChangeSupport>
+                                                  <default>
+                                                    <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                                                    <source class="net.java.amateras.uml.sequencediagram.model.ReturnMessageModel" reference="../../../.."/>
+                                                  </default>
+                                                  <null/>
+                                                </java.beans.PropertyChangeSupport>
+                                              </listeners>
+                                            </net.java.amateras.uml.sequencediagram.model.ReturnMessageModel>
+                                          </sourceConnections>
+                                          <targetConnections>
+                                            <net.java.amateras.uml.sequencediagram.model.SyncMessageModel>
+                                              <order>6</order>
+                                              <oldOrder>6</oldOrder>
+                                              <name>registerWindow()</name>
+                                              <direction>true</direction>
+                                              <source class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../../../../../../../../../../../../../../../../.."/>
+                                              <target class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../.."/>
+                                              <bendpoints/>
+                                              <useBendpoint>false</useBendpoint>
+                                              <showIcon>true</showIcon>
+                                              <listeners serialization="custom">
+                                                <java.beans.PropertyChangeSupport>
+                                                  <default>
+                                                    <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                                                    <source class="net.java.amateras.uml.sequencediagram.model.SyncMessageModel" reference="../../../.."/>
+                                                  </default>
+                                                  <null/>
+                                                </java.beans.PropertyChangeSupport>
+                                              </listeners>
+                                            </net.java.amateras.uml.sequencediagram.model.SyncMessageModel>
+                                          </targetConnections>
+                                          <children/>
+                                          <filterProperty/>
+                                          <backgroundColor reference="../../../../../../../../../../../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/backgroundColor"/>
+                                          <foregroundColor reference="../../../../../../../../../../../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/foregroundColor"/>
+                                          <showIcon>true</showIcon>
+                                          <parent class="net.java.amateras.uml.sequencediagram.model.InteractionModel" reference="../../../../../../../../../../../../../../../../../../../../.."/>
+                                          <listeners serialization="custom">
+                                            <java.beans.PropertyChangeSupport>
+                                              <default>
+                                                <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                                                <source class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../../.."/>
+                                              </default>
+                                              <null/>
+                                            </java.beans.PropertyChangeSupport>
+                                          </listeners>
+                                        </net.java.amateras.uml.sequencediagram.model.ActivationModel>
+                                        <net.java.amateras.uml.sequencediagram.model.ActivationModel reference="../../.."/>
+                                      </children>
+                                      <filterProperty/>
+                                      <backgroundColor reference="../../../../../../../../../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/backgroundColor"/>
+                                      <foregroundColor reference="../../../../../../../../../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/foregroundColor"/>
+                                      <showIcon>true</showIcon>
+                                      <parent class="net.java.amateras.uml.sequencediagram.model.InteractionModel" reference="../../../../../../../../../../../../../../../../../../.."/>
+                                      <listeners serialization="custom">
+                                        <java.beans.PropertyChangeSupport>
+                                          <default>
+                                            <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                                            <source class="net.java.amateras.uml.sequencediagram.model.LifeLineModel" reference="../../../.."/>
+                                          </default>
+                                          <null/>
+                                        </java.beans.PropertyChangeSupport>
+                                      </listeners>
+                                    </ownerLine>
+                                    <movable>true</movable>
+                                    <constraint>
+                                      <x>311</x>
+                                      <y>617</y>
+                                      <width>10</width>
+                                      <height>57</height>
+                                    </constraint>
+                                    <sourceConnections>
+                                      <net.java.amateras.uml.sequencediagram.model.ReturnMessageModel>
+                                        <name></name>
+                                        <direction>false</direction>
+                                        <source class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../.."/>
+                                        <target class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../../../../.."/>
+                                        <bendpoints/>
+                                        <useBendpoint>false</useBendpoint>
+                                        <showIcon>true</showIcon>
+                                        <listeners serialization="custom">
+                                          <java.beans.PropertyChangeSupport>
+                                            <default>
+                                              <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                                              <source class="net.java.amateras.uml.sequencediagram.model.ReturnMessageModel" reference="../../../.."/>
+                                            </default>
+                                            <null/>
+                                          </java.beans.PropertyChangeSupport>
+                                        </listeners>
+                                      </net.java.amateras.uml.sequencediagram.model.ReturnMessageModel>
+                                      <net.java.amateras.uml.sequencediagram.model.SyncMessageModel>
+                                        <order>15</order>
+                                        <oldOrder>15</oldOrder>
+                                        <name>contentFrame.put(swi, frame)</name>
+                                        <direction>true</direction>
+                                        <source class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../.."/>
+                                        <target class="net.java.amateras.uml.sequencediagram.model.ActivationModel">
+                                          <ownerLine>
+                                            <owner>
+                                              <name>HashMap: contentFrame</name>
+                                              <lifeLine reference="../.."/>
+                                              <root reference="../../../../../../../../../../../../../../../../../../../../../../.."/>
+                                              <constraint>
+                                                <x>994</x>
+                                                <y>20</y>
+                                                <width>165</width>
+                                                <height>-1</height>
+                                              </constraint>
+                                              <sourceConnections/>
+                                              <targetConnections/>
+                                              <children>
+                                                <net.java.amateras.uml.sequencediagram.model.LifeLineModel reference="../../.."/>
+                                              </children>
+                                              <filterProperty/>
+                                              <backgroundColor reference="../../../../../../../../../../../../../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/backgroundColor"/>
+                                              <foregroundColor reference="../../../../../../../../../../../../../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/foregroundColor"/>
+                                              <showIcon>true</showIcon>
+                                              <parent class="net.java.amateras.uml.sequencediagram.model.InteractionModel" reference="../../../../../../../../../../../../../../../../../../../../../../.."/>
+                                              <listeners serialization="custom">
+                                                <java.beans.PropertyChangeSupport>
+                                                  <default>
+                                                    <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                                                    <source class="net.java.amateras.uml.sequencediagram.model.InstanceModel" reference="../../../.."/>
+                                                  </default>
+                                                  <null/>
+                                                </java.beans.PropertyChangeSupport>
+                                              </listeners>
+                                            </owner>
+                                            <constraint>
+                                              <x>1076</x>
+                                              <y>20</y>
+                                              <width>5</width>
+                                              <height>983</height>
+                                            </constraint>
+                                            <sourceConnections/>
+                                            <targetConnections/>
+                                            <children>
+                                              <net.java.amateras.uml.sequencediagram.model.ActivationModel reference="../../.."/>
+                                            </children>
+                                            <filterProperty/>
+                                            <backgroundColor reference="../../../../../../../../../../../../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/backgroundColor"/>
+                                            <foregroundColor reference="../../../../../../../../../../../../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/foregroundColor"/>
+                                            <showIcon>true</showIcon>
+                                            <parent class="net.java.amateras.uml.sequencediagram.model.InteractionModel" reference="../../../../../../../../../../../../../../../../../../../../../.."/>
+                                            <listeners serialization="custom">
+                                              <java.beans.PropertyChangeSupport>
+                                                <default>
+                                                  <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                                                  <source class="net.java.amateras.uml.sequencediagram.model.LifeLineModel" reference="../../../.."/>
+                                                </default>
+                                                <null/>
+                                              </java.beans.PropertyChangeSupport>
+                                            </listeners>
+                                          </ownerLine>
+                                          <movable>true</movable>
+                                          <constraint>
+                                            <x>1071</x>
+                                            <y>634</y>
+                                            <width>10</width>
+                                            <height>30</height>
+                                          </constraint>
+                                          <sourceConnections>
+                                            <net.java.amateras.uml.sequencediagram.model.ReturnMessageModel>
+                                              <name></name>
+                                              <direction>false</direction>
+                                              <source class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../.."/>
+                                              <target class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../../../../.."/>
+                                              <bendpoints/>
+                                              <useBendpoint>false</useBendpoint>
+                                              <showIcon>true</showIcon>
+                                              <listeners serialization="custom">
+                                                <java.beans.PropertyChangeSupport>
+                                                  <default>
+                                                    <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                                                    <source class="net.java.amateras.uml.sequencediagram.model.ReturnMessageModel" reference="../../../.."/>
+                                                  </default>
+                                                  <null/>
+                                                </java.beans.PropertyChangeSupport>
+                                              </listeners>
+                                            </net.java.amateras.uml.sequencediagram.model.ReturnMessageModel>
+                                          </sourceConnections>
+                                          <targetConnections>
+                                            <net.java.amateras.uml.sequencediagram.model.SyncMessageModel reference="../../.."/>
+                                          </targetConnections>
+                                          <children/>
+                                          <filterProperty/>
+                                          <backgroundColor reference="../../../../../../../../../../../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/backgroundColor"/>
+                                          <foregroundColor reference="../../../../../../../../../../../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/foregroundColor"/>
+                                          <showIcon>true</showIcon>
+                                          <parent class="net.java.amateras.uml.sequencediagram.model.InteractionModel" reference="../../../../../../../../../../../../../../../../../../../../.."/>
+                                          <listeners serialization="custom">
+                                            <java.beans.PropertyChangeSupport>
+                                              <default>
+                                                <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                                                <source class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../../.."/>
+                                              </default>
+                                              <null/>
+                                            </java.beans.PropertyChangeSupport>
+                                          </listeners>
+                                        </target>
+                                        <bendpoints/>
+                                        <useBendpoint>false</useBendpoint>
+                                        <showIcon>true</showIcon>
+                                        <listeners serialization="custom">
+                                          <java.beans.PropertyChangeSupport>
+                                            <default>
+                                              <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                                              <source class="net.java.amateras.uml.sequencediagram.model.SyncMessageModel" reference="../../../.."/>
+                                            </default>
+                                            <null/>
+                                          </java.beans.PropertyChangeSupport>
+                                        </listeners>
+                                      </net.java.amateras.uml.sequencediagram.model.SyncMessageModel>
+                                    </sourceConnections>
+                                    <targetConnections>
+                                      <net.java.amateras.uml.sequencediagram.model.SyncMessageModel reference="../../.."/>
+                                      <net.java.amateras.uml.sequencediagram.model.ReturnMessageModel reference="../../sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel"/>
+                                    </targetConnections>
+                                    <children/>
+                                    <filterProperty/>
+                                    <backgroundColor reference="../../../../../../../../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/backgroundColor"/>
+                                    <foregroundColor reference="../../../../../../../../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/foregroundColor"/>
+                                    <showIcon>true</showIcon>
+                                    <parent class="net.java.amateras.uml.sequencediagram.model.InteractionModel" reference="../../../../../../../../../../../../../../../../../.."/>
+                                    <listeners serialization="custom">
+                                      <java.beans.PropertyChangeSupport>
+                                        <default>
+                                          <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                                          <source class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../../.."/>
+                                        </default>
+                                        <null/>
+                                      </java.beans.PropertyChangeSupport>
+                                    </listeners>
+                                  </target>
+                                  <bendpoints/>
+                                  <useBendpoint>false</useBendpoint>
+                                  <showIcon>true</showIcon>
+                                  <listeners serialization="custom">
+                                    <java.beans.PropertyChangeSupport>
+                                      <default>
+                                        <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                                        <source class="net.java.amateras.uml.sequencediagram.model.SyncMessageModel" reference="../../../.."/>
+                                      </default>
+                                      <null/>
+                                    </java.beans.PropertyChangeSupport>
+                                  </listeners>
+                                </net.java.amateras.uml.sequencediagram.model.SyncMessageModel>
+                                <net.java.amateras.uml.sequencediagram.model.SyncMessageModel>
+                                  <order>16</order>
+                                  <oldOrder>16</oldOrder>
+                                  <name>addJInternalFrame(frame, wi)</name>
+                                  <direction>true</direction>
+                                  <source class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../.."/>
+                                  <target class="net.java.amateras.uml.sequencediagram.model.ActivationModel">
+                                    <owner reference="../../../.."/>
+                                    <ownerLine reference="../../../../../../../../../../../../../../.."/>
+                                    <movable>true</movable>
+                                    <constraint>
+                                      <x>194</x>
+                                      <y>736</y>
+                                      <width>10</width>
+                                      <height>207</height>
+                                    </constraint>
+                                    <sourceConnections>
+                                      <net.java.amateras.uml.sequencediagram.model.SyncMessageModel>
+                                        <order>18</order>
+                                        <oldOrder>18</oldOrder>
+                                        <name>updateFrameProperties(frame, wi)</name>
+                                        <direction>true</direction>
+                                        <source class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../.."/>
+                                        <target class="net.java.amateras.uml.sequencediagram.model.ActivationModel">
+                                          <owner reference="../../../.."/>
+                                          <ownerLine reference="../../../../../../../../../../../../../../../../../.."/>
+                                          <movable>true</movable>
+                                          <constraint>
+                                            <x>199</x>
+                                            <y>836</y>
+                                            <width>10</width>
+                                            <height>30</height>
+                                          </constraint>
+                                          <sourceConnections/>
+                                          <targetConnections>
+                                            <net.java.amateras.uml.sequencediagram.model.SyncMessageModel reference="../../.."/>
+                                          </targetConnections>
+                                          <children/>
+                                          <filterProperty/>
+                                          <backgroundColor reference="../../../../../../../../../../../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/backgroundColor"/>
+                                          <foregroundColor reference="../../../../../../../../../../../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/foregroundColor"/>
+                                          <showIcon>true</showIcon>
+                                          <parent class="net.java.amateras.uml.sequencediagram.model.InteractionModel" reference="../../../../../../../../../../../../../../../../../../../../.."/>
+                                          <listeners serialization="custom">
+                                            <java.beans.PropertyChangeSupport>
+                                              <default>
+                                                <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                                                <source class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../../.."/>
+                                              </default>
+                                              <null/>
+                                            </java.beans.PropertyChangeSupport>
+                                          </listeners>
+                                        </target>
+                                        <bendpoints/>
+                                        <useBendpoint>false</useBendpoint>
+                                        <backgroundColor reference="../../../../../../../../../../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/backgroundColor"/>
+                                        <foregroundColor reference="../../../../../../../../../../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/foregroundColor"/>
+                                        <showIcon>true</showIcon>
+                                        <listeners serialization="custom">
+                                          <java.beans.PropertyChangeSupport>
+                                            <default>
+                                              <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                                              <source class="net.java.amateras.uml.sequencediagram.model.SyncMessageModel" reference="../../../.."/>
+                                            </default>
+                                            <null/>
+                                          </java.beans.PropertyChangeSupport>
+                                        </listeners>
+                                      </net.java.amateras.uml.sequencediagram.model.SyncMessageModel>
+                                      <net.java.amateras.uml.sequencediagram.model.SyncMessageModel>
+                                        <order>19</order>
+                                        <oldOrder>19</oldOrder>
+                                        <name>activateJInternalFrame(frame)</name>
+                                        <direction>true</direction>
+                                        <source class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../.."/>
+                                        <target class="net.java.amateras.uml.sequencediagram.model.ActivationModel">
+                                          <owner reference="../../../.."/>
+                                          <ownerLine reference="../../../../../../../../../../../../../../../../../.."/>
+                                          <movable>true</movable>
+                                          <constraint>
+                                            <x>199</x>
+                                            <y>903</y>
+                                            <width>10</width>
+                                            <height>30</height>
+                                          </constraint>
+                                          <sourceConnections/>
+                                          <targetConnections>
+                                            <net.java.amateras.uml.sequencediagram.model.SyncMessageModel reference="../../.."/>
+                                          </targetConnections>
+                                          <children/>
+                                          <filterProperty/>
+                                          <backgroundColor reference="../../../../../../../../../../../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/backgroundColor"/>
+                                          <foregroundColor reference="../../../../../../../../../../../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/foregroundColor"/>
+                                          <showIcon>true</showIcon>
+                                          <parent class="net.java.amateras.uml.sequencediagram.model.InteractionModel" reference="../../../../../../../../../../../../../../../../../../../../.."/>
+                                          <listeners serialization="custom">
+                                            <java.beans.PropertyChangeSupport>
+                                              <default>
+                                                <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                                                <source class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../../.."/>
+                                              </default>
+                                              <null/>
+                                            </java.beans.PropertyChangeSupport>
+                                          </listeners>
+                                        </target>
+                                        <bendpoints/>
+                                        <useBendpoint>false</useBendpoint>
+                                        <backgroundColor reference="../../../../../../../../../../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/backgroundColor"/>
+                                        <foregroundColor reference="../../../../../../../../../../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/foregroundColor"/>
+                                        <showIcon>true</showIcon>
+                                        <listeners serialization="custom">
+                                          <java.beans.PropertyChangeSupport>
+                                            <default>
+                                              <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                                              <source class="net.java.amateras.uml.sequencediagram.model.SyncMessageModel" reference="../../../.."/>
+                                            </default>
+                                            <null/>
+                                          </java.beans.PropertyChangeSupport>
+                                        </listeners>
+                                      </net.java.amateras.uml.sequencediagram.model.SyncMessageModel>
+                                      <net.java.amateras.uml.sequencediagram.model.SyncMessageModel>
+                                        <order>17</order>
+                                        <oldOrder>17</oldOrder>
+                                        <name>add(frame)</name>
+                                        <direction>true</direction>
+                                        <source class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../.."/>
+                                        <target class="net.java.amateras.uml.sequencediagram.model.ActivationModel">
+                                          <ownerLine>
+                                            <owner>
+                                              <name>MyDesktopPane</name>
+                                              <lifeLine reference="../.."/>
+                                              <root reference="../../../../../../../../../../../../../../../../../../../../../../.."/>
+                                              <constraint>
+                                                <x>1174</x>
+                                                <y>20</y>
+                                                <width>118</width>
+                                                <height>-1</height>
+                                              </constraint>
+                                              <sourceConnections/>
+                                              <targetConnections/>
+                                              <children>
+                                                <net.java.amateras.uml.sequencediagram.model.LifeLineModel reference="../../.."/>
+                                              </children>
+                                              <filterProperty/>
+                                              <backgroundColor reference="../../../../../../../../../../../../../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/backgroundColor"/>
+                                              <foregroundColor reference="../../../../../../../../../../../../../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/foregroundColor"/>
+                                              <showIcon>true</showIcon>
+                                              <parent class="net.java.amateras.uml.sequencediagram.model.InteractionModel" reference="../../../../../../../../../../../../../../../../../../../../../../.."/>
+                                              <listeners serialization="custom">
+                                                <java.beans.PropertyChangeSupport>
+                                                  <default>
+                                                    <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                                                    <source class="net.java.amateras.uml.sequencediagram.model.InstanceModel" reference="../../../.."/>
+                                                  </default>
+                                                  <null/>
+                                                </java.beans.PropertyChangeSupport>
+                                              </listeners>
+                                            </owner>
+                                            <constraint>
+                                              <x>1233</x>
+                                              <y>20</y>
+                                              <width>5</width>
+                                              <height>983</height>
+                                            </constraint>
+                                            <sourceConnections/>
+                                            <targetConnections/>
+                                            <children>
+                                              <net.java.amateras.uml.sequencediagram.model.ActivationModel reference="../../.."/>
+                                            </children>
+                                            <filterProperty/>
+                                            <backgroundColor reference="../../../../../../../../../../../../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/backgroundColor"/>
+                                            <foregroundColor reference="../../../../../../../../../../../../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/foregroundColor"/>
+                                            <showIcon>true</showIcon>
+                                            <parent class="net.java.amateras.uml.sequencediagram.model.InteractionModel" reference="../../../../../../../../../../../../../../../../../../../../../.."/>
+                                            <listeners serialization="custom">
+                                              <java.beans.PropertyChangeSupport>
+                                                <default>
+                                                  <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                                                  <source class="net.java.amateras.uml.sequencediagram.model.LifeLineModel" reference="../../../.."/>
+                                                </default>
+                                                <null/>
+                                              </java.beans.PropertyChangeSupport>
+                                            </listeners>
+                                          </ownerLine>
+                                          <movable>true</movable>
+                                          <constraint>
+                                            <x>1228</x>
+                                            <y>759</y>
+                                            <width>10</width>
+                                            <height>30</height>
+                                          </constraint>
+                                          <sourceConnections>
+                                            <net.java.amateras.uml.sequencediagram.model.ReturnMessageModel>
+                                              <name></name>
+                                              <direction>false</direction>
+                                              <source class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../.."/>
+                                              <target class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../../../../.."/>
+                                              <bendpoints/>
+                                              <useBendpoint>false</useBendpoint>
+                                              <showIcon>true</showIcon>
+                                              <listeners serialization="custom">
+                                                <java.beans.PropertyChangeSupport>
+                                                  <default>
+                                                    <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                                                    <source class="net.java.amateras.uml.sequencediagram.model.ReturnMessageModel" reference="../../../.."/>
+                                                  </default>
+                                                  <null/>
+                                                </java.beans.PropertyChangeSupport>
+                                              </listeners>
+                                            </net.java.amateras.uml.sequencediagram.model.ReturnMessageModel>
+                                          </sourceConnections>
+                                          <targetConnections>
+                                            <net.java.amateras.uml.sequencediagram.model.SyncMessageModel reference="../../.."/>
+                                          </targetConnections>
+                                          <children/>
+                                          <filterProperty/>
+                                          <backgroundColor reference="../../../../../../../../../../../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/backgroundColor"/>
+                                          <foregroundColor reference="../../../../../../../../../../../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/foregroundColor"/>
+                                          <showIcon>true</showIcon>
+                                          <parent class="net.java.amateras.uml.sequencediagram.model.InteractionModel" reference="../../../../../../../../../../../../../../../../../../../../.."/>
+                                          <listeners serialization="custom">
+                                            <java.beans.PropertyChangeSupport>
+                                              <default>
+                                                <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                                                <source class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../../.."/>
+                                              </default>
+                                              <null/>
+                                            </java.beans.PropertyChangeSupport>
+                                          </listeners>
+                                        </target>
+                                        <bendpoints/>
+                                        <useBendpoint>false</useBendpoint>
+                                        <showIcon>true</showIcon>
+                                        <listeners serialization="custom">
+                                          <java.beans.PropertyChangeSupport>
+                                            <default>
+                                              <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                                              <source class="net.java.amateras.uml.sequencediagram.model.SyncMessageModel" reference="../../../.."/>
+                                            </default>
+                                            <null/>
+                                          </java.beans.PropertyChangeSupport>
+                                        </listeners>
+                                      </net.java.amateras.uml.sequencediagram.model.SyncMessageModel>
+                                    </sourceConnections>
+                                    <targetConnections>
+                                      <net.java.amateras.uml.sequencediagram.model.SyncMessageModel reference="../../.."/>
+                                      <net.java.amateras.uml.sequencediagram.model.ReturnMessageModel reference="../../sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[3]/target/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel"/>
+                                    </targetConnections>
+                                    <children>
+                                      <net.java.amateras.uml.sequencediagram.model.ActivationModel reference="../../sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target"/>
+                                      <net.java.amateras.uml.sequencediagram.model.ActivationModel reference="../../sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[2]/target"/>
+                                    </children>
+                                    <filterProperty/>
+                                    <backgroundColor reference="../../../../../../../../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/backgroundColor"/>
+                                    <foregroundColor reference="../../../../../../../../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/foregroundColor"/>
+                                    <showIcon>true</showIcon>
+                                    <parent class="net.java.amateras.uml.sequencediagram.model.InteractionModel" reference="../../../../../../../../../../../../../../../../../.."/>
+                                    <listeners serialization="custom">
+                                      <java.beans.PropertyChangeSupport>
+                                        <default>
+                                          <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                                          <source class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../../.."/>
+                                        </default>
+                                        <null/>
+                                      </java.beans.PropertyChangeSupport>
+                                    </listeners>
+                                  </target>
+                                  <bendpoints/>
+                                  <useBendpoint>false</useBendpoint>
+                                  <backgroundColor reference="../../../../../../../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/backgroundColor"/>
+                                  <foregroundColor reference="../../../../../../../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/foregroundColor"/>
+                                  <showIcon>true</showIcon>
+                                  <listeners serialization="custom">
+                                    <java.beans.PropertyChangeSupport>
+                                      <default>
+                                        <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                                        <source class="net.java.amateras.uml.sequencediagram.model.SyncMessageModel" reference="../../../.."/>
+                                      </default>
+                                      <null/>
+                                    </java.beans.PropertyChangeSupport>
+                                  </listeners>
+                                </net.java.amateras.uml.sequencediagram.model.SyncMessageModel>
+                              </sourceConnections>
+                              <targetConnections>
+                                <net.java.amateras.uml.sequencediagram.model.SyncMessageModel>
+                                  <order>8</order>
+                                  <oldOrder>8</oldOrder>
+                                  <name>addJInternalFrame(IWindow p)</name>
+                                  <direction>true</direction>
+                                  <source class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../../../../../../../../../../.."/>
+                                  <target class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../.."/>
+                                  <bendpoints/>
+                                  <useBendpoint>false</useBendpoint>
+                                  <backgroundColor reference="../../../../../../../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/backgroundColor"/>
+                                  <foregroundColor reference="../../../../../../../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/foregroundColor"/>
+                                  <showIcon>true</showIcon>
+                                  <listeners serialization="custom">
+                                    <java.beans.PropertyChangeSupport>
+                                      <default>
+                                        <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                                        <source class="net.java.amateras.uml.sequencediagram.model.SyncMessageModel" reference="../../../.."/>
+                                      </default>
+                                      <null/>
+                                    </java.beans.PropertyChangeSupport>
+                                  </listeners>
+                                </net.java.amateras.uml.sequencediagram.model.SyncMessageModel>
+                                <net.java.amateras.uml.sequencediagram.model.ReturnMessageModel reference="../../.."/>
+                                <net.java.amateras.uml.sequencediagram.model.ReturnMessageModel reference="../../sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[2]/target/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel"/>
+                                <net.java.amateras.uml.sequencediagram.model.ReturnMessageModel reference="../../sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[3]/target/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel"/>
+                              </targetConnections>
+                              <children>
+                                <net.java.amateras.uml.sequencediagram.model.ActivationModel reference="../../sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[4]/target"/>
+                              </children>
+                              <filterProperty/>
+                              <backgroundColor reference="../../../../../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/backgroundColor"/>
+                              <foregroundColor reference="../../../../../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/foregroundColor"/>
+                              <showIcon>true</showIcon>
+                              <parent class="net.java.amateras.uml.sequencediagram.model.InteractionModel" reference="../../../../../../../../../../../../../../.."/>
+                              <listeners serialization="custom">
+                                <java.beans.PropertyChangeSupport>
+                                  <default>
+                                    <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                                    <source class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../../.."/>
+                                  </default>
+                                  <null/>
+                                </java.beans.PropertyChangeSupport>
+                              </listeners>
+                            </target>
+                            <bendpoints/>
+                            <useBendpoint>false</useBendpoint>
+                            <showIcon>true</showIcon>
+                            <listeners serialization="custom">
+                              <java.beans.PropertyChangeSupport>
+                                <default>
+                                  <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                                  <source class="net.java.amateras.uml.sequencediagram.model.ReturnMessageModel" reference="../../../.."/>
+                                </default>
+                                <null/>
+                              </java.beans.PropertyChangeSupport>
+                            </listeners>
+                          </net.java.amateras.uml.sequencediagram.model.ReturnMessageModel>
+                          <net.java.amateras.uml.sequencediagram.model.SyncMessageModel reference="../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[2]/target/ownerLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/targetConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel"/>
+                        </sourceConnections>
+                        <targetConnections>
+                          <net.java.amateras.uml.sequencediagram.model.SyncMessageModel reference="../../sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel"/>
+                          <net.java.amateras.uml.sequencediagram.model.ReturnMessageModel reference="../../sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[2]/target/ownerLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel"/>
+                        </targetConnections>
+                        <children/>
+                        <filterProperty/>
+                        <backgroundColor reference="../../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/backgroundColor"/>
+                        <foregroundColor reference="../../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/foregroundColor"/>
+                        <showIcon>true</showIcon>
+                        <parent class="net.java.amateras.uml.sequencediagram.model.InteractionModel" reference="../../../../../../../../../../../.."/>
+                        <listeners serialization="custom">
+                          <java.beans.PropertyChangeSupport>
+                            <default>
+                              <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                              <source class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../../.."/>
+                            </default>
+                            <null/>
+                          </java.beans.PropertyChangeSupport>
+                        </listeners>
+                      </net.java.amateras.uml.sequencediagram.model.ActivationModel>
+                      <net.java.amateras.uml.sequencediagram.model.ActivationModel reference="../net.java.amateras.uml.sequencediagram.model.ActivationModel[2]/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[2]/target/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target"/>
+                    </children>
+                    <filterProperty/>
+                    <backgroundColor reference="../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/backgroundColor"/>
+                    <foregroundColor reference="../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/foregroundColor"/>
+                    <showIcon>true</showIcon>
+                    <parent class="net.java.amateras.uml.sequencediagram.model.InteractionModel" reference="../../../../../../../../../.."/>
+                    <listeners serialization="custom">
+                      <java.beans.PropertyChangeSupport>
+                        <default>
+                          <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                          <source class="net.java.amateras.uml.sequencediagram.model.LifeLineModel" reference="../../../.."/>
+                        </default>
+                        <null/>
+                      </java.beans.PropertyChangeSupport>
+                    </listeners>
+                  </ownerLine>
+                  <movable>true</movable>
+                  <constraint>
+                    <x>576</x>
+                    <y>90</y>
+                    <width>10</width>
+                    <height>161</height>
+                  </constraint>
+                  <sourceConnections>
+                    <net.java.amateras.uml.sequencediagram.model.ReturnMessageModel>
+                      <name></name>
+                      <direction>false</direction>
+                      <source class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../.."/>
+                      <target class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../../../../.."/>
+                      <bendpoints/>
+                      <useBendpoint>false</useBendpoint>
+                      <showIcon>true</showIcon>
+                      <listeners serialization="custom">
+                        <java.beans.PropertyChangeSupport>
+                          <default>
+                            <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                            <source class="net.java.amateras.uml.sequencediagram.model.ReturnMessageModel" reference="../../../.."/>
+                          </default>
+                          <null/>
+                        </java.beans.PropertyChangeSupport>
+                      </listeners>
+                    </net.java.amateras.uml.sequencediagram.model.ReturnMessageModel>
+                    <net.java.amateras.uml.sequencediagram.model.SyncMessageModel>
+                      <order>3</order>
+                      <oldOrder>3</oldOrder>
+                      <name>wi = getWindowInfo()</name>
+                      <direction>true</direction>
+                      <source class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../.."/>
+                      <target class="net.java.amateras.uml.sequencediagram.model.ActivationModel">
+                        <ownerLine>
+                          <owner>
+                            <name>IWindow</name>
+                            <lifeLine reference="../.."/>
+                            <root reference="../../../../../../../../../../../../../.."/>
+                            <constraint>
+                              <x>653</x>
+                              <y>20</y>
+                              <width>100</width>
+                              <height>-1</height>
+                            </constraint>
+                            <sourceConnections/>
+                            <targetConnections/>
+                            <children>
+                              <net.java.amateras.uml.sequencediagram.model.LifeLineModel reference="../../.."/>
+                            </children>
+                            <filterProperty/>
+                            <backgroundColor reference="../../../../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/backgroundColor"/>
+                            <foregroundColor reference="../../../../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/foregroundColor"/>
+                            <showIcon>true</showIcon>
+                            <parent class="net.java.amateras.uml.sequencediagram.model.InteractionModel" reference="../../../../../../../../../../../../../.."/>
+                            <listeners serialization="custom">
+                              <java.beans.PropertyChangeSupport>
+                                <default>
+                                  <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                                  <source class="net.java.amateras.uml.sequencediagram.model.InstanceModel" reference="../../../.."/>
+                                </default>
+                                <null/>
+                              </java.beans.PropertyChangeSupport>
+                            </listeners>
+                          </owner>
+                          <constraint>
+                            <x>703</x>
+                            <y>20</y>
+                            <width>5</width>
+                            <height>983</height>
+                          </constraint>
+                          <sourceConnections/>
+                          <targetConnections/>
+                          <children>
+                            <net.java.amateras.uml.sequencediagram.model.ActivationModel reference="../../.."/>
+                          </children>
+                          <filterProperty/>
+                          <backgroundColor reference="../../../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/backgroundColor"/>
+                          <foregroundColor reference="../../../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/foregroundColor"/>
+                          <showIcon>true</showIcon>
+                          <parent class="net.java.amateras.uml.sequencediagram.model.InteractionModel" reference="../../../../../../../../../../../../.."/>
+                          <listeners serialization="custom">
+                            <java.beans.PropertyChangeSupport>
+                              <default>
+                                <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                                <source class="net.java.amateras.uml.sequencediagram.model.LifeLineModel" reference="../../../.."/>
+                              </default>
+                              <null/>
+                            </java.beans.PropertyChangeSupport>
+                          </listeners>
+                        </ownerLine>
+                        <movable>true</movable>
+                        <constraint>
+                          <x>698</x>
+                          <y>97</y>
+                          <width>10</width>
+                          <height>30</height>
+                        </constraint>
+                        <sourceConnections>
+                          <net.java.amateras.uml.sequencediagram.model.ReturnMessageModel>
+                            <name></name>
+                            <direction>false</direction>
+                            <source class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../.."/>
+                            <target class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../../../../.."/>
+                            <bendpoints/>
+                            <useBendpoint>false</useBendpoint>
+                            <showIcon>true</showIcon>
+                            <listeners serialization="custom">
+                              <java.beans.PropertyChangeSupport>
+                                <default>
+                                  <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                                  <source class="net.java.amateras.uml.sequencediagram.model.ReturnMessageModel" reference="../../../.."/>
+                                </default>
+                                <null/>
+                              </java.beans.PropertyChangeSupport>
+                            </listeners>
+                          </net.java.amateras.uml.sequencediagram.model.ReturnMessageModel>
+                        </sourceConnections>
+                        <targetConnections>
+                          <net.java.amateras.uml.sequencediagram.model.SyncMessageModel reference="../../.."/>
+                        </targetConnections>
+                        <children/>
+                        <filterProperty/>
+                        <backgroundColor reference="../../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/backgroundColor"/>
+                        <foregroundColor reference="../../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/foregroundColor"/>
+                        <showIcon>true</showIcon>
+                        <parent class="net.java.amateras.uml.sequencediagram.model.InteractionModel" reference="../../../../../../../../../../../.."/>
+                        <listeners serialization="custom">
+                          <java.beans.PropertyChangeSupport>
+                            <default>
+                              <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                              <source class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../../.."/>
+                            </default>
+                            <null/>
+                          </java.beans.PropertyChangeSupport>
+                        </listeners>
+                      </target>
+                      <bendpoints/>
+                      <useBendpoint>false</useBendpoint>
+                      <showIcon>true</showIcon>
+                      <listeners serialization="custom">
+                        <java.beans.PropertyChangeSupport>
+                          <default>
+                            <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                            <source class="net.java.amateras.uml.sequencediagram.model.SyncMessageModel" reference="../../../.."/>
+                          </default>
+                          <null/>
+                        </java.beans.PropertyChangeSupport>
+                      </listeners>
+                    </net.java.amateras.uml.sequencediagram.model.SyncMessageModel>
+                    <net.java.amateras.uml.sequencediagram.model.SyncMessageModel>
+                      <order>4</order>
+                      <oldOrder>4</oldOrder>
+                      <name>wi.setHeight(wi.getHeight() + 40)</name>
+                      <direction>true</direction>
+                      <source class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../.."/>
+                      <target class="net.java.amateras.uml.sequencediagram.model.ActivationModel">
+                        <ownerLine>
+                          <owner>
+                            <name>WindowInfo</name>
+                            <lifeLine reference="../.."/>
+                            <root reference="../../../../../../../../../../../../../.."/>
+                            <constraint>
+                              <x>764</x>
+                              <y>20</y>
+                              <width>100</width>
+                              <height>-1</height>
+                            </constraint>
+                            <sourceConnections/>
+                            <targetConnections/>
+                            <children>
+                              <net.java.amateras.uml.sequencediagram.model.LifeLineModel reference="../../.."/>
+                            </children>
+                            <filterProperty/>
+                            <backgroundColor reference="../../../../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/backgroundColor"/>
+                            <foregroundColor reference="../../../../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/foregroundColor"/>
+                            <showIcon>true</showIcon>
+                            <parent class="net.java.amateras.uml.sequencediagram.model.InteractionModel" reference="../../../../../../../../../../../../../.."/>
+                            <listeners serialization="custom">
+                              <java.beans.PropertyChangeSupport>
+                                <default>
+                                  <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                                  <source class="net.java.amateras.uml.sequencediagram.model.InstanceModel" reference="../../../.."/>
+                                </default>
+                                <null/>
+                              </java.beans.PropertyChangeSupport>
+                            </listeners>
+                          </owner>
+                          <constraint>
+                            <x>814</x>
+                            <y>20</y>
+                            <width>5</width>
+                            <height>983</height>
+                          </constraint>
+                          <sourceConnections/>
+                          <targetConnections/>
+                          <children>
+                            <net.java.amateras.uml.sequencediagram.model.ActivationModel reference="../../.."/>
+                            <net.java.amateras.uml.sequencediagram.model.ActivationModel>
+                              <ownerLine reference="../../.."/>
+                              <movable>true</movable>
+                              <constraint>
+                                <x>809</x>
+                                <y>211</y>
+                                <width>10</width>
+                                <height>30</height>
+                              </constraint>
+                              <sourceConnections>
+                                <net.java.amateras.uml.sequencediagram.model.ReturnMessageModel>
+                                  <name></name>
+                                  <direction>false</direction>
+                                  <source class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../.."/>
+                                  <target class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../../../../../../../.."/>
+                                  <bendpoints/>
+                                  <useBendpoint>false</useBendpoint>
+                                  <showIcon>true</showIcon>
+                                  <listeners serialization="custom">
+                                    <java.beans.PropertyChangeSupport>
+                                      <default>
+                                        <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                                        <source class="net.java.amateras.uml.sequencediagram.model.ReturnMessageModel" reference="../../../.."/>
+                                      </default>
+                                      <null/>
+                                    </java.beans.PropertyChangeSupport>
+                                  </listeners>
+                                </net.java.amateras.uml.sequencediagram.model.ReturnMessageModel>
+                              </sourceConnections>
+                              <targetConnections>
+                                <net.java.amateras.uml.sequencediagram.model.SyncMessageModel>
+                                  <order>5</order>
+                                  <oldOrder>5</oldOrder>
+                                  <name>wi.addPropertyChangeListener(new WindowPropertyChangeListener())</name>
+                                  <direction>true</direction>
+                                  <source class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../../../../../../../.."/>
+                                  <target class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../.."/>
+                                  <bendpoints/>
+                                  <useBendpoint>false</useBendpoint>
+                                  <showIcon>true</showIcon>
+                                  <listeners serialization="custom">
+                                    <java.beans.PropertyChangeSupport>
+                                      <default>
+                                        <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                                        <source class="net.java.amateras.uml.sequencediagram.model.SyncMessageModel" reference="../../../.."/>
+                                      </default>
+                                      <null/>
+                                    </java.beans.PropertyChangeSupport>
+                                  </listeners>
+                                </net.java.amateras.uml.sequencediagram.model.SyncMessageModel>
+                              </targetConnections>
+                              <children/>
+                              <filterProperty/>
+                              <backgroundColor reference="../../../../../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/backgroundColor"/>
+                              <foregroundColor reference="../../../../../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/foregroundColor"/>
+                              <showIcon>true</showIcon>
+                              <parent class="net.java.amateras.uml.sequencediagram.model.InteractionModel" reference="../../../../../../../../../../../../../../.."/>
+                              <listeners serialization="custom">
+                                <java.beans.PropertyChangeSupport>
+                                  <default>
+                                    <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                                    <source class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../../.."/>
+                                  </default>
+                                  <null/>
+                                </java.beans.PropertyChangeSupport>
+                              </listeners>
+                            </net.java.amateras.uml.sequencediagram.model.ActivationModel>
+                          </children>
+                          <filterProperty/>
+                          <backgroundColor reference="../../../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/backgroundColor"/>
+                          <foregroundColor reference="../../../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/foregroundColor"/>
+                          <showIcon>true</showIcon>
+                          <parent class="net.java.amateras.uml.sequencediagram.model.InteractionModel" reference="../../../../../../../../../../../../.."/>
+                          <listeners serialization="custom">
+                            <java.beans.PropertyChangeSupport>
+                              <default>
+                                <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                                <source class="net.java.amateras.uml.sequencediagram.model.LifeLineModel" reference="../../../.."/>
+                              </default>
+                              <null/>
+                            </java.beans.PropertyChangeSupport>
+                          </listeners>
+                        </ownerLine>
+                        <movable>true</movable>
+                        <constraint>
+                          <x>809</x>
+                          <y>154</y>
+                          <width>10</width>
+                          <height>30</height>
+                        </constraint>
+                        <sourceConnections>
+                          <net.java.amateras.uml.sequencediagram.model.ReturnMessageModel>
+                            <name></name>
+                            <direction>false</direction>
+                            <source class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../.."/>
+                            <target class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../../../../.."/>
+                            <bendpoints/>
+                            <useBendpoint>false</useBendpoint>
+                            <showIcon>true</showIcon>
+                            <listeners serialization="custom">
+                              <java.beans.PropertyChangeSupport>
+                                <default>
+                                  <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                                  <source class="net.java.amateras.uml.sequencediagram.model.ReturnMessageModel" reference="../../../.."/>
+                                </default>
+                                <null/>
+                              </java.beans.PropertyChangeSupport>
+                            </listeners>
+                          </net.java.amateras.uml.sequencediagram.model.ReturnMessageModel>
+                        </sourceConnections>
+                        <targetConnections>
+                          <net.java.amateras.uml.sequencediagram.model.SyncMessageModel reference="../../.."/>
+                        </targetConnections>
+                        <children/>
+                        <filterProperty/>
+                        <backgroundColor reference="../../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/backgroundColor"/>
+                        <foregroundColor reference="../../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/foregroundColor"/>
+                        <showIcon>true</showIcon>
+                        <parent class="net.java.amateras.uml.sequencediagram.model.InteractionModel" reference="../../../../../../../../../../../.."/>
+                        <listeners serialization="custom">
+                          <java.beans.PropertyChangeSupport>
+                            <default>
+                              <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                              <source class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../../.."/>
+                            </default>
+                            <null/>
+                          </java.beans.PropertyChangeSupport>
+                        </listeners>
+                      </target>
+                      <bendpoints/>
+                      <useBendpoint>false</useBendpoint>
+                      <showIcon>true</showIcon>
+                      <listeners serialization="custom">
+                        <java.beans.PropertyChangeSupport>
+                          <default>
+                            <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                            <source class="net.java.amateras.uml.sequencediagram.model.SyncMessageModel" reference="../../../.."/>
+                          </default>
+                          <null/>
+                        </java.beans.PropertyChangeSupport>
+                      </listeners>
+                    </net.java.amateras.uml.sequencediagram.model.SyncMessageModel>
+                    <net.java.amateras.uml.sequencediagram.model.SyncMessageModel reference="../net.java.amateras.uml.sequencediagram.model.SyncMessageModel[2]/target/ownerLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel[2]/targetConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel"/>
+                  </sourceConnections>
+                  <targetConnections>
+                    <net.java.amateras.uml.sequencediagram.model.SyncMessageModel reference="../../.."/>
+                    <net.java.amateras.uml.sequencediagram.model.ReturnMessageModel reference="../../sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel"/>
+                    <net.java.amateras.uml.sequencediagram.model.ReturnMessageModel reference="../../sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[2]/target/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel"/>
+                    <net.java.amateras.uml.sequencediagram.model.ReturnMessageModel reference="../../sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[2]/target/ownerLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel[2]/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel"/>
+                  </targetConnections>
+                  <children/>
+                  <filterProperty/>
+                  <backgroundColor reference="../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/backgroundColor"/>
+                  <foregroundColor reference="../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/foregroundColor"/>
+                  <showIcon>true</showIcon>
+                  <parent class="net.java.amateras.uml.sequencediagram.model.InteractionModel" reference="../../../../../../../../.."/>
+                  <listeners serialization="custom">
+                    <java.beans.PropertyChangeSupport>
+                      <default>
+                        <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                        <source class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../../.."/>
+                      </default>
+                      <null/>
+                    </java.beans.PropertyChangeSupport>
+                  </listeners>
+                </target>
+                <bendpoints/>
+                <useBendpoint>false</useBendpoint>
+                <showIcon>true</showIcon>
+                <listeners serialization="custom">
+                  <java.beans.PropertyChangeSupport>
+                    <default>
+                      <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                      <source class="net.java.amateras.uml.sequencediagram.model.SyncMessageModel" reference="../../../.."/>
+                    </default>
+                    <null/>
+                  </java.beans.PropertyChangeSupport>
+                </listeners>
+              </net.java.amateras.uml.sequencediagram.model.SyncMessageModel>
+              <net.java.amateras.uml.sequencediagram.model.SyncMessageModel reference="../net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target/ownerLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel[2]/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[3]/target/ownerLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/targetConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel"/>
+              <net.java.amateras.uml.sequencediagram.model.SyncMessageModel>
+                <order>7</order>
+                <oldOrder>7</oldOrder>
+                <name>add(Iwindow  p, anonymousActionListener)</name>
+                <direction>true</direction>
+                <source class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../.."/>
+                <target class="net.java.amateras.uml.sequencediagram.model.ActivationModel">
+                  <ownerLine>
+                    <owner>
+                      <name>WindowStackSupport</name>
+                      <lifeLine reference="../.."/>
+                      <root reference="../../../../../../../../../../.."/>
+                      <constraint>
+                        <x>384</x>
+                        <y>20</y>
+                        <width>120</width>
+                        <height>-1</height>
+                      </constraint>
+                      <sourceConnections/>
+                      <targetConnections/>
+                      <children>
+                        <net.java.amateras.uml.sequencediagram.model.LifeLineModel reference="../../.."/>
+                      </children>
+                      <filterProperty/>
+                      <backgroundColor reference="../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/backgroundColor"/>
+                      <foregroundColor reference="../../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/foregroundColor"/>
+                      <showIcon>true</showIcon>
+                      <parent class="net.java.amateras.uml.sequencediagram.model.InteractionModel" reference="../../../../../../../../../../.."/>
+                      <listeners serialization="custom">
+                        <java.beans.PropertyChangeSupport>
+                          <default>
+                            <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                            <source class="net.java.amateras.uml.sequencediagram.model.InstanceModel" reference="../../../.."/>
+                          </default>
+                          <null/>
+                        </java.beans.PropertyChangeSupport>
+                      </listeners>
+                    </owner>
+                    <constraint>
+                      <x>444</x>
+                      <y>20</y>
+                      <width>5</width>
+                      <height>983</height>
+                    </constraint>
+                    <sourceConnections/>
+                    <targetConnections/>
+                    <children>
+                      <net.java.amateras.uml.sequencediagram.model.ActivationModel reference="../../.."/>
+                    </children>
+                    <filterProperty/>
+                    <backgroundColor reference="../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/backgroundColor"/>
+                    <foregroundColor reference="../../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/foregroundColor"/>
+                    <showIcon>true</showIcon>
+                    <parent class="net.java.amateras.uml.sequencediagram.model.InteractionModel" reference="../../../../../../../../../.."/>
+                    <listeners serialization="custom">
+                      <java.beans.PropertyChangeSupport>
+                        <default>
+                          <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                          <source class="net.java.amateras.uml.sequencediagram.model.LifeLineModel" reference="../../../.."/>
+                        </default>
+                        <null/>
+                      </java.beans.PropertyChangeSupport>
+                    </listeners>
+                  </ownerLine>
+                  <movable>true</movable>
+                  <constraint>
+                    <x>439</x>
+                    <y>328</y>
+                    <width>10</width>
+                    <height>30</height>
+                  </constraint>
+                  <sourceConnections>
+                    <net.java.amateras.uml.sequencediagram.model.ReturnMessageModel>
+                      <name></name>
+                      <direction>false</direction>
+                      <source class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../.."/>
+                      <target class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../../../../.."/>
+                      <bendpoints/>
+                      <useBendpoint>false</useBendpoint>
+                      <showIcon>true</showIcon>
+                      <listeners serialization="custom">
+                        <java.beans.PropertyChangeSupport>
+                          <default>
+                            <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                            <source class="net.java.amateras.uml.sequencediagram.model.ReturnMessageModel" reference="../../../.."/>
+                          </default>
+                          <null/>
+                        </java.beans.PropertyChangeSupport>
+                      </listeners>
+                    </net.java.amateras.uml.sequencediagram.model.ReturnMessageModel>
+                  </sourceConnections>
+                  <targetConnections>
+                    <net.java.amateras.uml.sequencediagram.model.SyncMessageModel reference="../../.."/>
+                  </targetConnections>
+                  <children/>
+                  <filterProperty/>
+                  <backgroundColor reference="../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/backgroundColor"/>
+                  <foregroundColor reference="../../../net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/foregroundColor"/>
+                  <showIcon>true</showIcon>
+                  <parent class="net.java.amateras.uml.sequencediagram.model.InteractionModel" reference="../../../../../../../../.."/>
+                  <listeners serialization="custom">
+                    <java.beans.PropertyChangeSupport>
+                      <default>
+                        <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                        <source class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../../.."/>
+                      </default>
+                      <null/>
+                    </java.beans.PropertyChangeSupport>
+                  </listeners>
+                </target>
+                <bendpoints/>
+                <useBendpoint>false</useBendpoint>
+                <showIcon>true</showIcon>
+                <listeners serialization="custom">
+                  <java.beans.PropertyChangeSupport>
+                    <default>
+                      <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                      <source class="net.java.amateras.uml.sequencediagram.model.SyncMessageModel" reference="../../../.."/>
+                    </default>
+                    <null/>
+                  </java.beans.PropertyChangeSupport>
+                </listeners>
+              </net.java.amateras.uml.sequencediagram.model.SyncMessageModel>
+              <net.java.amateras.uml.sequencediagram.model.SyncMessageModel reference="../net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target/ownerLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel[2]/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/targetConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel"/>
+            </sourceConnections>
+            <targetConnections>
+              <net.java.amateras.uml.sequencediagram.model.SyncMessageModel reference="../../sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel"/>
+              <net.java.amateras.uml.sequencediagram.model.ReturnMessageModel reference="../../sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel"/>
+              <net.java.amateras.uml.sequencediagram.model.ReturnMessageModel reference="../../sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target/ownerLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel[2]/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[3]/target/ownerLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel"/>
+              <net.java.amateras.uml.sequencediagram.model.ReturnMessageModel reference="../../sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[3]/target/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel"/>
+            </targetConnections>
+            <children>
+              <net.java.amateras.uml.sequencediagram.model.ActivationModel reference="../../sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target/ownerLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel[2]/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target"/>
+            </children>
+            <filterProperty/>
+            <backgroundColor reference="../sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/backgroundColor"/>
+            <foregroundColor reference="../sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/foregroundColor"/>
+            <showIcon>true</showIcon>
+            <parent class="net.java.amateras.uml.sequencediagram.model.InteractionModel" reference="../../../../../.."/>
+            <listeners serialization="custom">
+              <java.beans.PropertyChangeSupport>
+                <default>
+                  <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+                  <source class="net.java.amateras.uml.sequencediagram.model.ActivationModel" reference="../../../.."/>
+                </default>
+                <null/>
+              </java.beans.PropertyChangeSupport>
+            </listeners>
+          </net.java.amateras.uml.sequencediagram.model.ActivationModel>
+        </children>
+        <filterProperty/>
+        <backgroundColor reference="../children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/backgroundColor"/>
+        <foregroundColor reference="../children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/foregroundColor"/>
+        <showIcon>true</showIcon>
+        <parent class="net.java.amateras.uml.sequencediagram.model.InteractionModel" reference="../../../.."/>
+        <listeners serialization="custom">
+          <java.beans.PropertyChangeSupport>
+            <default>
+              <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+              <source class="net.java.amateras.uml.sequencediagram.model.LifeLineModel" reference="../../../.."/>
+            </default>
+            <null/>
+          </java.beans.PropertyChangeSupport>
+        </listeners>
+      </lifeLine>
+      <root reference="../../.."/>
+      <constraint>
+        <x>139</x>
+        <y>20</y>
+        <width>100</width>
+        <height>-1</height>
+      </constraint>
+      <sourceConnections/>
+      <targetConnections/>
+      <children>
+        <net.java.amateras.uml.sequencediagram.model.LifeLineModel reference="../../lifeLine"/>
+      </children>
+      <filterProperty/>
+      <backgroundColor reference="../lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/backgroundColor"/>
+      <foregroundColor reference="../lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/foregroundColor"/>
+      <showIcon>true</showIcon>
+      <parent class="net.java.amateras.uml.sequencediagram.model.InteractionModel" reference="../../.."/>
+      <listeners serialization="custom">
+        <java.beans.PropertyChangeSupport>
+          <default>
+            <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+            <source class="net.java.amateras.uml.sequencediagram.model.InstanceModel" reference="../../../.."/>
+          </default>
+          <null/>
+        </java.beans.PropertyChangeSupport>
+      </listeners>
+    </net.java.amateras.uml.sequencediagram.model.InstanceModel>
+    <net.java.amateras.uml.sequencediagram.model.InstanceModel reference="../net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target/ownerLine/owner"/>
+    <net.java.amateras.uml.sequencediagram.model.InstanceModel reference="../net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target/ownerLine/owner"/>
+    <net.java.amateras.uml.sequencediagram.model.ActorModel reference="../net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner"/>
+    <net.java.amateras.uml.sequencediagram.model.InstanceModel reference="../net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[2]/target/ownerLine/owner"/>
+    <net.java.amateras.uml.sequencediagram.model.InstanceModel reference="../net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target/ownerLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel[2]/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[3]/target/ownerLine/owner"/>
+    <net.java.amateras.uml.sequencediagram.model.InstanceModel reference="../net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[3]/target/ownerLine/owner"/>
+    <net.java.amateras.uml.sequencediagram.model.InstanceModel reference="../net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target/ownerLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel[2]/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[2]/target/ownerLine/owner"/>
+    <net.java.amateras.uml.sequencediagram.model.InstanceModel reference="../net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target/ownerLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel[2]/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[3]/target/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target/ownerLine/owner"/>
+    <net.java.amateras.uml.sequencediagram.model.InstanceModel reference="../net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target/ownerLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel[2]/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[4]/target/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[3]/target/ownerLine/owner"/>
+  </instances>
+  <activations>
+    <net.java.amateras.uml.sequencediagram.model.ActivationModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target"/>
+    <net.java.amateras.uml.sequencediagram.model.ActivationModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel"/>
+    <net.java.amateras.uml.sequencediagram.model.ActivationModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target"/>
+    <net.java.amateras.uml.sequencediagram.model.ActivationModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target"/>
+    <net.java.amateras.uml.sequencediagram.model.ActivationModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[2]/target"/>
+    <net.java.amateras.uml.sequencediagram.model.ActivationModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[2]/target/ownerLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel[2]"/>
+    <net.java.amateras.uml.sequencediagram.model.ActivationModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target/ownerLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel[2]/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[3]/target/ownerLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel"/>
+    <net.java.amateras.uml.sequencediagram.model.ActivationModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[3]/target"/>
+    <net.java.amateras.uml.sequencediagram.model.ActivationModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target/ownerLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel[2]/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target"/>
+    <net.java.amateras.uml.sequencediagram.model.ActivationModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target/ownerLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel[2]"/>
+    <net.java.amateras.uml.sequencediagram.model.ActivationModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target/ownerLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel[2]/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[2]/target/ownerLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel"/>
+    <net.java.amateras.uml.sequencediagram.model.ActivationModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target/ownerLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel[2]/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[2]/target"/>
+    <net.java.amateras.uml.sequencediagram.model.ActivationModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target/ownerLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel[2]/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[2]/target/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target"/>
+    <net.java.amateras.uml.sequencediagram.model.ActivationModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target/ownerLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel[2]/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[2]/target/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target"/>
+    <net.java.amateras.uml.sequencediagram.model.ActivationModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target/ownerLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel[2]/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[3]/target"/>
+    <net.java.amateras.uml.sequencediagram.model.ActivationModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target/ownerLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel[2]/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[4]/target"/>
+    <net.java.amateras.uml.sequencediagram.model.ActivationModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target/ownerLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel[2]/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[3]/target/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target"/>
+    <net.java.amateras.uml.sequencediagram.model.ActivationModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target/ownerLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel[2]/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[4]/target/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target"/>
+    <net.java.amateras.uml.sequencediagram.model.ActivationModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target/ownerLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel[2]/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[4]/target/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[2]/target"/>
+    <net.java.amateras.uml.sequencediagram.model.ActivationModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target/ownerLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel[2]/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[4]/target/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[3]/target"/>
+  </activations>
+  <fragments/>
+  <lifelines>
+    <net.java.amateras.uml.sequencediagram.model.LifeLineModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine"/>
+    <net.java.amateras.uml.sequencediagram.model.LifeLineModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target/ownerLine"/>
+    <net.java.amateras.uml.sequencediagram.model.LifeLineModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target/ownerLine"/>
+    <net.java.amateras.uml.sequencediagram.model.LifeLineModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine"/>
+    <net.java.amateras.uml.sequencediagram.model.LifeLineModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[2]/target/ownerLine"/>
+    <net.java.amateras.uml.sequencediagram.model.LifeLineModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target/ownerLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel[2]/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[3]/target/ownerLine"/>
+    <net.java.amateras.uml.sequencediagram.model.LifeLineModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[3]/target/ownerLine"/>
+    <net.java.amateras.uml.sequencediagram.model.LifeLineModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target/ownerLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel[2]/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[2]/target/ownerLine"/>
+    <net.java.amateras.uml.sequencediagram.model.LifeLineModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target/ownerLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel[2]/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[3]/target/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target/ownerLine"/>
+    <net.java.amateras.uml.sequencediagram.model.LifeLineModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target/ownerLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel[2]/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[4]/target/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[3]/target/ownerLine"/>
+  </lifelines>
+  <sourceConnections/>
+  <targetConnections/>
+  <children>
+    <net.java.amateras.uml.sequencediagram.model.LifeLineModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine"/>
+    <net.java.amateras.uml.sequencediagram.model.InstanceModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel"/>
+    <net.java.amateras.uml.sequencediagram.model.LifeLineModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target/ownerLine"/>
+    <net.java.amateras.uml.sequencediagram.model.InstanceModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target/ownerLine/owner"/>
+    <net.java.amateras.uml.sequencediagram.model.LifeLineModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target/ownerLine"/>
+    <net.java.amateras.uml.sequencediagram.model.InstanceModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target/ownerLine/owner"/>
+    <net.java.amateras.uml.sequencediagram.model.LifeLineModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine"/>
+    <net.java.amateras.uml.sequencediagram.model.ActorModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner"/>
+    <net.java.amateras.uml.sequencediagram.model.ActivationModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target"/>
+    <net.java.amateras.uml.sequencediagram.model.ActivationModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel"/>
+    <net.java.amateras.uml.sequencediagram.model.ActivationModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target"/>
+    <net.java.amateras.uml.sequencediagram.model.ActivationModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target"/>
+    <net.java.amateras.uml.sequencediagram.model.LifeLineModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[2]/target/ownerLine"/>
+    <net.java.amateras.uml.sequencediagram.model.InstanceModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[2]/target/ownerLine/owner"/>
+    <net.java.amateras.uml.sequencediagram.model.ActivationModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[2]/target"/>
+    <net.java.amateras.uml.sequencediagram.model.ActivationModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[2]/target/ownerLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel[2]"/>
+    <net.java.amateras.uml.sequencediagram.model.LifeLineModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target/ownerLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel[2]/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[3]/target/ownerLine"/>
+    <net.java.amateras.uml.sequencediagram.model.InstanceModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target/ownerLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel[2]/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[3]/target/ownerLine/owner"/>
+    <net.java.amateras.uml.sequencediagram.model.LifeLineModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[3]/target/ownerLine"/>
+    <net.java.amateras.uml.sequencediagram.model.InstanceModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[3]/target/ownerLine/owner"/>
+    <net.java.amateras.uml.sequencediagram.model.ActivationModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target/ownerLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel[2]/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[3]/target/ownerLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel"/>
+    <net.java.amateras.uml.sequencediagram.model.ActivationModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[3]/target"/>
+    <net.java.amateras.uml.sequencediagram.model.ActivationModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target/ownerLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel[2]/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target"/>
+    <net.java.amateras.uml.sequencediagram.model.ActivationModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target/ownerLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel[2]"/>
+    <net.java.amateras.uml.sequencediagram.model.LifeLineModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target/ownerLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel[2]/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[2]/target/ownerLine"/>
+    <net.java.amateras.uml.sequencediagram.model.InstanceModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target/ownerLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel[2]/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[2]/target/ownerLine/owner"/>
+    <net.java.amateras.uml.sequencediagram.model.ActivationModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target/ownerLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel[2]/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[2]/target/ownerLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel"/>
+    <net.java.amateras.uml.sequencediagram.model.ActivationModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target/ownerLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel[2]/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[2]/target"/>
+    <net.java.amateras.uml.sequencediagram.model.ActivationModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target/ownerLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel[2]/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[2]/target/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target"/>
+    <net.java.amateras.uml.model.NoteModel>
+      <content>add new SingletonWindow
+
+Current situation</content>
+      <old>addNewSingletonWindow
+
+Current situation</old>
+      <constraint>
+        <x>1305</x>
+        <y>40</y>
+        <width>127</width>
+        <height>77</height>
+      </constraint>
+      <sourceConnections/>
+      <targetConnections/>
+      <children/>
+      <filterProperty/>
+      <backgroundColor reference="../../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/backgroundColor"/>
+      <foregroundColor reference="../../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/foregroundColor"/>
+      <showIcon>true</showIcon>
+      <parent class="net.java.amateras.uml.sequencediagram.model.InteractionModel" reference="../../.."/>
+      <listeners serialization="custom">
+        <java.beans.PropertyChangeSupport>
+          <default>
+            <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+            <source class="net.java.amateras.uml.model.NoteModel" reference="../../../.."/>
+          </default>
+          <null/>
+        </java.beans.PropertyChangeSupport>
+      </listeners>
+    </net.java.amateras.uml.model.NoteModel>
+    <net.java.amateras.uml.sequencediagram.model.ActivationModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target/ownerLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel[2]/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[2]/target/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target"/>
+    <net.java.amateras.uml.sequencediagram.model.ActivationModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target/ownerLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel[2]/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[3]/target"/>
+    <net.java.amateras.uml.sequencediagram.model.ActivationModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target/ownerLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel[2]/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[4]/target"/>
+    <net.java.amateras.uml.sequencediagram.model.LifeLineModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target/ownerLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel[2]/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[3]/target/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target/ownerLine"/>
+    <net.java.amateras.uml.sequencediagram.model.InstanceModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target/ownerLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel[2]/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[3]/target/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target/ownerLine/owner"/>
+    <net.java.amateras.uml.sequencediagram.model.ActivationModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target/ownerLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel[2]/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[3]/target/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target"/>
+    <net.java.amateras.uml.sequencediagram.model.ActivationModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target/ownerLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel[2]/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[4]/target/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target"/>
+    <net.java.amateras.uml.sequencediagram.model.ActivationModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target/ownerLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel[2]/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[4]/target/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[2]/target"/>
+    <net.java.amateras.uml.sequencediagram.model.LifeLineModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target/ownerLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel[2]/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[4]/target/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[3]/target/ownerLine"/>
+    <net.java.amateras.uml.sequencediagram.model.InstanceModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target/ownerLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel[2]/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[4]/target/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[3]/target/ownerLine/owner"/>
+    <net.java.amateras.uml.sequencediagram.model.ActivationModel reference="../../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel/target/ownerLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel[2]/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[4]/target/sourceConnections/net.java.amateras.uml.sequencediagram.model.SyncMessageModel[3]/target"/>
+  </children>
+  <filterProperty/>
+  <backgroundColor reference="../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/backgroundColor"/>
+  <foregroundColor reference="../instances/net.java.amateras.uml.sequencediagram.model.InstanceModel/lifeLine/children/net.java.amateras.uml.sequencediagram.model.ActivationModel/sourceConnections/net.java.amateras.uml.sequencediagram.model.ReturnMessageModel/target/ownerLine/owner/foregroundColor"/>
+  <showIcon>true</showIcon>
+  <listeners serialization="custom">
+    <java.beans.PropertyChangeSupport>
+      <default>
+        <propertyChangeSupportSerializedDataVersion>2</propertyChangeSupportSerializedDataVersion>
+        <source class="net.java.amateras.uml.sequencediagram.model.InteractionModel" reference="../../../.."/>
+      </default>
+      <null/>
+    </java.beans.PropertyChangeSupport>
+  </listeners>
+</net.java.amateras.uml.sequencediagram.model.InteractionModel>
\ No newline at end of file

Property changes on: tags/v2_0_0_Build_2047/libraries/libCorePlugin/doc/addNewSingletonWindow.sqd
___________________________________________________________________
Added: svn:eol-style
   + native

Index: tags/v2_0_0_Build_2047/libraries/libCorePlugin/images/emblem-work.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/v2_0_0_Build_2047/libraries/libCorePlugin/images/emblem-work.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tags/v2_0_0_Build_2047/libraries/libCorePlugin/images/browser.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/v2_0_0_Build_2047/libraries/libCorePlugin/images/browser.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tags/v2_0_0_Build_2047/libraries/libCorePlugin/images/stop.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/v2_0_0_Build_2047/libraries/libCorePlugin/images/stop.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tags/v2_0_0_Build_2047/libraries/libCorePlugin/images/file-manager.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/v2_0_0_Build_2047/libraries/libCorePlugin/images/file-manager.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tags/v2_0_0_Build_2047/libraries/libCorePlugin/images/network.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/v2_0_0_Build_2047/libraries/libCorePlugin/images/network.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tags/v2_0_0_Build_2047/libraries/libCorePlugin/images/enabled.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/v2_0_0_Build_2047/libraries/libCorePlugin/images/enabled.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tags/v2_0_0_Build_2047/libraries/libCorePlugin/images/console.jpg
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/v2_0_0_Build_2047/libraries/libCorePlugin/images/console.jpg
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tags/v2_0_0_Build_2047/libraries/libCorePlugin/images/bonobo-component-browser.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/v2_0_0_Build_2047/libraries/libCorePlugin/images/bonobo-component-browser.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tags/v2_0_0_Build_2047/libraries/libCorePlugin/images/cascada.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/v2_0_0_Build_2047/libraries/libCorePlugin/images/cascada.gif
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tags/v2_0_0_Build_2047/libraries/libCorePlugin/images/config.jpg
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/v2_0_0_Build_2047/libraries/libCorePlugin/images/config.jpg
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tags/v2_0_0_Build_2047/libraries/libCorePlugin/images/console.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/v2_0_0_Build_2047/libraries/libCorePlugin/images/console.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tags/v2_0_0_Build_2047/libraries/libCorePlugin/images/gnome-settings-theme.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/v2_0_0_Build_2047/libraries/libCorePlugin/images/gnome-settings-theme.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tags/v2_0_0_Build_2047/libraries/libCorePlugin/images/resolution.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/v2_0_0_Build_2047/libraries/libCorePlugin/images/resolution.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tags/v2_0_0_Build_2047/libraries/libCorePlugin/images/babel.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/v2_0_0_Build_2047/libraries/libCorePlugin/images/babel.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tags/v2_0_0_Build_2047/libraries/libCorePlugin/images/config.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/v2_0_0_Build_2047/libraries/libCorePlugin/images/config.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tags/v2_0_0_Build_2047/libraries/libCorePlugin/images/shield.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/v2_0_0_Build_2047/libraries/libCorePlugin/images/shield.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tags/v2_0_0_Build_2047/libraries/libCorePlugin/images/kde-network-offline.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/v2_0_0_Build_2047/libraries/libCorePlugin/images/kde-network-offline.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tags/v2_0_0_Build_2047/libraries/libCorePlugin/images/folder.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/v2_0_0_Build_2047/libraries/libCorePlugin/images/folder.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tags/v2_0_0_Build_2047/libraries/libCorePlugin/images/kde-network-online.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/v2_0_0_Build_2047/libraries/libCorePlugin/images/kde-network-online.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tags/v2_0_0_Build_2047/libraries/libCorePlugin/images/tile.gif
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream

Property changes on: tags/v2_0_0_Build_2047/libraries/libCorePlugin/images/tile.gif
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Index: tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/Consola.java
===================================================================
--- tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/Consola.java	(revision 0)
+++ tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/Consola.java	(revision 38279)
@@ -0,0 +1,100 @@
+/* gvSIG. Sistema de Informaci�n Geogr�fica de la Generalitat Valenciana
+ *
+ * Copyright (C) 2004 IVER T.I. and Generalitat Valenciana.
+ *
+ * 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., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
+ *
+ * For more information, contact:
+ *
+ *  Generalitat Valenciana
+ *   Conselleria d'Infraestructures i Transport
+ *   Av. Blasco Ib��ez, 50
+ *   46010 VALENCIA
+ *   SPAIN
+ *
+ *      +34 963862235
+ *   gvsig@gva.es
+ *      www.gvsig.gva.es
+ *
+ *    or
+ *
+ *   IVER T.I. S.A
+ *   Salamanca 50
+ *   46005 Valencia
+ *   Spain
+ *
+ *   +34 963163400
+ *   dac@iver.es
+ */
+package org.gvsig.coreplugin;
+
+import org.gvsig.andami.PluginServices;
+import org.gvsig.andami.messages.NotificationManager;
+import org.gvsig.andami.plugins.Extension;
+
+
+/**
+ * Extensi�n que registra un frame en la aplicaci�n que recibe los eventos de
+ * la consola de la aplicaci�n y los muestra en el frame
+ */
+public class Consola extends Extension {
+	static PluginServices ps;
+    public static ConsolaFrame consolaFrame;
+    public static NotificationDialogNew notificationDialogNew;
+    public static NotificationDialog notificationDialog;
+
+    /**
+     * @see com.iver.mdiApp.IExtension#initialize()
+     */
+    public void initialize() {
+    	ps = PluginServices.getPluginServices(this);
+    	consolaFrame = new ConsolaFrame();
+    	NotificationManager.addNotificationListener(consolaFrame);
+
+    	notificationDialogNew = new NotificationDialogNew();
+    	NotificationManager.addNotificationListener(notificationDialogNew );
+
+//    	notificationDialog= new NotificationDialog();
+//    	NotificationManager.addNotificationListener(notificationDialog);
+
+    	PluginServices.getIconTheme().registerDefault(
+				"application-console",
+				this.getClass().getClassLoader().getResource("images/console.png")
+			);
+    }
+
+	/* (non-Javadoc)
+	 * @see com.iver.andami.plugins.Extension#execute(java.lang.String)
+	 */
+	public void execute(String actionCommand) {
+		consolaFrame.setSize(400, 325);
+		consolaFrame.setVisible(true);
+        PluginServices.getMDIManager().addWindow(consolaFrame);
+	}
+
+	/* (non-Javadoc)
+	 * @see com.iver.andami.plugins.Extension#isEnabled()
+	 */
+	public boolean isEnabled() {
+		return true;
+	}
+
+	/* (non-Javadoc)
+	 * @see com.iver.andami.plugins.Extension#isVisible()
+	 */
+	public boolean isVisible() {
+		return true;
+	}
+}

Property changes on: tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/Consola.java
___________________________________________________________________
Added: svn:eol-style
   + native
Added: svn:keywords
   + Author Date Id Revision

Index: tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/PreferencesExtension.java
===================================================================
--- tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/PreferencesExtension.java	(revision 0)
+++ tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/PreferencesExtension.java	(revision 38279)
@@ -0,0 +1,277 @@
+package org.gvsig.coreplugin;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Iterator;
+
+import org.gvsig.andami.Launcher;
+import org.gvsig.andami.PluginServices;
+import org.gvsig.andami.plugins.Extension;
+import org.gvsig.andami.plugins.config.generate.Extensions;
+import org.gvsig.andami.plugins.config.generate.PluginConfig;
+import org.gvsig.andami.preferences.DlgPreferences;
+import org.gvsig.andami.preferences.IPreference;
+import org.gvsig.andami.preferences.IPreferenceExtension;
+import org.gvsig.coreplugin.preferences.general.AppearancePage;
+import org.gvsig.coreplugin.preferences.general.BrowserControlPage;
+import org.gvsig.coreplugin.preferences.general.DirExtensionsPage;
+import org.gvsig.coreplugin.preferences.general.ExtensionPage;
+import org.gvsig.coreplugin.preferences.general.ExtensionsPage;
+import org.gvsig.coreplugin.preferences.general.FolderingPage;
+import org.gvsig.coreplugin.preferences.general.GeneralPage;
+import org.gvsig.coreplugin.preferences.general.LanguagePage;
+import org.gvsig.coreplugin.preferences.general.ScreenSettingsPage;
+import org.gvsig.coreplugin.preferences.general.SkinPreferences;
+import org.gvsig.coreplugin.preferences.network.FirewallPage;
+import org.gvsig.coreplugin.preferences.network.NetworkPage;
+import org.gvsig.tools.ToolsLocator;
+import org.gvsig.tools.extensionpoint.ExtensionPoint;
+import org.gvsig.tools.extensionpoint.ExtensionPointManager;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+
+/**
+ *
+ * <p>
+ * Extension that provides support for visual application configuration
+ * through a Preferences dialog where the user can specify its own settings for
+ * general purpose aspects.
+ * </p>
+ * <p>
+ * Adding new preference pages is made through ExtensionPoints by invoking
+ * <b>
+ * 	this.extensionPoints.add("AplicationPreferences","YourIPreferencesClassName", yourIPreferencesPage);
+ * </b>
+ * and then call <b>DlgPreferences.refreshExtensionPoints();</b>
+ * </p>
+ *
+ * @author jaume dominguez faus - jaume.dominguez@iver.es
+ *
+ */
+public class PreferencesExtension extends Extension{
+	
+	private static Logger logger = LoggerFactory.getLogger(PreferencesExtension.class);
+	private ExtensionPointManager extensionPoints =ToolsLocator.getExtensionPointManager();
+
+	private boolean initilizedExtensions=false;
+
+	public void initialize() {
+
+		registerIcons();
+		initializeCoreExtensions();
+	}
+
+	private void registerIcons(){
+		PluginServices.getIconTheme().registerDefault(
+				"application-preferences",
+				this.getClass().getClassLoader().getResource("images/config.png")
+			);
+
+			// AppearancePage.java
+			PluginServices.getIconTheme().registerDefault(
+					"aplication-preferences-appearance",
+					this.getClass().getClassLoader().getResource("images/gnome-settings-theme.png")
+				);
+
+			// BrowserControlPage.java
+			PluginServices.getIconTheme().registerDefault(
+					"aplication-preferences-browsercontrol",
+					this.getClass().getClassLoader().getResource("images/browser.png")
+				);
+
+
+			// DirExtensionPage.java
+			PluginServices.getIconTheme().registerDefault(
+					"aplication-preferences-dirextension",
+					this.getClass().getClassLoader().getResource("images/file-manager.png")
+				);
+
+			// ExtensionPage.java
+			PluginServices.getIconTheme().registerDefault(
+					"aplication-preferences-extension",
+					this.getClass().getClassLoader().getResource("images/emblem-work.png")
+				);
+
+			// ExtensionsPage.java
+			PluginServices.getIconTheme().registerDefault(
+					"aplication-preferences-extensions",
+					this.getClass().getClassLoader().getResource("images/bonobo-component-browser.png")
+				);
+
+			// FolderingPage.java
+			PluginServices.getIconTheme().registerDefault(
+					"aplication-preferences-foldering",
+					this.getClass().getClassLoader().getResource("images/folder.png")
+				);
+
+			// LanguagePage.java
+			PluginServices.getIconTheme().registerDefault(
+					"aplication-preferences-language",
+					this.getClass().getClassLoader().getResource("images/babel.png")
+				);
+
+			// ScreenSettingsPage.java
+			PluginServices.getIconTheme().registerDefault(
+					"aplication-preferences-screensetting",
+					this.getClass().getClassLoader().getResource("images/resolution.png")
+				);
+			// FirewallPage.java
+			PluginServices.getIconTheme().registerDefault(
+					"aplication-preferences-firewall",
+					this.getClass().getClassLoader().getResource("images/shield.png")
+				);
+
+			// NetworkPage.java
+			//
+			PluginServices.getIconTheme().registerDefault(
+					"aplication-preferences-network",
+					this.getClass().getClassLoader().getResource("images/network.png")
+				);
+			PluginServices.getIconTheme().registerDefault(
+					"application-console",
+					this.getClass().getClassLoader().getResource("images/console.png")
+				);
+			PluginServices.getIconTheme().registerDefault(
+					"gnome-settings-theme",
+					this.getClass().getClassLoader().getResource("images/gnome-settings-theme.png")
+				);
+			PluginServices.getIconTheme().registerDefault(
+					"browser-icon",
+					this.getClass().getClassLoader().getResource("images/browser.png")
+				);
+			PluginServices.getIconTheme().registerDefault(
+					"file-manager",
+					this.getClass().getClassLoader().getResource("images/file-manager.png")
+				);
+			PluginServices.getIconTheme().registerDefault(
+					"emblem-work",
+					this.getClass().getClassLoader().getResource("images/emblem-work.png")
+				);
+			PluginServices.getIconTheme().registerDefault(
+					"folder-icon",
+					this.getClass().getClassLoader().getResource("images/folder.png")
+				);
+			PluginServices.getIconTheme().registerDefault(
+					"kde-network-online-icon",
+					this.getClass().getClassLoader().getResource("images/kde-network-online.png")
+				);
+			PluginServices.getIconTheme().registerDefault(
+					"kde-network-offline-icon",
+					this.getClass().getClassLoader().getResource("images/kde-network-offline.png")
+				);
+
+
+
+	}
+
+	public void execute(String actionCommand) {
+		if (!this.initilizedExtensions) {
+			initializeExtensions();
+			initializeExtensionsConfig();
+			this.initilizedExtensions = true;
+		}
+
+		DlgPreferences dlgPreferences=PluginServices.getDlgPreferences();
+		dlgPreferences.refreshExtensionPoints();
+		PluginServices.getMDIManager().addWindow(dlgPreferences);
+	}
+	public boolean isEnabled() {
+		return true;
+	}
+
+	public boolean isVisible() {
+		return true;
+	}
+
+	private void initializeCoreExtensions() {
+		ExtensionPoint ep = this.extensionPoints.add("AplicationPreferences", "");
+		ep.append("GeneralPage", "", new GeneralPage());
+		ep.append("NetworkPage", "", new NetworkPage());
+		ep.append("FirewallPage", "", new FirewallPage());
+		ep.append("DirExtensionsPage", "", new DirExtensionsPage());
+		ep.append("LanguagePage", "", new LanguagePage());
+		ep.append("ExtensionsPage", "", new ExtensionsPage());
+		ep.append("AppearancePage", "", new AppearancePage());
+		ep.append("FolderingPage", "", new FolderingPage());
+		ep.append("ScreenSettingsPage", "", new ScreenSettingsPage());
+		ep.append("SkinPreferences", "", new SkinPreferences());
+
+//		this.extensionPoints.add("AplicationPreferences","GeneralPage", new GeneralPage());
+//		this.extensionPoints.add("AplicationPreferences","NetworkPage", new NetworkPage());
+//		this.extensionPoints.add("AplicationPreferences","FirewallPage", new FirewallPage());
+//		this.extensionPoints.add("AplicationPreferences","DirExtensionsPage", new DirExtensionsPage());
+//		this.extensionPoints.add("AplicationPreferences","LanguagePage", new LanguagePage());
+//		this.extensionPoints.add("AplicationPreferences","ExtensionsPage", new ExtensionsPage());
+//		this.extensionPoints.add("AplicationPreferences","AppearancePage", new AppearancePage());
+//		this.extensionPoints.add("AplicationPreferences","FolderingPage", new FolderingPage());
+//		this.extensionPoints.add("AplicationPreferences","ResolutionPage", new ScreenSettingsPage());
+//		this.extensionPoints.add("AplicationPreferences","SkinPreferences", new SkinPreferences());
+		String os = System.getProperty("os.name").toLowerCase();
+		if (os.indexOf("linux") != -1 || os.indexOf("unix")!= -1) {
+			ep.append("BrowserControlPage", "", new BrowserControlPage());
+//			this.extensionPoints.add("AplicationPreferences","BrowserControlPage", new BrowserControlPage());
+		}
+
+		//Falta los plugin
+	}
+
+	private void initializeExtensionsConfig() {
+		HashMap pc = Launcher.getPluginConfig();
+		ArrayList array = new ArrayList();
+		Iterator iter = pc.values().iterator();
+
+		while (iter.hasNext()) {
+			array.add(((PluginConfig) iter.next()).getExtensions());
+		}
+		ExtensionPoint ep = this.extensionPoints.add("AplicationPreferences", "");
+
+		Extensions[] exts = (Extensions[]) array.toArray(new Extensions[0]);
+		for (int i = 0; i < exts.length; i++) {
+			for (int j = 0; j < exts[i].getExtensionCount(); j++) {
+				org.gvsig.andami.plugins.config.generate.Extension ext = exts[i]
+						.getExtension(j);
+				String sExt = ext.getClassName().toString();
+				// String pn = null;
+				// pn = sExt.substring(0, sExt.lastIndexOf("."));
+				// dlgPrefs.addPreferencePage(new PluginsPage(pn));
+				// dlgPrefs.addPreferencePage(new ExtensionPage(ext));
+				ep.append(sExt, "", new ExtensionPage(ext));
+			}
+		}
+	}
+	/**
+	 *
+	 */
+	private void initializeExtensions() {
+		Iterator i = Launcher.getExtensionIterator();
+		ExtensionPoint ep = this.extensionPoints.add("AplicationPreferences", "");
+
+		while (i.hasNext()) {
+			Object extension = i.next();
+
+			if (extension instanceof IPreferenceExtension) {
+				IPreferenceExtension pe = (IPreferenceExtension) extension;
+				IPreference[] pp = pe.getPreferencesPages();
+
+				if (pp == null) {
+					logger.info("Preferences page is NULL. Extension "
+							+ extension.getClass().getName()
+							+ " implements IPreferenceExtension but does not provide pref. pages. ");
+				} else {
+					for (int j = 0; j < pp.length; j++) {
+						ep.append(pp[j].getID(), "", pp[j]);
+						pp[j].initializeValues();
+					}
+				}
+			}
+		}
+	}
+
+	public void postInitialize() {
+		super.postInitialize();
+		DlgPreferences dlgPreferences=PluginServices.getDlgPreferences();
+		dlgPreferences.refreshExtensionPoints();
+		dlgPreferences.storeValues();
+	}
+}

Property changes on: tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/PreferencesExtension.java
___________________________________________________________________
Added: svn:eol-style
   + native

Index: tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/NotificationDialogNew.java
===================================================================
--- tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/NotificationDialogNew.java	(revision 0)
+++ tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/NotificationDialogNew.java	(revision 38279)
@@ -0,0 +1,288 @@
+package org.gvsig.coreplugin;
+
+import java.awt.BorderLayout;
+import java.awt.Dimension;
+import java.awt.FlowLayout;
+import java.awt.GridBagConstraints;
+import java.awt.GridBagLayout;
+import java.awt.LayoutManager;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.net.URL;
+
+import javax.swing.BorderFactory;
+import javax.swing.ImageIcon;
+import javax.swing.JButton;
+import javax.swing.JComponent;
+import javax.swing.JLabel;
+import javax.swing.JPanel;
+import javax.swing.JScrollPane;
+import javax.swing.JTextArea;
+import javax.swing.SwingUtilities;
+import javax.swing.border.Border;
+import javax.swing.border.TitledBorder;
+
+import org.gvsig.andami.PluginServices;
+import org.gvsig.andami.messages.MessageEvent;
+import org.gvsig.andami.messages.NotificationListener;
+import org.gvsig.andami.ui.mdiManager.IWindow;
+import org.gvsig.andami.ui.mdiManager.SingletonWindow;
+import org.gvsig.andami.ui.mdiManager.WindowInfo;
+
+public class NotificationDialogNew extends JPanel implements IWindow,
+		SingletonWindow, NotificationListener {
+
+	/**
+	 * 
+	 */
+	private static final long serialVersionUID = 4363640321917006480L;
+
+	JPanelConsole console;
+	JPanelButtons buttons;
+	JPanelDescription description;
+
+	public NotificationDialogNew() {
+		super();
+		this.setLayout(new GridBagLayout());
+
+		description = new JPanelDescription();
+		console = new JPanelConsole();
+		buttons = new JPanelButtons(console);
+
+		addComppnent(this, description, 0, 0, 3, 1, 1.0, 1.0,
+				GridBagConstraints.BOTH, GridBagConstraints.CENTER);
+		addComppnent(this, buttons, 0, 1, 3, 1, 0, 0, GridBagConstraints.NONE,
+				GridBagConstraints.NORTHEAST);
+		addComppnent(this, console, 0, 2, 3, 1, 1.0, 2.0,
+				GridBagConstraints.BOTH, GridBagConstraints.CENTER);
+		this.setVisible(true);
+		this.hideConsole();
+	}
+
+	void addComppnent(JPanel panel, JComponent component, int gridx, int gridy,
+			int width, int height, double weightx, double weighty, int fill,
+			int anchor) {
+		GridBagConstraints constraints = new GridBagConstraints();
+		constraints.gridx = gridx;
+		constraints.gridy = gridy;
+		constraints.gridwidth = width;
+		constraints.gridheight = height;
+		constraints.weightx = weightx; // 1.0 se estira, 0 no.
+		constraints.weighty = weighty; // 1.0 se estira, 0 no.
+		constraints.fill = fill;
+		constraints.anchor = anchor;
+		constraints.ipadx = 2;
+		constraints.ipady = 2;
+
+		panel.add(component, constraints);
+		component.setVisible(true);
+	}
+
+	public void setDescription(String description) {
+		this.description.setDescription(description);
+	}
+
+	public void closeWindow() {
+		PluginServices.getMDIManager().closeWindow(this);
+	}
+
+	public void hideConsole() {
+		this.buttons.hideConsole();
+	}
+
+	public void showConsole() {
+		this.buttons.showConsole();
+	}
+
+	class JPanelDescription extends JPanel {
+		/**
+			 * 
+			 */
+		private static final long serialVersionUID = 1529755877776747074L;
+		JTextArea description = null;
+		JLabel image;
+
+		JPanelDescription() {
+			LayoutManager layout;
+			Border border;
+
+			layout = new GridBagLayout();
+			this.setLayout(layout);
+
+			// border = BorderFactory.createTitledBorder("Description");
+			border = BorderFactory.createEmptyBorder();
+			this.setBorder(border);
+
+			this.image = new JLabel();
+			URL stopurl = this.getClass().getClassLoader().getResource("images/stop.png");
+			this.image.setIcon(new ImageIcon(stopurl));
+			addComppnent(this, this.image, 0, 0, 1, 1, 0, 0,
+					GridBagConstraints.NONE, GridBagConstraints.CENTER);
+
+			this.description = new JTextArea();
+			this.description.setEditable(false);
+			this.description.setOpaque(false);
+			this.description.setText("");
+			JScrollPane scrollPanel = new JScrollPane(this.description);
+			scrollPanel.setBorder(BorderFactory.createEmptyBorder());
+			scrollPanel.setPreferredSize(new Dimension(600, 200));
+			addComppnent(this, scrollPanel, 1, 0, 1, 1, 1, 1,
+					GridBagConstraints.BOTH, GridBagConstraints.CENTER);
+		}
+
+		public String getDescription() {
+			return this.description.getText();
+		}
+
+		public void setDescription(String description) {
+			this.description.setText(description);
+		}
+	}
+
+	class JPanelButtons extends JPanel {
+		/**
+		 * 
+		 */
+		private static final long serialVersionUID = 1529755877776747074L;
+		JButton close = null;
+		JButton showDetails = null;
+		JButton hideDetails = null;
+		JPanel console = null;
+
+		JPanelButtons(JPanel console) {
+			this.console = console;
+			this.setLayout(new FlowLayout());
+			this.close = getCloseButton();
+			this.showDetails = getShowDetailsButton();
+			this.hideDetails = getHideDetailsButton();
+			this.add(this.close);
+			this.add(this.showDetails);
+			this.add(this.hideDetails);
+			hideConsole();
+		}
+
+		private JButton getCloseButton() {
+			JButton button = new JButton(
+					PluginServices.getText(this, "aceptar"));
+			button.addActionListener(new ActionListener() {
+				public void actionPerformed(ActionEvent e) {
+					closeWindow();
+				}
+			});
+			return button;
+		}
+
+		private JButton getShowDetailsButton() {
+			JButton button = new JButton(PluginServices.getText(this,
+					"detalles") + " >>>");
+			button.addActionListener(new ActionListener() {
+				public void actionPerformed(ActionEvent e) {
+					showConsole();
+				}
+			});
+			return button;
+		}
+
+		private JButton getHideDetailsButton() {
+			JButton button = new JButton(PluginServices.getText(this,
+					"detalles") + " <<<");
+			button.addActionListener(new ActionListener() {
+				public void actionPerformed(ActionEvent e) {
+					hideConsole();
+				}
+			});
+			return button;
+		}
+
+		public void hideConsole() {
+			this.showDetails.setVisible(true);
+			this.hideDetails.setVisible(false);
+			this.console.setVisible(false);
+		}
+
+		public void showConsole() {
+			this.showDetails.setVisible(false);
+			this.hideDetails.setVisible(true);
+			this.console.setVisible(true);
+		}
+	}
+
+	class JPanelConsole extends JPanel {
+
+		/**
+		 * 
+		 */
+		private static final long serialVersionUID = -6651900105647107644L;
+
+		JPanelConsole() {
+			BorderLayout layout = new BorderLayout();
+			this.setLayout(new BorderLayout());
+			TitledBorder border = BorderFactory.createTitledBorder("Console");
+			this.setBorder(border);
+			this.setLayout(layout);
+			this.add(Consola.consolaFrame, BorderLayout.CENTER);
+		}
+	}
+
+	public Object getWindowModel() {
+		return "notification-dialog";
+	}
+
+	public WindowInfo getWindowInfo() {
+		WindowInfo info = new WindowInfo(WindowInfo.MODELESSDIALOG
+				| WindowInfo.ICONIFIABLE | WindowInfo.RESIZABLE | WindowInfo.MAXIMIZABLE);
+		info.setTitle(PluginServices.getText(this, "Warning"));
+		info.setHeight(this.getPreferredSize().height);
+		info.setWidth(this.getPreferredSize().width);
+		return info;
+	}
+
+	public Object getWindowProfile() {
+		return WindowInfo.PROPERTIES_PROFILE;
+	}
+
+	public void errorEvent(MessageEvent e) {
+		if (e.getMessages() != null) {
+			for (int i = 0; i < e.getMessages().length; i++) {
+				this.setDescription(e.getMessages()[i]);
+			}
+		}
+
+		PluginServices.getMDIManager().restoreCursor();
+		if (SwingUtilities.isEventDispatchThread()) {
+			PluginServices.getMDIManager().addCentredWindow(this);
+		} else {
+			final IWindow win = this;
+			SwingUtilities.invokeLater(new Runnable() {
+				public void run() {
+					PluginServices.getMDIManager().addCentredWindow(win);
+				}
+			});
+		}
+	}
+
+	public void warningEvent(MessageEvent e) {
+		if (e.getMessages() != null) {
+			for (int i = 0; i < e.getMessages().length; i++) {
+				this.setDescription(e.getMessages()[i]);
+			}
+		}
+
+		PluginServices.getMDIManager().restoreCursor();
+		if (SwingUtilities.isEventDispatchThread()) {
+			PluginServices.getMDIManager().addCentredWindow(this);
+		} else {
+			final IWindow win = this;
+			SwingUtilities.invokeLater(new Runnable() {
+				public void run() {
+					PluginServices.getMDIManager().addCentredWindow(win);
+				}
+			});
+		}
+	}
+
+	public void infoEvent(MessageEvent e) {
+		// Do nothing, ignore info events
+	}
+
+}

Property changes on: tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/NotificationDialogNew.java
___________________________________________________________________
Added: svn:eol-style
   + native
Added: svn:keywords
   + Author Date Id Revision

Index: tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/preferences/general/FolderingPage.java
===================================================================
--- tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/preferences/general/FolderingPage.java	(revision 0)
+++ tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/preferences/general/FolderingPage.java	(revision 38279)
@@ -0,0 +1,372 @@
+/* gvSIG. Sistema de Informaci�n Geogr�fica de la Generalitat Valenciana
+ *
+ * Copyright (C) 2005 IVER T.I. and Generalitat Valenciana.
+ *
+ * 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., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
+ *
+ * For more information, contact:
+ *
+ *  Generalitat Valenciana
+ *   Conselleria d'Infraestructures i Transport
+ *   Av. Blasco Ib��ez, 50
+ *   46010 VALENCIA
+ *   SPAIN
+ *
+ *      +34 963862235
+ *   gvsig@gva.es
+ *      www.gvsig.gva.es
+ *
+ *    or
+ *
+ *   IVER T.I. S.A
+ *   Salamanca 50
+ *   46005 Valencia
+ *   Spain
+ *
+ *   +34 963163400
+ *   dac@iver.es
+ */
+
+/* CVS MESSAGES:
+*
+* $Id$
+* $Log$
+* Revision 1.8  2007-01-26 13:35:06  jaume
+* *** empty log message ***
+*
+* Revision 1.7  2006/10/02 07:12:12  jaume
+* *** empty log message ***
+*
+* Revision 1.6  2006/09/13 16:21:00  jaume
+* *** empty log message ***
+*
+* Revision 1.5  2006/09/12 12:09:51  jaume
+* *** empty log message ***
+*
+* Revision 1.4  2006/09/12 11:49:04  jaume
+* *** empty log message ***
+*
+* Revision 1.3  2006/09/12 10:11:25  jaume
+* *** empty log message ***
+*
+* Revision 1.1.2.1  2006/09/08 11:56:24  jaume
+* *** empty log message ***
+*
+*
+*/
+package org.gvsig.coreplugin.preferences.general;
+
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.io.File;
+import java.util.prefs.Preferences;
+
+import javax.swing.ImageIcon;
+import javax.swing.JFileChooser;
+import javax.swing.JLabel;
+import javax.swing.JPanel;
+import javax.swing.JTextField;
+import javax.swing.filechooser.FileFilter;
+
+import org.gvsig.andami.PluginServices;
+import org.gvsig.andami.preferences.AbstractPreferencePage;
+import org.gvsig.andami.preferences.StoreException;
+import org.gvsig.gui.beans.swing.JButton;
+import org.gvsig.utils.XMLEntity;
+
+/**
+ *
+ * In the FolderingPage the user sets which folder paths should be used by
+ * default.
+ *
+ * @author jaume dominguez faus - jaume.dominguez@iver.es
+ *
+ */
+public class FolderingPage extends AbstractPreferencePage{
+	private static Preferences prefs = Preferences.userRoot().node( "gvsig.foldering" );
+
+	private static final String PROJECTS_FOLDER_PROPERTY_NAME = "ProjectsFolder";
+	private static final String DATA_FOLDER_PROPERTY_NAME = "DataFolder";
+	private static final String TEMPLATES_FOLDER_PROPERTY_NAME = "TemplatesFolder";
+	private static final String SYMBOL_LIBRARY_FOLDER_PROPERTY_NAME = "SymbolLibraryFolder";
+	private JTextField txtProjectsFolder;
+	private JTextField txtDataFolder;
+	private JTextField txtTemplatesFolder;
+	private JTextField txtSymbolLibraryFolder;
+	private JButton btnSelectProjectsFolder;
+	private JButton btnSelectDataFolder;
+	private JButton btnSelectTemplatesFolder;
+	private JButton btnSelectSymbolLibraryFolder;
+	private ImageIcon icon;
+	private ActionListener btnFileChooserAction;
+
+
+
+	public FolderingPage() {
+		super();
+		setParentID(GeneralPage.id);
+		icon = PluginServices.getIconTheme().get("folder-icon");
+
+		btnFileChooserAction = new ActionListener() {
+			public void actionPerformed(ActionEvent e) {
+				String path;
+				if (e.getSource().equals(btnSelectProjectsFolder)) {
+					path = txtProjectsFolder.getText();
+				} else if (e.getSource().equals(btnSelectDataFolder)) {
+					path = txtDataFolder.getText();
+				} else if (e.getSource().equals(btnSelectSymbolLibraryFolder)) {
+					path = txtSymbolLibraryFolder.getText();
+				} else {
+					path = txtTemplatesFolder.getText();
+				}
+
+				// The file filter for the JFileChooser
+				FileFilter def =  new FileFilter(){
+					public boolean accept(File f) {
+						return (f.isDirectory());
+					}
+
+					public String getDescription() {
+						return null;
+					}
+				};
+
+				File file = new File(path);
+				JFileChooser fc;
+				if (file.exists()) {
+					fc = new JFileChooser(file);
+				} else {
+					fc = new JFileChooser();
+				}
+
+				fc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
+                fc.setMultiSelectionEnabled(false);
+                fc.setAcceptAllFileFilterUsed(false);
+                fc.addChoosableFileFilter(def);
+                int result = fc.showOpenDialog(FolderingPage.this);
+
+                if (result == JFileChooser.APPROVE_OPTION && (file = fc.getSelectedFile()) != null) {
+                	if (e.getSource().equals(btnSelectProjectsFolder)) {
+    					txtProjectsFolder.setText(file.getAbsolutePath());
+                	} else if (e.getSource().equals(btnSelectDataFolder)) {
+                		txtDataFolder.setText(file.getAbsolutePath());
+                	} else if (e.getSource().equals(btnSelectSymbolLibraryFolder)) {
+                	    txtSymbolLibraryFolder.setText(file.getAbsolutePath());
+        			} else {
+    					txtTemplatesFolder.setText(file.getAbsolutePath());
+    				}
+                }
+			}
+
+		};
+		btnSelectProjectsFolder = new JButton(PluginServices.getText(this, "browse"));
+		btnSelectProjectsFolder.addActionListener(btnFileChooserAction);
+		btnSelectDataFolder = new JButton(PluginServices.getText(this, "browse"));
+		btnSelectDataFolder.addActionListener(btnFileChooserAction);
+		btnSelectTemplatesFolder = new JButton(PluginServices.getText(this, "browse"));
+		btnSelectTemplatesFolder.addActionListener(btnFileChooserAction);
+		btnSelectSymbolLibraryFolder = new JButton(PluginServices.getText(this, "browse"));
+		btnSelectSymbolLibraryFolder.addActionListener(btnFileChooserAction);
+
+
+		JLabel lblProjectsFolder = new JLabel("<html><b>" +
+				PluginServices.
+				getText(this, "options.foldering.projects_folder") +
+		"</b></html>");
+		addComponent(lblProjectsFolder);
+		addComponent(txtProjectsFolder = new JTextField(30), btnSelectProjectsFolder);
+		addComponent(new JLabel(" "));
+
+		JLabel lblDataFolder = new JLabel("<html><b>" +
+				PluginServices.
+				getText(this, "options.foldering.data_folder") +
+		"</b></html>");
+		addComponent(lblDataFolder);
+		addComponent(txtDataFolder = new JTextField(30), btnSelectDataFolder);
+		addComponent(new JLabel(" "));
+
+		JLabel lblTemplatesFolder = new JLabel("<html><b>" +
+				PluginServices.
+				getText(this, "options.foldering.template_folder") +
+		"</b></html>");
+		addComponent(lblTemplatesFolder);
+		addComponent(txtTemplatesFolder = new JTextField(30), btnSelectTemplatesFolder);
+		addComponent(new JLabel(" "));
+
+		JLabel lblSymbolLibraryFolder = new JLabel("<html><b>" +
+				PluginServices.
+				getText(this, "options.foldering.symbol_library_folder") +
+		"</b></html>");
+		addComponent(lblSymbolLibraryFolder);
+		addComponent(txtSymbolLibraryFolder = new JTextField(30), btnSelectSymbolLibraryFolder);
+		addComponent(new JLabel(" "));
+		PluginServices ps = PluginServices.getPluginServices(this);
+		XMLEntity xml = ps.getPersistentXML();
+
+		if (xml.contains(PROJECTS_FOLDER_PROPERTY_NAME)) {
+			prefs.put(PROJECTS_FOLDER_PROPERTY_NAME, xml.getStringProperty(PROJECTS_FOLDER_PROPERTY_NAME));
+		}
+
+		if (xml.contains(DATA_FOLDER_PROPERTY_NAME)) {
+			prefs.put(DATA_FOLDER_PROPERTY_NAME, xml.getStringProperty(DATA_FOLDER_PROPERTY_NAME));
+		}
+
+		if (xml.contains(TEMPLATES_FOLDER_PROPERTY_NAME)) {
+			prefs.put(TEMPLATES_FOLDER_PROPERTY_NAME, xml.getStringProperty(TEMPLATES_FOLDER_PROPERTY_NAME));
+		}
+
+		if (xml.contains(SYMBOL_LIBRARY_FOLDER_PROPERTY_NAME)) {
+			prefs.put(SYMBOL_LIBRARY_FOLDER_PROPERTY_NAME, xml.getStringProperty(SYMBOL_LIBRARY_FOLDER_PROPERTY_NAME));
+		}
+
+	}
+
+	public void storeValues() throws StoreException {
+		File f;
+		String path, propertyName;
+		PluginServices ps = PluginServices.getPluginServices(this);
+		XMLEntity xml = ps.getPersistentXML();
+
+		// Projects folder
+		propertyName = PROJECTS_FOLDER_PROPERTY_NAME;
+		path = txtProjectsFolder.getText();
+
+		if (path.equals("")) {
+			if (xml.contains(propertyName)) {
+				xml.remove(propertyName);
+			}
+			prefs.remove(propertyName);
+		} else {
+			f = new File(path);
+			if (f.exists()) {
+				if (xml.contains(propertyName)) {
+					xml.remove(propertyName);
+				}
+				xml.putProperty(propertyName, f.getAbsolutePath());
+				prefs.put(propertyName, f.getAbsolutePath());
+			}
+		}
+
+		// Data folder
+		propertyName = DATA_FOLDER_PROPERTY_NAME;
+		path = txtDataFolder.getText();
+
+		if (path.equals("")) {
+			if (xml.contains(propertyName)) {
+				xml.remove(propertyName);
+			}
+			prefs.remove(propertyName);
+		} else {
+			f = new File(path);
+			if (f.exists()) {
+				if (xml.contains(propertyName)) {
+					xml.remove(propertyName);
+				}
+				xml.putProperty(propertyName, f.getAbsolutePath());
+				prefs.put(propertyName, f.getAbsolutePath());
+
+			}
+		}
+
+		// Templates folder
+		propertyName = TEMPLATES_FOLDER_PROPERTY_NAME;
+		path = txtTemplatesFolder.getText();
+
+		if (path.equals("")) {
+			if (xml.contains(propertyName)) {
+				xml.remove(propertyName);
+			}
+			prefs.remove(propertyName);
+		} else {
+			f = new File(path);
+			if (f.exists()) {
+				if (xml.contains(propertyName)) {
+					xml.remove(propertyName);
+				}
+				xml.putProperty(propertyName, f.getAbsolutePath());
+				prefs.put(propertyName, f.getAbsolutePath());
+
+			}
+		}
+
+		// Symbol library folder
+		propertyName = SYMBOL_LIBRARY_FOLDER_PROPERTY_NAME;
+		path = txtSymbolLibraryFolder.getText();
+
+		if (path.equals("")) {
+			if (xml.contains(propertyName)) {
+				xml.remove(propertyName);
+			}
+			prefs.remove(propertyName);
+		} else {
+			f = new File(path);
+			if (f.exists()) {
+				if (xml.contains(propertyName)) {
+					xml.remove(propertyName);
+				}
+				xml.putProperty(propertyName, f.getAbsolutePath());
+				prefs.put(propertyName, f.getAbsolutePath());
+			}
+		}
+
+	}
+
+	public void setChangesApplied() {
+		setChanged(false);
+	}
+
+	public String getID() {
+		return this.getClass().getName();
+	}
+
+	public String getTitle() {
+		return PluginServices.getText(this, "options.foldering.title");
+	}
+
+	public JPanel getPanel() {
+		return this;
+	}
+
+	public void initializeValues() {
+		PluginServices ps = PluginServices.getPluginServices(this);
+		XMLEntity xml = ps.getPersistentXML();
+		if (xml.contains(PROJECTS_FOLDER_PROPERTY_NAME)) {
+			txtProjectsFolder.setText(xml.getStringProperty(PROJECTS_FOLDER_PROPERTY_NAME));
+		}
+		if (xml.contains(DATA_FOLDER_PROPERTY_NAME)) {
+			txtDataFolder.setText(xml.getStringProperty(DATA_FOLDER_PROPERTY_NAME));
+		}
+		if (xml.contains(TEMPLATES_FOLDER_PROPERTY_NAME)) {
+			txtTemplatesFolder.setText(xml.getStringProperty(TEMPLATES_FOLDER_PROPERTY_NAME));
+		}
+		if (xml.contains(SYMBOL_LIBRARY_FOLDER_PROPERTY_NAME)) {
+			txtSymbolLibraryFolder.setText(xml.getStringProperty(SYMBOL_LIBRARY_FOLDER_PROPERTY_NAME));
+		}
+	}
+
+	public void initializeDefaults() {
+		txtDataFolder.setText("");
+		txtTemplatesFolder.setText("");
+	}
+
+	public ImageIcon getIcon() {
+		return icon;
+	}
+
+	public boolean isValueChanged() {
+		return super.hasChanged();
+	}
+
+}

Property changes on: tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/preferences/general/FolderingPage.java
___________________________________________________________________
Added: svn:keywords
   + Author Date Id Revision
Added: svn:eol-style
   + native

Index: tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/preferences/general/SkinPreferences.java
===================================================================
--- tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/preferences/general/SkinPreferences.java	(revision 0)
+++ tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/preferences/general/SkinPreferences.java	(revision 38279)
@@ -0,0 +1,151 @@
+package org.gvsig.coreplugin.preferences.general;
+
+
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Vector;
+import java.util.prefs.Preferences;
+
+import javax.swing.ImageIcon;
+import javax.swing.JLabel;
+import javax.swing.JOptionPane;
+import javax.swing.JPanel;
+
+import org.gvsig.andami.Launcher;
+import org.gvsig.andami.PluginServices;
+import org.gvsig.andami.plugins.config.generate.PluginConfig;
+import org.gvsig.andami.plugins.config.generate.SkinExtension;
+import org.gvsig.andami.preferences.AbstractPreferencePage;
+import org.gvsig.andami.preferences.StoreException;
+import org.gvsig.andami.ui.mdiManager.MDIManagerFactory;
+import org.gvsig.utils.XMLEntity;
+import org.gvsig.utils.swing.JComboBox;
+
+
+public class SkinPreferences extends AbstractPreferencePage {
+
+	private String id;
+	private ImageIcon icon;
+	private Vector listSkinsPlugins;
+	private JComboBox comboBox;
+	private String skinName = "org.gvsig.coreplugin.mdiManager.NewSkin";
+	private static Preferences prefs = Preferences.userRoot().node(
+			"gvsig.configuration.3D");
+
+	public SkinPreferences() {
+		super();
+		// TODO Auto-generated constructor stub
+		id = this.getClass().getName();
+		setParentID(GeneralPage.id);
+		icon = PluginServices.getIconTheme().get("gnome-settings-theme");
+	}
+
+	public void setChangesApplied() {
+		// System.out.println("ESTOY LLAMANDO A setChangesApplied()");
+
+	}
+
+	public void storeValues() throws StoreException {
+		// System.out.println("ESTOY LLAMANDO A storeValues()");
+		PluginServices ps = PluginServices.getPluginServices("org.gvsig.coreplugin");
+		XMLEntity xml = ps.getPersistentXML();
+		xml.putProperty("Skin-Selected", skinName);
+	}
+
+	public String getID() {
+		return id;
+	}
+
+	public ImageIcon getIcon() {
+		return icon;
+	}
+
+	public JPanel getPanel() {
+
+		if (comboBox == null) {
+			comboBox = getComboBox();
+
+			addComponent(new JLabel(PluginServices.getText(this, "skin_label")));
+
+			addComponent(comboBox);
+		}
+
+		return this;
+	}
+
+	private JComboBox getComboBox() {
+		comboBox = new JComboBox(listSkinsPlugins);
+
+		comboBox.addActionListener(new ActionListener() {
+			public void actionPerformed(ActionEvent e) {
+				JComboBox cb = (JComboBox) e.getSource();
+				String newSkinName = (String) cb.getSelectedItem();
+				if (newSkinName != null)
+					if (!newSkinName.equals(skinName)) {
+						skinName = newSkinName;
+						JOptionPane.showMessageDialog(null, PluginServices
+								.getText(this, "skin_message"));
+					}
+			}
+
+		});
+
+		comboBox.setSelectedItem(skinName);
+		return comboBox;
+	}
+
+	public String getTitle() {
+		// TODO Auto-generated method stub
+		return PluginServices.getText(this, "skin");
+	}
+
+	public void initializeDefaults() {
+		// TODO Auto-generated method stub
+		// System.out.println("inicialize Defaults");
+
+	}
+
+	public void initializeValues() {
+		// TODO Auto-generated method stub
+		// System.out.println("inicialize values");
+
+		listSkinsPlugins = new Vector();
+
+		HashMap pluginsConfig = Launcher.getPluginConfig();
+		Iterator i = pluginsConfig.keySet().iterator();
+
+		while (i.hasNext()) {
+			String name = (String) i.next();
+			PluginConfig pc = (PluginConfig) pluginsConfig.get(name);
+
+			if (pc.getExtensions().getSkinExtension() != null) {
+				SkinExtension[] se = pc.getExtensions().getSkinExtension();
+				for (int j=0;j<se.length;j++){
+
+					listSkinsPlugins.add(se[j].getClassName());
+					System.out.println("plugin de skin + name");
+				}
+			}
+		}
+
+
+		PluginServices ps = PluginServices.getPluginServices("org.gvsig.coreplugin");
+		XMLEntity xml = ps.getPersistentXML();
+		if (xml.contains("Skin-Selected")) {
+			skinName = xml.getStringProperty("Skin-Selected");
+
+		}
+
+
+
+	}
+
+	public boolean isValueChanged() {
+		// TODO Auto-generated method stub
+		// System.out.println("is value changed");
+		return true;
+	}
+
+}
Index: tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/preferences/general/ExtensionPage.java
===================================================================
--- tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/preferences/general/ExtensionPage.java	(revision 0)
+++ tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/preferences/general/ExtensionPage.java	(revision 38279)
@@ -0,0 +1,343 @@
+package org.gvsig.coreplugin.preferences.general;
+
+import java.awt.BorderLayout;
+import java.awt.Dimension;
+import java.awt.FlowLayout;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.KeyEvent;
+import java.awt.event.KeyListener;
+import java.io.BufferedReader;
+import java.io.BufferedWriter;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.FileReader;
+import java.io.IOException;
+import java.io.OutputStreamWriter;
+import java.io.Reader;
+import java.io.Writer;
+import java.util.HashMap;
+import java.util.Iterator;
+
+import javax.swing.BorderFactory;
+import javax.swing.ImageIcon;
+import javax.swing.JCheckBox;
+import javax.swing.JLabel;
+import javax.swing.JPanel;
+import javax.swing.JScrollPane;
+import javax.swing.JTextArea;
+import javax.swing.JTextField;
+import javax.swing.border.TitledBorder;
+
+import org.exolab.castor.xml.MarshalException;
+import org.exolab.castor.xml.ValidationException;
+import org.gvsig.andami.Launcher;
+import org.gvsig.andami.PluginServices;
+import org.gvsig.andami.plugins.config.generate.Extension;
+import org.gvsig.andami.plugins.config.generate.PluginConfig;
+import org.gvsig.andami.preferences.AbstractPreferencePage;
+import org.gvsig.andami.preferences.StoreException;
+
+
+public class ExtensionPage extends AbstractPreferencePage {
+	private Extension extension;
+	private JPanel jPanel = null;
+	private JScrollPane jScrollPane = null;
+	private JTextArea jTextArea = null;
+	private JPanel jPanel1 = null;
+	private JPanel jPanel2 = null;
+	private JTextField jTextField = null;
+	private JLabel jLabel = null;
+	private JLabel jLabel1 = null;
+	private JCheckBox chbActivar = null;
+	private ImageIcon icon;
+	private boolean chkSelected;
+	private int txtPriority;
+	private boolean changed = false;
+	private MyAction myAction = new MyAction();
+	/**
+	 * This is the default constructor
+	 */
+	public ExtensionPage(Extension extension) {
+		super();
+		icon = PluginServices.getIconTheme().get("emblem-work");
+		this.extension=extension;
+		setParentID(ExtensionsPage.class.getName());
+		initialize();
+	}
+
+	/**
+	 * This method initializes this
+	 *
+	 * @return void
+	 */
+	private void initialize() {
+		this.setLayout(new BorderLayout());
+		this.setSize(451, 234);
+		this.add(getJPanel(), java.awt.BorderLayout.NORTH);
+		this.add(getJPanel1(), java.awt.BorderLayout.CENTER);
+		this.add(getJPanel2(), java.awt.BorderLayout.SOUTH);
+
+	}
+
+	public String getID() {
+		return extension.getClassName();
+	}
+
+	public String getTitle() {
+		return extension.getClassName();
+	}
+
+	public JPanel getPanel() {
+		return this;
+	}
+
+	public void initializeValues() {
+		getChbActivar().setSelected(((Extension) Launcher.getExtension(extension.getClassName())).getActive());
+		getJTextField().setText(String.valueOf(extension.getPriority()));
+		getJTextArea().setText(format(((Extension) Launcher.getExtension(extension.getClassName())).getDescription(),40));
+		chkSelected = getChbActivar().isSelected();
+		txtPriority = extension.getPriority();
+	}
+
+	public void storeValues() throws StoreException {
+		int pri;
+		try {
+			pri = Integer.parseInt(getJTextField().getText());
+		} catch (Exception e){
+			throw new StoreException( PluginServices.getText(this, "invalid_priority_value"),e);
+		}
+		extension.setActive(chbActivar.isSelected());
+		extension.setPriority(pri);
+		// Se escribe el config de los plugins
+		marshalPlugins();
+	}
+
+	/**
+	 * Escribe sobre el config.xml, la nueva configuraci�n.
+	 */
+	public void marshalPlugins() {
+		HashMap pc = Launcher.getPluginConfig();
+		Iterator iter = pc.keySet().iterator();
+
+		while (iter.hasNext()) {
+			Object obj = iter.next();
+			PluginConfig pconfig = (PluginConfig) pc.get(obj);
+			Writer writer;
+
+			try {
+				FileOutputStream fos = new FileOutputStream(Launcher.getAndamiConfig().getPluginsDirectory() +
+						File.separator + (String) obj + File.separator +
+						"config.xml");
+				// castor uses xerces, and xerces uses UTF-8 by default, so we should use
+				// UTF-8 to create the writer, as long as we continue using castor+xerces
+				writer = new BufferedWriter(new OutputStreamWriter(fos, "UTF-8"));
+
+				try {
+					pconfig.marshal(writer);
+				} catch (MarshalException e1) {
+					e1.printStackTrace();
+				} catch (ValidationException e1) {
+					e1.printStackTrace();
+				}
+			} catch (IOException e) {
+				e.printStackTrace();
+			}
+
+			//hay que refrescar la aplicaci�n
+			///((App)App.instance).run();
+		}
+	}
+	/**
+	 * Lee del config.xml la configuraci�n.
+	 */
+	public void unmarshalPlugins() {
+		HashMap pc = Launcher.getPluginConfig();
+		Iterator iter = pc.keySet().iterator();
+
+		while (iter.hasNext()) {
+			Object obj = iter.next();
+			PluginConfig pconfig = (PluginConfig) pc.get(obj);
+
+			try {
+				String fileName = Launcher.getAndamiConfig().getPluginsDirectory() + File.separator + (String) obj + File.separator +	"config.xml";
+				FileInputStream is = new FileInputStream(fileName);
+				Reader reader = org.gvsig.utils.xml.XMLEncodingUtils.getReader(is);
+				if (reader==null) {
+					// the encoding was not correctly detected, use system default
+					reader = new FileReader(fileName);
+				}
+				else {
+					// use a buffered reader to improve performance
+					reader = new BufferedReader(reader);
+				}
+				pconfig=(PluginConfig)PluginConfig.unmarshal(reader);
+				Launcher.getPluginConfig().put(obj,pconfig);
+			} catch (Exception e) {
+				System.out.println("Exception unmarshalPlugin " + e);
+			}
+		}
+
+		//hay que refrescar la aplicaci�n
+		///((App)App.instance).run();
+	}
+	public void initializeDefaults() {
+		unmarshalPlugins();
+		getChbActivar().setSelected(((Extension) Launcher.getExtension(extension.getClassName())).getActive());
+		getJTextField().setText(String.valueOf(extension.getPriority()));
+		getJTextArea().setText(format(((Extension) Launcher.getExtension(extension.getClassName())).getDescription(),40));
+	}
+
+	public ImageIcon getIcon() {
+		return icon;
+	}
+
+	/**
+	 * This method initializes jPanel
+	 *
+	 * @return javax.swing.JPanel
+	 */
+	private JPanel getJPanel() {
+		if (jPanel == null) {
+			jPanel = new JPanel();
+			jPanel.setLayout(new FlowLayout());
+			jPanel.setBorder(BorderFactory.createTitledBorder(null, PluginServices.getText(this, "descripcion"), TitledBorder.DEFAULT_JUSTIFICATION, TitledBorder.DEFAULT_POSITION, null, null));
+			jPanel.add(getJScrollPane(), null);
+		}
+		return jPanel;
+	}
+
+	/**
+	 * This method initializes jScrollPane
+	 *
+	 * @return javax.swing.JScrollPane
+	 */
+	private JScrollPane getJScrollPane() {
+		if (jScrollPane == null) {
+			jScrollPane = new JScrollPane();
+			jScrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
+			jScrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
+			jScrollPane.setViewportView(getJTextArea());
+		}
+		return jScrollPane;
+	}
+
+	/**
+	 * This method initializes jTextArea
+	 *
+	 * @return javax.swing.JTextArea
+	 */
+	private JTextArea getJTextArea() {
+		if (jTextArea == null) {
+			jTextArea = new JTextArea();
+			jTextArea.setEnabled(false);
+			jTextArea.setText("");
+			jTextArea.setEditable(false);
+			jTextArea.setLineWrap(true);
+			jTextArea.setWrapStyleWord(true);
+			jTextArea.setPreferredSize(new Dimension(320, 170));
+			jTextArea.addKeyListener(myAction);
+		}
+		return jTextArea;
+	}
+	/**
+	 * This method initializes chbActivar
+	 *
+	 * @return javax.swing.JCheckBox
+	 */
+	private JCheckBox getChbActivar() {
+		if (chbActivar == null) {
+			chbActivar = new JCheckBox();
+			chbActivar.setSelected(true);
+			chbActivar.setText(PluginServices.getText(this, "extension_activada"));
+			chbActivar.addActionListener(myAction);
+		}
+
+		return chbActivar;
+	}
+	/**
+	 * This method initializes jPanel1
+	 *
+	 * @return javax.swing.JPanel
+	 */
+	private JPanel getJPanel1() {
+		if (jPanel1 == null) {
+			jLabel = new JLabel();
+			jLabel.setText(PluginServices.getText(this, "prioridad"));
+			jPanel1 = new JPanel();
+			jPanel1.add(getChbActivar(), null);
+			jPanel1.add(getJTextField(), null);
+			jPanel1.add(jLabel, null);
+		}
+		return jPanel1;
+	}
+	/**
+	 * This method initializes jPanel1
+	 *
+	 * @return javax.swing.JPanel
+	 */
+	private JPanel getJPanel2() {
+		if (jPanel2 == null) {
+			jLabel1 = new JLabel();
+			jLabel1.setText(PluginServices.getText(this, "Los_cambios_efectuados_sobre_estos_valores_se_aplicaran_al_reiniciar_la_aplicacion"));
+			jPanel2 = new JPanel();
+			jPanel2.add(jLabel1, null);			
+		}
+		return jPanel2;
+	}
+
+	/**
+	 * This method initializes jTextField
+	 *
+	 * @return javax.swing.JTextField
+	 */
+	private JTextField getJTextField() {
+		if (jTextField == null) {
+			jTextField = new JTextField();
+			jTextField.setPreferredSize(new Dimension(40, 20));
+			jTextField.addKeyListener(myAction);
+		}
+		return jTextField;
+	}
+	/**
+     * Cuts the message text to force its lines to be shorter or equal to
+     * lineLength.
+     * @param message, the message.
+     * @param lineLength, the max line length in number of characters.
+     * @return the formated message.
+     */
+    private static String format(String message, int lineLength){
+    	if (message==null)
+         	return "";
+    	if (message.length() <= lineLength) return message;
+        String[] lines = message.split(" ");
+        String theMessage = "";
+        String line="";
+        int i=0;
+        while (i<lines.length) {
+        	while (i<lines.length && lineLength>line.length()) {
+        		line=line.concat(lines[i]+" ");
+        		i++;
+        	}
+        	theMessage=theMessage.concat(line+"\n");
+        	line="";
+        }
+        return theMessage;
+    }
+
+    private class MyAction implements ActionListener, KeyListener {
+		public void actionPerformed(ActionEvent e) { changed = true; System.out.println("actionperformed");}
+		public void keyPressed(KeyEvent e) { changed = true; System.out.println("keypressed"); }
+		public void keyReleased(KeyEvent e) { changed = true; System.out.println("keyreleased");}
+		public void keyTyped(KeyEvent e) { changed = true; System.out.println("keytyped");}
+	}
+
+	public boolean isValueChanged() {
+		return changed;
+	}
+
+	public void setChangesApplied() {
+		changed = false;
+	}
+}  //  @jve:decl-index=0:visual-constraint="10,10"

Property changes on: tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/preferences/general/ExtensionPage.java
___________________________________________________________________
Added: svn:eol-style
   + native

Index: tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/preferences/general/GeneralPage.java
===================================================================
--- tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/preferences/general/GeneralPage.java	(revision 0)
+++ tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/preferences/general/GeneralPage.java	(revision 38279)
@@ -0,0 +1,135 @@
+/* gvSIG. Sistema de Informaci�n Geogr�fica de la Generalitat Valenciana
+ *
+ * Copyright (C) 2005 IVER T.I. and Generalitat Valenciana.
+ *
+ * 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., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
+ *
+ * For more information, contact:
+ *
+ *  Generalitat Valenciana
+ *   Conselleria d'Infraestructures i Transport
+ *   Av. Blasco Ib��ez, 50
+ *   46010 VALENCIA
+ *   SPAIN
+ *
+ *      +34 963862235
+ *   gvsig@gva.es
+ *      www.gvsig.gva.es
+ *
+ *    or
+ *
+ *   IVER T.I. S.A
+ *   Salamanca 50
+ *   46005 Valencia
+ *   Spain
+ *
+ *   +34 963163400
+ *   dac@iver.es
+ */
+package org.gvsig.coreplugin.preferences.general;
+
+import javax.swing.ImageIcon;
+import javax.swing.JCheckBox;
+import javax.swing.JPanel;
+
+import org.gvsig.andami.PluginServices;
+import org.gvsig.andami.preferences.AbstractPreferencePage;
+
+/**
+ * First default page in the Preferences Dialog. It is supposed to be
+ * used to hold simple user interaction settings such as:
+ * <ol>
+ * 	<li>
+ * 		Window positions.
+ *  </li>
+ * 	<li>
+ * 		Mouse behaviors (double click vs. simple click).
+ *  </li>
+ * 	<li>
+ * 		Users' language preferences.
+ *  </li>
+ * 	<li>
+ * 		Confirm overwriting files.
+ *  </li>
+ *  <li>
+ *  	Toolbars config
+ *  </li>
+ * </ol>
+ *
+ * @author jaume dominguez faus - jaume.dominguez@iver.es
+ *
+ */
+public class GeneralPage extends AbstractPreferencePage {
+	private ImageIcon icon;
+	public static String id;
+	private JCheckBox rememberWindowPosition;
+	private JCheckBox rememberWindowSize;
+
+	public GeneralPage() {
+		super();
+		initialize();
+		id = this.getClass().getName();
+	}
+
+	private void initialize() {
+		icon = PluginServices.getIconTheme().get("emblem-work");
+		// remember windows position check box
+		addComponent(rememberWindowPosition = new JCheckBox(PluginServices.getText(this, "options.general.remember_windows_pos")));
+		// remember windows sizes check box
+		addComponent(rememberWindowSize = new JCheckBox(PluginServices.getText(this, "options.general.remember_windows_size")));
+		
+	}
+
+
+	public String getID() {
+		return id;
+	}
+
+	public String getTitle() {
+		return PluginServices.getText(this, "pref.general");
+	}
+
+	public JPanel getPanel() {
+		return this;
+	}
+
+	public void initializeValues() {
+		// TODO remember window position
+		// TODO remember window size
+	}
+
+	public void storeValues() {
+	}
+
+	public void initializeDefaults() {
+		// TODO remember window position
+		// TODO remember window size
+	}
+
+	public ImageIcon getIcon() {
+		return icon;
+	}
+
+	public boolean isValueChanged() {
+		return super.hasChanged();
+	}
+
+	public void setChangesApplied() {
+		setChanged(false);
+	}
+
+	
+    
+}

Property changes on: tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/preferences/general/GeneralPage.java
___________________________________________________________________
Added: svn:eol-style
   + native

Index: tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/preferences/general/DirExtensionsPage.java
===================================================================
--- tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/preferences/general/DirExtensionsPage.java	(revision 0)
+++ tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/preferences/general/DirExtensionsPage.java	(revision 38279)
@@ -0,0 +1,180 @@
+package org.gvsig.coreplugin.preferences.general;
+
+import java.awt.BorderLayout;
+import java.awt.Component;
+import java.awt.Dimension;
+import java.awt.event.KeyEvent;
+import java.awt.event.KeyListener;
+
+import javax.swing.BorderFactory;
+import javax.swing.ImageIcon;
+import javax.swing.JButton;
+import javax.swing.JFileChooser;
+import javax.swing.JPanel;
+import javax.swing.JTextField;
+import javax.swing.border.TitledBorder;
+
+import org.gvsig.andami.Launcher;
+import org.gvsig.andami.PluginServices;
+import org.gvsig.andami.preferences.AbstractPreferencePage;
+import org.gvsig.utils.GenericFileFilter;
+
+
+public class DirExtensionsPage extends AbstractPreferencePage {
+	private ImageIcon icon;
+	private String id;
+	private JPanel pN = null;
+	private JPanel pC = null;
+	private boolean changed = false;
+	private JPanel jPanel = null;
+	private JTextField jTextField = null;
+	private JButton jButton = null;
+	private String pluginDirectory;
+
+	public DirExtensionsPage() {
+		super();
+		initialize();
+		id = this.getClass().getName();
+		setParentID(GeneralPage.class.getName());
+	}
+
+	private void initialize() {
+		icon = PluginServices.getIconTheme().get("file-manager");
+	    this.setLayout(new BorderLayout());
+	    this.setSize(new java.awt.Dimension(386,177));
+	    this.add(getPN(), java.awt.BorderLayout.NORTH);
+	    this.add(getPC(), java.awt.BorderLayout.CENTER);
+	}
+
+	public String getID() {
+		return id;
+	}
+
+	public String getTitle() {
+		return PluginServices.getText(this, "directorio_extensiones");
+	}
+
+	public JPanel getPanel() {
+		return this;
+	}
+
+
+
+	public void initializeValues() {
+		pluginDirectory = Launcher.getAndamiConfig().getPluginsDirectory();
+		getJTextField().setText(pluginDirectory);
+	}
+
+	public void storeValues() {
+//		Se escribe el directorio de los plugins
+		pluginDirectory = getJTextField().getText();
+		Launcher.getAndamiConfig().setPluginsDirectory(pluginDirectory);
+	}
+
+	public void initializeDefaults() {
+
+	}
+
+	public ImageIcon getIcon() {
+		return icon;
+	}
+
+	/**
+	 * This method initializes pN
+	 *
+	 * @return javax.swing.JPanel
+	 */
+	private JPanel getPN() {
+		if (pN == null) {
+			pN = new JPanel();
+		}
+		return pN;
+	}
+
+	/**
+	 * This method initializes pC
+	 *
+	 * @return javax.swing.JPanel
+	 */
+	private JPanel getPC() {
+		if (pC == null) {
+			pC = new JPanel();
+			pC.add(getJPanel(), null);
+		}
+		return pC;
+	}
+
+	/**
+	 * This method initializes jPanel
+	 *
+	 * @return javax.swing.JPanel
+	 */
+	private JPanel getJPanel() {
+		if (jPanel == null) {
+			jPanel = new JPanel();
+			jPanel.setBorder(BorderFactory.createTitledBorder(null, PluginServices.getText(this, "directorio"), TitledBorder.DEFAULT_JUSTIFICATION, TitledBorder.DEFAULT_POSITION, null, null));
+			jPanel.add(getJTextField(), null);
+			jPanel.add(getJButton(), null);
+		}
+		return jPanel;
+	}
+
+	/**
+	 * This method initializes jTextField
+	 *
+	 * @return javax.swing.JTextField
+	 */
+	private JTextField getJTextField() {
+		if (jTextField == null) {
+			jTextField = new JTextField();
+			jTextField.setPreferredSize(new Dimension(200, 20));
+			jTextField.setText(pluginDirectory);
+			jTextField.addKeyListener(new KeyListener() {
+               	public void keyPressed(KeyEvent e) { changed = true; }
+				public void keyReleased(KeyEvent e) { changed = true; }
+				public void keyTyped(KeyEvent e){ changed = true; }
+			});
+		}
+		return jTextField;
+	}
+
+	/**
+	 * This method initializes jButton
+	 *
+	 * @return javax.swing.JButton
+	 */
+	private JButton getJButton() {
+		if (jButton == null) {
+			jButton = new JButton();
+			jButton.setText(PluginServices.getText(this, "examinar"));
+			jButton.addActionListener(new java.awt.event.ActionListener() {
+				public void actionPerformed(java.awt.event.ActionEvent e) {
+					JFileChooser jfc = new JFileChooser();
+					jfc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
+					jfc.addChoosableFileFilter(new GenericFileFilter("",
+							PluginServices.getText(this,
+								"directorio_extensiones")));
+
+					if (jfc.showOpenDialog(
+								(Component) PluginServices.getMainFrame()) == JFileChooser.APPROVE_OPTION) {
+						getJTextField().setText(jfc.getSelectedFile()
+												   .getAbsolutePath());
+						changed = true;
+					}
+				}
+			});
+
+		}
+		return jButton;
+	}
+
+	public boolean isValueChanged() {
+		return changed;
+	}
+
+	public void setChangesApplied() {
+		changed = false;
+	}
+
+}  //  @jve:decl-index=0:visual-constraint="10,10"
+

Property changes on: tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/preferences/general/DirExtensionsPage.java
___________________________________________________________________
Added: svn:eol-style
   + native

Index: tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/preferences/general/AppearancePage.java
===================================================================
--- tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/preferences/general/AppearancePage.java	(revision 0)
+++ tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/preferences/general/AppearancePage.java	(revision 38279)
@@ -0,0 +1,259 @@
+/* gvSIG. Sistema de Informaci�n Geogr�fica de la Generalitat Valenciana
+ *
+ * Copyright (C) 2005 IVER T.I. and Generalitat Valenciana.
+ *
+ * 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., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
+ *
+ * For more information, contact:
+ *
+ *  Generalitat Valenciana
+ *   Conselleria d'Infraestructures i Transport
+ *   Av. Blasco Ib��ez, 50
+ *   46010 VALENCIA
+ *   SPAIN
+ *
+ *      +34 963862235
+ *   gvsig@gva.es
+ *      www.gvsig.gva.es
+ *
+ *    or
+ *
+ *   IVER T.I. S.A
+ *   Salamanca 50
+ *   46005 Valencia
+ *   Spain
+ *
+ *   +34 963163400
+ *   dac@iver.es
+ */
+
+/* CVS MESSAGES:
+*
+* $Id$
+* $Log$
+* Revision 1.11  2006-09-12 12:09:51  jaume
+* *** empty log message ***
+*
+* Revision 1.10  2006/09/12 11:49:04  jaume
+* *** empty log message ***
+*
+* Revision 1.9  2006/09/12 10:11:25  jaume
+* *** empty log message ***
+*
+* Revision 1.7.4.1  2006/09/08 11:56:24  jaume
+* *** empty log message ***
+*
+* Revision 1.7  2006/08/22 12:23:05  jaume
+* improved perfomance when saving changes
+*
+* Revision 1.6  2006/08/22 07:37:17  jaume
+* *** empty log message ***
+*
+* Revision 1.5  2006/08/04 11:44:55  caballero
+* lanzo una excepci�n cuando falla el m�todo storeValues
+*
+* Revision 1.4  2006/08/04 11:03:43  cesar
+* Set the selected appearance after the combo box is filled (it had no effect otherwise)
+*
+* Revision 1.3  2006/08/02 12:49:07  cesar
+* Install Plastic look and feel before getting the LAF-combo. Hide installed but non-supported themes from the list.
+*
+* Revision 1.2  2006/07/31 10:02:31  jaume
+* *** empty log message ***
+*
+* Revision 1.1  2006/06/29 16:15:06  jaume
+* Appearance now configurable
+*
+*
+*/
+package org.gvsig.coreplugin.preferences.general;
+
+import java.awt.Component;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.util.ArrayList;
+
+import javax.swing.ImageIcon;
+import javax.swing.JComboBox;
+import javax.swing.JPanel;
+import javax.swing.LookAndFeel;
+import javax.swing.SwingUtilities;
+import javax.swing.UIManager;
+import javax.swing.UIManager.LookAndFeelInfo;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import org.gvsig.andami.Launcher;
+import org.gvsig.andami.PluginServices;
+import org.gvsig.andami.messages.Messages;
+import org.gvsig.andami.preferences.AbstractPreferencePage;
+
+/**
+ * Appearance page. Where the user can choose Look&Feels and maybe some more stuff.
+ *
+ * @author jaume dominguez faus - jaume.dominguez@iver.es
+ *
+ */
+public class AppearancePage extends AbstractPreferencePage{
+    private JComboBox lookAndFeelCombo;
+    private String id;
+    private ImageIcon icon;
+    private String lookAndFeel;
+    private boolean changed = false;
+	private Logger logger = LoggerFactory.getLogger(this.getClass());
+	private PluginServices ps = PluginServices.getPluginServices(this);
+	private ActionListener myAction;
+
+	public AppearancePage() {
+        super();
+        id = this.getClass().getName();
+        icon = PluginServices.getIconTheme().get("gnome-settings-theme");
+        setParentID(GeneralPage.id);
+        // install the plastic look and feel before getting the laf combobox
+    	UIManager.installLookAndFeel("Plastic XP", "com.jgoodies.looks.plastic.PlasticXPLookAndFeel");
+    	// install the extra LAF's before getting the LAF combobox
+    	String osName = System.getProperty("os.name");
+		if (osName.toLowerCase().startsWith("mac os x")) {
+			UIManager.installLookAndFeel("Quaqua", "ch.randelshofer.quaqua.QuaquaLookAndFeel");
+		}
+    	addComponent(PluginServices.getText(this, "options.general.select_theme"), getLookAndFeelComboBox());
+        myAction = new ActionListener() {
+            public void actionPerformed(ActionEvent e) {
+                lookAndFeel = ((LF) lookAndFeelCombo.getSelectedItem()).getClassName();
+                changed = true;
+
+                try {
+                    UIManager.setLookAndFeel(lookAndFeel);
+                    SwingUtilities
+                        .updateComponentTreeUI((Component) PluginServices
+                            .getMainFrame());
+                } catch (Exception ex) {
+                    logger.warn(Messages.getString("Launcher.look_and_feel"),
+                        ex);
+                }
+            }
+        };
+
+    }
+
+    public String getID() {
+        return id;
+    }
+
+    public String getTitle() {
+        return PluginServices.getText(this, "pref.appearance");
+    }
+
+    public JPanel getPanel() {
+        return this;
+    }
+
+    public void initializeValues() {
+    	getLookAndFeelComboBox().removeActionListener(myAction);
+    	lookAndFeel = Launcher.getAndamiConfig().getLookAndFeel();
+    	if (lookAndFeel == null) {
+    		lookAndFeel = Launcher.getDefaultLookAndFeel();
+    	}
+
+    	for (int i=0; i<getLookAndFeelComboBox().getModel().getSize(); i++) {
+    		LF element = (LF) getLookAndFeelComboBox().getModel().getElementAt(i);
+    		if (element.getClassName().equals(lookAndFeel)) {
+    			getLookAndFeelComboBox().setSelectedIndex(i);
+    			break;
+    		}
+    	}
+    	getLookAndFeelComboBox().addActionListener(myAction);
+    }
+
+
+	public void storeValues() {
+		Launcher.getAndamiConfig().setLookAndFeel(lookAndFeel);
+    }
+
+    public void initializeDefaults() {
+//    	getLookAndFeelComboBox().removeActionListener(myAction);
+
+    	final String defaultLookAndFeel = Launcher.getDefaultLookAndFeel();
+        for (int i = 0; i < getLookAndFeelComboBox().getModel().getSize(); i++) {
+        	LF lf = (LF) getLookAndFeelComboBox().getModel().getElementAt(i);
+        	if (defaultLookAndFeel.equals(lf.getClassName())) {
+        		getLookAndFeelComboBox().setSelectedIndex(i);
+        		break;
+        	}
+        }
+//        getLookAndFeelComboBox().addActionListener(myAction);
+    }
+
+    public ImageIcon getIcon() {
+        return icon;
+    }
+
+    private JComboBox getLookAndFeelComboBox() {
+        if (lookAndFeelCombo==null) {
+            LookAndFeelInfo[] lfs = UIManager.getInstalledLookAndFeels();
+            ArrayList a = new ArrayList();
+            for (int i = 0; i < lfs.length; i++) {
+                LF lf = new LF(lfs[i]);
+
+                // test if the look and feel is supported in this platform before adding it to the list
+                Class lafClassDef;
+				try {
+					lafClassDef = Class.forName(lfs[i].getClassName());
+					LookAndFeel laf;
+					laf = (LookAndFeel) lafClassDef.newInstance();
+
+		            if (laf.isSupportedLookAndFeel()) {
+						a.add(lf);
+					}
+
+				} catch (ClassNotFoundException e2) {
+					logger.error(ps.getText("error_loading_look_and_feel_"+lfs[i].getName()), e2);
+				} catch (InstantiationException e1) {
+					logger.error(ps.getText("error_loading_look_and_feel_"+lfs[i].getName()), e1);
+				} catch (IllegalAccessException e1) {
+					logger.error(ps.getText("error_loading_look_and_feel_"+lfs[i].getName()), e1);
+				}
+            }
+            lookAndFeelCombo = new JComboBox(a.toArray(new LF[a.size()]));
+
+        }
+        return lookAndFeelCombo;
+    }
+
+    private class LF {
+        LookAndFeelInfo lfi;
+
+        public LF(LookAndFeelInfo lfi) {
+            this.lfi = lfi;
+        }
+
+        public String getClassName() {
+            return lfi.getClassName();
+        }
+
+        public String toString() {
+            return lfi.getName();
+        }
+    }
+
+	public boolean isValueChanged() {
+		return changed;
+	}
+
+	public void setChangesApplied() {
+		changed = false;
+	}
+}

Property changes on: tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/preferences/general/AppearancePage.java
___________________________________________________________________
Added: svn:eol-style
   + native
Added: svn:keywords
   + Author Date Id Revision

Index: tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/preferences/general/ExtensionsPage.java
===================================================================
--- tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/preferences/general/ExtensionsPage.java	(revision 0)
+++ tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/preferences/general/ExtensionsPage.java	(revision 38279)
@@ -0,0 +1,74 @@
+package org.gvsig.coreplugin.preferences.general;
+
+import java.awt.BorderLayout;
+
+import javax.swing.ImageIcon;
+import javax.swing.JLabel;
+import javax.swing.JPanel;
+
+import org.gvsig.andami.PluginServices;
+import org.gvsig.andami.preferences.AbstractPreferencePage;
+
+
+public class ExtensionsPage extends AbstractPreferencePage {
+
+	private JLabel jLabel = null;
+	private ImageIcon icon;
+
+	/**
+	 * This is the default constructor
+	 */
+	public ExtensionsPage() {
+		super();
+		icon = PluginServices.getIconTheme().get("aplication-preferences-extensions");
+		setParentID(GeneralPage.class.getName());
+		initialize();
+	}
+
+	/**
+	 * This method initializes this
+	 *
+	 * @return void
+	 */
+	private void initialize() {
+		jLabel = new JLabel();
+		jLabel.setText(PluginServices.getText(this,"configurar_todas_las_extensiones"));
+		this.setLayout(new BorderLayout());
+		this.setSize(300, 200);
+		this.add(jLabel, java.awt.BorderLayout.CENTER);
+	}
+
+	public String getID() {
+		return this.getClass().getName();
+	}
+
+	public String getTitle() {
+		return PluginServices.getText(this,"extensiones");
+	}
+
+	public JPanel getPanel() {
+		return this;
+	}
+
+
+
+	public void initializeValues() {
+	}
+
+	public void storeValues() {
+	}
+
+	public void initializeDefaults() {
+	}
+
+	public ImageIcon getIcon() {
+		return icon;
+	}
+
+	public boolean isValueChanged() {
+		return false; // Because it does not manage values
+	}
+
+	public void setChangesApplied() {
+	}
+}

Property changes on: tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/preferences/general/ExtensionsPage.java
___________________________________________________________________
Added: svn:eol-style
   + native

Index: tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/preferences/general/ScreenSettingsPage.java
===================================================================
--- tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/preferences/general/ScreenSettingsPage.java	(revision 0)
+++ tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/preferences/general/ScreenSettingsPage.java	(revision 38279)
@@ -0,0 +1,184 @@
+package org.gvsig.coreplugin.preferences.general;
+
+import java.awt.BasicStroke;
+import java.awt.Color;
+import java.awt.Dimension;
+import java.awt.Graphics;
+import java.awt.Graphics2D;
+import java.awt.Toolkit;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.text.NumberFormat;
+import java.util.prefs.Preferences;
+
+import javax.swing.BorderFactory;
+import javax.swing.ImageIcon;
+import javax.swing.JComboBox;
+import javax.swing.JLabel;
+import javax.swing.JPanel;
+import javax.swing.JTextField;
+import javax.swing.border.Border;
+
+import org.gvsig.andami.PluginServices;
+import org.gvsig.andami.preferences.AbstractPreferencePage;
+import org.gvsig.andami.preferences.StoreException;
+import org.gvsig.gui.beans.swing.JBlank;
+import org.gvsig.gui.beans.swing.JButton;
+
+
+
+/**
+ * Page to calculate correctly all the scales of screen.  In it we introduce
+ * the values of our screen just as we see it.
+ *
+ * @author Vicente Caballero Navarro
+ */
+public class ScreenSettingsPage extends AbstractPreferencePage {
+	protected static String id = ScreenSettingsPage.class.getName();
+	private static final long serialVersionUID = 6012279465073443753L;
+	private static final double MILLIMETERS_PER_INCH = 2.54;
+	private static Preferences prefs = Preferences.userRoot().node( "gvsig.configuration.screen" );
+	private ImageIcon icon;
+	private JPanel pTestMeasure;
+	private JTextField txtResolution;
+	private JTextField txtMeasure;
+	private JComboBox cmbUnits;
+	private JButton btnRefresh;
+
+    public ScreenSettingsPage() {
+        super();
+        setParentID(GeneralPage.id);
+        icon=PluginServices.getIconTheme().get("aplication-preferences-screensetting");
+        addComponent(PluginServices.getText(this, "resolution") + ":",
+    			txtResolution = new JTextField("", 15));
+
+        pTestMeasure = new TestMeasurePanel();
+        addComponent(pTestMeasure);
+        addComponent(new JLabel(PluginServices.getText(this,"the_length_of_the_line_above_is")+":"));
+        cmbUnits=new JComboBox();
+        cmbUnits.addItem(PluginServices.getText(this,"centimeters"));
+        cmbUnits.addItem(PluginServices.getText(this,"inches"));
+        cmbUnits.addActionListener(new ActionListener() {
+			public void actionPerformed(ActionEvent arg0) {
+				/*double d=Double.parseDouble(txtMeasure.getText().replace(',','.'));
+				if (cmbUnits.getSelectedIndex()==0) {
+					txtResolution.setText(String.valueOf((int)((210*MILLIMETERS_PER_INCH)/d)));
+				}else {
+					txtResolution.setText(String.valueOf((int)(210/d)));
+				}
+*/
+			}
+        });
+        txtMeasure=new JTextField();
+        addComponent(txtMeasure,cmbUnits);
+
+        addComponent(new JBlank(1,1));
+
+        btnRefresh=new JButton(PluginServices.getText(this,"button.resolution.calculate"));
+        btnRefresh.addActionListener(new ActionListener() {
+			public void actionPerformed(ActionEvent arg0) {
+
+				double d=Double.parseDouble(txtMeasure.getText().replace(',','.'));
+				if (cmbUnits.getSelectedIndex()==0) {
+					txtResolution.setText(String.valueOf((int)((210*MILLIMETERS_PER_INCH)/d)));
+				}else {
+					txtResolution.setText(String.valueOf((int)(210/d)));
+				}
+
+
+			}
+
+        });
+        addComponent(btnRefresh);
+
+
+
+        initialize();
+    }
+
+
+    private class TestMeasurePanel extends JPanel{
+
+		private static final long serialVersionUID = -8307475893309753439L;
+		public TestMeasurePanel() {
+    		setPreferredSize(new Dimension(250,60));
+            Border border=BorderFactory.createTitledBorder(
+            		PluginServices.getText(this, "test_measure"));
+            setBorder(border);
+    	}
+		protected void paintComponent(Graphics g) {
+			super.paintComponent(g);
+			((Graphics2D)g).setStroke(new BasicStroke(2));
+			g.setColor(Color.black);
+			g.drawLine(20,30,230,30);
+			g.drawLine(20,20,20,40);
+			g.drawLine(230,20,230,40);
+		}
+
+    }
+
+    private void initialize() {
+//        this.setSize(394, 248);
+    }
+
+    public void storeValues() throws StoreException {
+       int dpi=Integer.parseInt(txtResolution.getText());
+       prefs.putInt("dpi",dpi);
+    }
+
+    public void setChangesApplied() {
+    	setChanged(false);
+    }
+
+    public String getID() {
+    	return id;
+    }
+
+    public String getTitle() {
+    	return PluginServices.getText(this, "options.configuration.screen");
+    }
+
+    public JPanel getPanel() {
+       return this;
+    }
+
+    public void initializeValues() {
+    	Toolkit kit = Toolkit.getDefaultToolkit();
+    	double dpi = kit.getScreenResolution();
+    	int resDPI=prefs.getInt("dpi",(int)dpi);
+
+		txtResolution.setText(String.valueOf(resDPI));
+		txtMeasure.setText(String.valueOf(format(210*MILLIMETERS_PER_INCH/resDPI)));
+		cmbUnits.setSelectedIndex(0);
+	}
+
+    public void initializeDefaults() {
+    	Toolkit kit = Toolkit.getDefaultToolkit();
+		int dpi = kit.getScreenResolution();
+		txtResolution.setText(String.valueOf(dpi));
+		txtMeasure.setText(String.valueOf(format(210*MILLIMETERS_PER_INCH/dpi)));
+		cmbUnits.setSelectedIndex(0);
+    }
+
+
+    public ImageIcon getIcon() {
+        return icon;
+    }
+
+
+    public boolean isValueChanged() {
+    	return super.hasChanged();
+    }
+
+    private String format(double d) {
+        NumberFormat nf = NumberFormat.getInstance();
+
+        if ((d % (long) d) != 0) {
+            nf.setMaximumFractionDigits(2);
+        } else {
+            nf.setMaximumFractionDigits(0);
+        }
+
+        return nf.format(d); //(Double.valueOf(s).doubleValue());
+    }
+}  //  @jve:decl-index=0:visual-constraint="10,10"

Property changes on: tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/preferences/general/ScreenSettingsPage.java
___________________________________________________________________
Added: svn:keywords
   + Author Date Id Revision
Added: svn:eol-style
   + native
Added: svn:executable
   + *

Index: tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/preferences/general/LanguagePage.java
===================================================================
--- tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/preferences/general/LanguagePage.java	(revision 0)
+++ tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/preferences/general/LanguagePage.java	(revision 38279)
@@ -0,0 +1,317 @@
+/* gvSIG. Sistema de Informaci�n Geogr�fica de la Generalitat Valenciana
+ *
+ * Copyright (C) 2005 IVER T.I. and Generalitat Valenciana.
+ *
+ * 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., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
+ *
+ * For more information, contact:
+ *
+ *  Generalitat Valenciana
+ *   Conselleria d'Infraestructures i Transport
+ *   Av. Blasco Ib��ez, 50
+ *   46010 VALENCIA
+ *   SPAIN
+ *
+ *      +34 963862235
+ *   gvsig@gva.es
+ *      www.gvsig.gva.es
+ *
+ *    or
+ *
+ *   IVER T.I. S.A
+ *   Salamanca 50
+ *   46005 Valencia
+ *   Spain
+ *
+ *   +34 963163400
+ *   dac@iver.es
+ */
+package org.gvsig.coreplugin.preferences.general;
+
+import java.awt.BorderLayout;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.util.Locale;
+
+import javax.swing.*;
+
+import org.gvsig.andami.Launcher;
+import org.gvsig.andami.PluginServices;
+import org.gvsig.andami.preferences.AbstractPreferencePage;
+
+
+public class LanguagePage extends AbstractPreferencePage {
+	private static LanguageItem DEFAULT_LANGUAGE;
+	private ImageIcon icon;
+
+	private String id;
+
+	private JPanel pN = null;
+
+	private JPanel pC = null;
+
+	private JPanel pS = null;
+
+	private JPanel jPanel = null;
+
+	private JComboBox cmbIdioma = null;
+
+	private JLabel label = null;
+
+	private int langIndex;
+	private boolean changed = false;
+
+	public LanguagePage() {
+		super();
+		initialize();
+		id = this.getClass().getName();
+		setParentID(GeneralPage.class.getName());
+	}
+
+	private void initialize() {
+		icon=PluginServices.getIconTheme().get("aplication-preferences-language");
+		this.setLayout(new BorderLayout());
+		this.setSize(new java.awt.Dimension(386, 177));
+		this.add(getPN(), java.awt.BorderLayout.NORTH);
+		this.add(getPC(), java.awt.BorderLayout.CENTER);
+		this.add(getPS(), java.awt.BorderLayout.SOUTH);
+		langIndex = getJComboBox().getSelectedIndex();
+	}
+
+	public String getID() {
+		return id;
+	}
+
+	public String getTitle() {
+		return PluginServices.getText(this, "idioma");
+	}
+
+	public JPanel getPanel() {
+		return this;
+	}
+
+	public void initializeValues() {
+	}
+
+	private class LanguageItem {
+		public Locale locale;
+
+		public String description;
+
+		public LanguageItem(Locale loc, String str) {
+			locale = loc;
+			description = str;
+		}
+
+		public String toString() {
+			return description;
+		}
+	}
+
+	public void storeValues() {
+		// Se escribe el idioma
+		LanguageItem sel = (LanguageItem) cmbIdioma.getSelectedItem();
+		Launcher.getAndamiConfig().setLocaleLanguage(sel.locale.getLanguage());
+		Launcher.getAndamiConfig().setLocaleCountry(sel.locale.getCountry());
+		Launcher.getAndamiConfig().setLocaleVariant(sel.locale.getVariant());
+		langIndex = getJComboBox().getSelectedIndex();
+
+	}
+
+	public void initializeDefaults() {
+		getJComboBox().setSelectedItem(DEFAULT_LANGUAGE);
+	}
+
+	public ImageIcon getIcon() {
+		return icon;
+	}
+
+	/**
+	 * This method initializes pN
+	 *
+	 * @return javax.swing.JPanel
+	 */
+	private JPanel getPN() {
+		if (pN == null) {
+			pN = new JPanel();
+		}
+		return pN;
+	}
+
+	/**
+	 * This method initializes pC
+	 *
+	 * @return javax.swing.JPanel
+	 */
+	private JPanel getPC() {
+		if (pC == null) {
+			pC = new JPanel();
+			pC.add(getJPanel(), null);
+		}
+		return pC;
+	}
+
+	/**
+	 * This method initializes pS
+	 *
+	 * @return javax.swing.JPanel
+	 */
+	private JPanel getPS() {
+		if (pS == null) {
+			pS = new JPanel();
+			pS.add(getLabel(),BorderLayout.SOUTH);
+		}
+		return pS;
+	}
+
+
+	/**
+	 * This method initializes jPanel
+	 *
+	 * @return javax.swing.JPanel
+	 */
+	private JPanel getJPanel() {
+		if (jPanel == null) {
+			jPanel = new JPanel();
+			jPanel.setBorder(javax.swing.BorderFactory.createTitledBorder(null,
+					PluginServices.getText(this,"idioma"),
+					javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION,
+					javax.swing.border.TitledBorder.DEFAULT_POSITION, null,
+					null));
+			jPanel.add(getJComboBox(), BorderLayout.NORTH);
+
+		}
+		return jPanel;
+	}
+
+	/**
+	 * This method initializes Label
+	 *
+	 * @return javax.swing.JComboBox
+	 */
+	private JLabel getLabel() {
+		if (label == null){
+			label = new JLabel(PluginServices.getText(null,"Los_cambios_efectuados_sobre_estos_valores_se_aplicaran_al_reiniciar_la_aplicacion"));
+		}
+		return label;
+	}
+	/**
+	 * This method initializes jComboBox
+	 *
+	 * @return javax.swing.JComboBox
+	 */
+	private JComboBox getJComboBox() {
+		if (cmbIdioma == null) {
+			cmbIdioma = new JComboBox();
+			cmbIdioma.setPreferredSize(new java.awt.Dimension(195, 20));
+
+			Locale esp = new Locale("es");
+			Locale eng = new Locale("en");
+			Locale fra = new Locale("fr");
+			Locale ita = new Locale("it");
+			Locale val = new Locale("ca");
+			Locale cs = new Locale("cs"); // Checo
+			Locale eu = new Locale("eu"); // euskera
+			Locale brasil = new Locale("pt", "BR");
+			Locale de = new Locale("de"); // Alem�n
+			Locale gl = new Locale("gl", "GL"); // Gallego
+			Locale zh = new Locale("zh", "ZH"); // Chino
+            Locale ru = new Locale("ru", "RU"); // Ruso
+            Locale el = new Locale("el", "GR"); // Griego
+            Locale ro = new Locale("ro"); // Romanian
+            Locale pl = new Locale("pl"); // Polish
+
+			// Default language
+
+			// Parche para valenciano/catal�n valenci�/catal�
+			String strValenciano = PluginServices.getText(this, "__valenciano");
+			// Parche para euskera
+
+			Locale localeActual = Locale.getDefault(); // Se configura en la
+														// clase Launcher
+			String strEuskera;
+			if (eu.getDisplayLanguage().compareTo("vascuence") == 0)
+				strEuskera = "Euskera";
+			else
+				strEuskera = eu.getDisplayLanguage();
+
+			// English as default language
+			DEFAULT_LANGUAGE = new LanguageItem(eng, eng.getDisplayLanguage());
+
+			LanguageItem[] lenguajes = new LanguageItem[] {
+					new LanguageItem(esp, esp.getDisplayLanguage()),
+					DEFAULT_LANGUAGE,
+					new LanguageItem(fra, fra.getDisplayLanguage()),
+					new LanguageItem(ita, ita.getDisplayLanguage()),
+					new LanguageItem(val, strValenciano),
+					new LanguageItem(cs, cs.getDisplayLanguage()),
+					new LanguageItem(eu, strEuskera),
+					new LanguageItem(brasil, brasil.getDisplayLanguage()),
+					new LanguageItem(de, de.getDisplayLanguage()),
+					new LanguageItem(gl, gl.getDisplayLanguage()),
+					new LanguageItem(zh, zh.getDisplayLanguage()),
+                    new LanguageItem(ru, ru.getDisplayLanguage()),
+                    new LanguageItem(el, el.getDisplayLanguage()),
+                    new LanguageItem(ro, ro.getDisplayLanguage()),
+                    new LanguageItem(pl, pl.getDisplayLanguage())};
+
+			DefaultComboBoxModel model = new DefaultComboBoxModel(lenguajes);
+
+			/*
+			 * Comparamos primero con los "Locales" completos para admitir
+			 * las variaciones de los paises y si no encontramos la combinacion
+			 * idioma-pais entonces buscamos unicamente por el nombre del idioma,
+			 * y si seguimos sin encontrarlo seleccionamos el idioma por defecto.
+			 */
+			boolean foundLanguage = false;
+			for (int i = 0; i < lenguajes.length; i++) {
+				if (lenguajes[i].locale.equals(Locale.getDefault())) {
+					model.setSelectedItem(lenguajes[i]);
+					foundLanguage = true;
+					break;
+				}
+			}
+			if (!foundLanguage){
+				for (int i = 0; i < lenguajes.length; i++) {
+					if (lenguajes[i].locale.getISO3Language().equals(Locale.getDefault().getISO3Language())) {
+						model.setSelectedItem(lenguajes[i]);
+						foundLanguage = true;
+						break;
+					}
+				}
+			}
+			if (!foundLanguage){
+				model.setSelectedItem(DEFAULT_LANGUAGE);
+			}
+
+			cmbIdioma.setModel(model);
+			cmbIdioma.addActionListener(new ActionListener() {
+				public void actionPerformed(ActionEvent e) {
+					changed = true;
+				}
+			});
+		}
+		return cmbIdioma;
+	}
+
+	public boolean isValueChanged() {
+		return changed;
+	}
+
+	public void setChangesApplied() {
+		changed = false;
+
+	}
+} // @jve:decl-index=0:visual-constraint="10,10"

Property changes on: tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/preferences/general/LanguagePage.java
___________________________________________________________________
Added: svn:eol-style
   + native

Index: tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/preferences/general/BrowserControlPage.java
===================================================================
--- tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/preferences/general/BrowserControlPage.java	(revision 0)
+++ tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/preferences/general/BrowserControlPage.java	(revision 38279)
@@ -0,0 +1,213 @@
+/* gvSIG. Sistema de Informaci�n Geogr�fica de la Generalitat Valenciana
+ *
+ * Copyright (C) 2005 IVER T.I. and Generalitat Valenciana.
+ *
+ * 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., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
+ *
+ * For more information, contact:
+ *
+ *  Generalitat Valenciana
+ *   Conselleria d'Infraestructures i Transport
+ *   Av. Blasco Ib��ez, 50
+ *   46010 VALENCIA
+ *   SPAIN
+ *
+ *      +34 963862235
+ *   gvsig@gva.es
+ *      www.gvsig.gva.es
+ *
+ *    or
+ *
+ *   IVER T.I. S.A
+ *   Salamanca 50
+ *   46005 Valencia
+ *   Spain
+ *
+ *   +34 963163400
+ *   dac@iver.es
+ */
+
+/* CVS MESSAGES:
+*
+* $Id$
+* $Log$
+* Revision 1.3  2007-09-19 16:16:52  jaume
+* removed unnecessary imports
+*
+* Revision 1.2  2007/01/10 18:28:58  jaume
+* *** empty log message ***
+*
+* Revision 1.1  2007/01/10 16:55:04  jaume
+* default browser now configurable in linux
+*
+*
+*/
+package org.gvsig.coreplugin.preferences.general;
+
+import java.awt.FlowLayout;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.util.ArrayList;
+
+import javax.swing.ButtonGroup;
+import javax.swing.ImageIcon;
+import javax.swing.JPanel;
+import javax.swing.JRadioButton;
+import javax.swing.JTextField;
+import javax.swing.SwingConstants;
+
+import org.gvsig.andami.PluginServices;
+import org.gvsig.andami.preferences.AbstractPreferencePage;
+import org.gvsig.andami.preferences.StoreException;
+import org.gvsig.utils.BrowserControl;
+import org.gvsig.utils.XMLEntity;
+import org.gvsig.utils.swing.JComboBox;
+
+/**
+ * <p><b>Preference page</b> for system browser's properties.<br></p>
+ *
+ * <p>At the moment, this page will allow the <b>linux</b> users to select
+ * a web browser and how to open it when the app needs to do such thing.<br>
+ * For instance when following a link to a web page.<br></p>
+ *
+ * <p>This is the merely purpose of it, and it makes that this page has no
+ * sense for windows users. That is why it does not appear in windows platforms.</p>
+ *
+ * <p>If you decide to extend this purpose, then you should enable it for those platforms
+ * (or any) you want.</p>
+ * TODO to know what about Mac platforms.
+ * @author jaume dominguez faus - jaume.dominguez@iver.es
+ *
+ */
+public class BrowserControlPage extends AbstractPreferencePage implements ActionListener{
+
+	private static final String DEFAULT_BROWSER_KEY_NAME = "DefaultBrowser";
+	private String id;
+	private ImageIcon icon;
+	private JRadioButton rdBtnSelectBrowser;
+	private JRadioButton rdBtnSpecifyCommand;
+	private JComboBox cmbBrowsers;
+	private JTextField txtCustomCommand;
+	private ArrayList supportedBrowsers = BrowserControl.getSupportedBrowsers();
+
+	public BrowserControlPage() {
+		super();
+		id = this.getClass().getName();
+		icon = PluginServices.getIconTheme().get("browser-icon");
+		setParentID(GeneralPage.id);
+
+		JPanel aux;
+
+		ButtonGroup group = new ButtonGroup();
+		rdBtnSelectBrowser = new JRadioButton(PluginServices.getText(this, "options.general.browser.select_a_known_browser"));
+		rdBtnSelectBrowser.addActionListener(this);
+
+		aux = new JPanel(new FlowLayout(FlowLayout.LEADING));
+		cmbBrowsers = new JComboBox(
+				(String[]) supportedBrowsers.toArray(new String[0]));
+		aux.add(cmbBrowsers);
+
+		addComponent(rdBtnSelectBrowser, aux);
+
+		rdBtnSpecifyCommand = new JRadioButton(PluginServices.getText(this, "options.general.browser.specify_a_command"));
+		rdBtnSpecifyCommand.setVerticalAlignment(SwingConstants.BOTTOM);
+		rdBtnSpecifyCommand.addActionListener(this);
+		aux = new JPanel(new FlowLayout(FlowLayout.LEADING));
+		aux.add(txtCustomCommand = new JTextField(25));
+		addComponent(rdBtnSpecifyCommand, aux);
+		group.add(rdBtnSelectBrowser);
+		group.add(rdBtnSpecifyCommand);
+
+		actionPerformed(null);
+	}
+
+	public void storeValues() throws StoreException {
+		String cmd =
+			rdBtnSelectBrowser.isSelected()
+			? (String) cmbBrowsers.getSelectedItem()
+			: txtCustomCommand.getText();
+		BrowserControl.setBrowserCommand(cmd);
+
+		PluginServices ps = PluginServices.getPluginServices(this);
+		XMLEntity xml = ps.getPersistentXML();
+		xml.putProperty(DEFAULT_BROWSER_KEY_NAME, cmd);
+	}
+
+	public void setChangesApplied() {
+		setChanged(false);
+	}
+
+	public String getID() {
+		return id;
+	}
+
+	public String getTitle() {
+		return PluginServices.getText(this, "browser");
+	}
+
+	public JPanel getPanel() {
+		return this;
+	}
+
+	public void initializeValues() {
+		PluginServices ps = PluginServices.getPluginServices(this);
+		XMLEntity xml = ps.getPersistentXML();
+		// Default Projection
+		if (xml.contains(DEFAULT_BROWSER_KEY_NAME)) {
+			String cmd = xml.getStringProperty(DEFAULT_BROWSER_KEY_NAME);
+			boolean b = supportedBrowsers.contains(cmd);
+			if (b) {
+				cmbBrowsers.setSelectedItem(cmd);
+				cmbBrowsers.setEnabled(true);
+				txtCustomCommand.setEnabled(false);
+			} else {
+				txtCustomCommand.setText(cmd);
+				txtCustomCommand.setEnabled(true);
+				cmbBrowsers.setEnabled(false);
+			}
+			rdBtnSelectBrowser.setSelected(b);
+			rdBtnSpecifyCommand.setSelected(!b);
+		} else {
+			initializeDefaults();
+		}
+	}
+
+	public void initializeDefaults() {
+		rdBtnSelectBrowser.setSelected(true);
+		actionPerformed(null);
+		cmbBrowsers.setSelectedItem(BrowserControl.FIREFOX);
+	}
+
+	public ImageIcon getIcon() {
+		return icon;
+	}
+
+	public boolean isValueChanged() {
+		return super.hasChanged();
+	}
+
+	public void actionPerformed(ActionEvent e) {
+
+		if (rdBtnSelectBrowser.isSelected()) {
+			cmbBrowsers.setEnabled(true);
+			txtCustomCommand.setEnabled(false);
+
+		} else if (rdBtnSpecifyCommand.isSelected()) {
+			txtCustomCommand.setEnabled(true);
+			cmbBrowsers.setEnabled(false);
+		}
+	}
+
+}

Property changes on: tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/preferences/general/BrowserControlPage.java
___________________________________________________________________
Added: svn:eol-style
   + native
Added: svn:keywords
   + Author Date Id Revision

Index: tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/preferences/network/FirewallPage.java
===================================================================
--- tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/preferences/network/FirewallPage.java	(revision 0)
+++ tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/preferences/network/FirewallPage.java	(revision 38279)
@@ -0,0 +1,360 @@
+/* gvSIG. Sistema de Informaci�n Geogr�fica de la Generalitat Valenciana
+ *
+ * Copyright (C) 2005 IVER T.I. and Generalitat Valenciana.
+ *
+ * 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., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
+ *
+ * For more information, contact:
+ *
+ *  Generalitat Valenciana
+ *   Conselleria d'Infraestructures i Transport
+ *   Av. Blasco Ib��ez, 50
+ *   46010 VALENCIA
+ *   SPAIN
+ *
+ *      +34 963862235
+ *   gvsig@gva.es
+ *      www.gvsig.gva.es
+ *
+ *    or
+ *
+ *   IVER T.I. S.A
+ *   Salamanca 50
+ *   46005 Valencia
+ *   Spain
+ *
+ *   +34 963163400
+ *   dac@iver.es
+ */
+
+/* CVS MESSAGES:
+*
+* $Id$
+* $Log$
+* Revision 1.9  2006/11/21 10:59:45  fjp
+* Fallo proxy con usuario y contrase�a
+*
+* Revision 1.8  2006/11/20 17:29:43  fjp
+* Fallo proxy con usuario y contrase�a
+*
+* Revision 1.7  2006/10/18 07:55:43  jaume
+* *** empty log message ***
+*
+* Revision 1.6  2006/08/22 12:23:05  jaume
+* improved perfomance when saving changes
+*
+* Revision 1.5  2006/08/22 07:37:17  jaume
+* *** empty log message ***
+*
+* Revision 1.4  2006/08/04 11:45:12  caballero
+* lanzo una excepci�n cuando falla el m�todo storeValues
+*
+* Revision 1.3  2006/07/31 10:02:31  jaume
+* *** empty log message ***
+*
+* Revision 1.2  2006/06/13 07:43:08  fjp
+* Ajustes sobre los cuadros de dialogos de preferencias
+*
+* Revision 1.1  2006/06/12 16:04:28  caballero
+* Preferencias
+*
+* Revision 1.11  2006/06/06 10:26:31  jaume
+* *** empty log message ***
+*
+* Revision 1.10  2006/06/05 17:07:17  jaume
+* *** empty log message ***
+*
+* Revision 1.9  2006/06/05 17:00:44  jaume
+* *** empty log message ***
+*
+* Revision 1.8  2006/06/05 16:57:59  jaume
+* *** empty log message ***
+*
+* Revision 1.7  2006/06/05 14:45:06  jaume
+* *** empty log message ***
+*
+* Revision 1.6  2006/06/05 11:00:09  jaume
+* *** empty log message ***
+*
+* Revision 1.5  2006/06/05 10:39:02  jaume
+* *** empty log message ***
+*
+* Revision 1.4  2006/06/05 10:13:40  jaume
+* *** empty log message ***
+*
+* Revision 1.3  2006/06/05 10:06:08  jaume
+* *** empty log message ***
+*
+* Revision 1.2  2006/06/05 09:51:56  jaume
+* *** empty log message ***
+*
+* Revision 1.1  2006/06/02 10:50:18  jaume
+* *** empty log message ***
+*
+*
+*/
+package org.gvsig.coreplugin.preferences.network;
+
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.net.Authenticator;
+import java.net.MalformedURLException;
+import java.net.PasswordAuthentication;
+import java.net.URL;
+import java.util.Properties;
+import java.util.prefs.Preferences;
+
+import javax.swing.ImageIcon;
+import javax.swing.JCheckBox;
+import javax.swing.JPanel;
+import javax.swing.JPasswordField;
+import javax.swing.JTextField;
+
+import org.gvsig.andami.PluginServices;
+import org.gvsig.andami.preferences.AbstractPreferencePage;
+import org.gvsig.andami.preferences.StoreException;
+
+
+public class FirewallPage extends AbstractPreferencePage {
+
+	// Quiz� en vez de usar un prefs cada vez deber�amos de tener una clase gvSIG.java
+	// donde se guarden todas las preferencias, queda m�s limpio y m�s claro si se hace
+	// un: gvSIG.getProperty("gvsig.connection") que lo de abajo.
+	private static Preferences prefs = Preferences.userRoot().node( "gvsig.connection" );
+	private JCheckBox httpEnabled;
+	private JTextField httpHost;
+	private JTextField httpPort;
+	private JTextField httpUser;
+	private JPasswordField httpPass;
+	private JTextField httpNonProxy;
+	private JCheckBox socksEnabled;
+	private JTextField socksHost;
+	private JTextField socksPort;
+	protected static String id = FirewallPage.class.getName();
+	private ImageIcon icon;
+
+	private static final class ProxyAuth extends Authenticator {
+		private PasswordAuthentication auth;
+
+		private ProxyAuth(String user, String pass) {
+			auth = new PasswordAuthentication(user, pass.toCharArray());
+		}
+
+		protected PasswordAuthentication getPasswordAuthentication() {
+			return auth;
+		}
+	}
+
+	public FirewallPage() {
+		super();
+		//icon = new ImageIcon(this.getClass().getClassLoader().getResource("images/shield.png"));
+		icon=PluginServices.getIconTheme().get("aplication-preferences-firewall");
+		setParentID(NetworkPage.id);
+//		 checkbox
+		addComponent(httpEnabled = new JCheckBox(PluginServices.getText(this,
+			"options.firewall.http.enabled")));
+		// proxy host
+		addComponent(PluginServices.getText(this, "options.firewall.http.host") + ":",
+			httpHost = new JTextField("", 15));
+		// proxy port
+		addComponent(PluginServices.getText(this, "options.firewall.http.port") + ":",
+			httpPort = new JTextField("", 15));
+		// proxy username
+		addComponent(PluginServices.getText(this, "options.firewall.http.user") + ":",
+			httpUser = new JTextField("", 15));
+		// proxy password
+		addComponent(PluginServices.getText(this, "options.firewall.http.password") + ":",
+			httpPass = new JPasswordField("", 15));
+		// no proxy for
+		addComponent(PluginServices.getText(this, "options.firewall.http.nonProxy") + ":",
+			httpNonProxy = new JTextField("", 15));
+
+//		 checkbox
+		addComponent(socksEnabled = new JCheckBox(PluginServices.getText(this,
+			"options.firewall.socks.enabled")));
+		// proxy host
+		addComponent(PluginServices.getText(this, "options.firewall.socks.host") + ":",
+			socksHost = new JTextField("", 15));
+		// proxy port
+		addComponent(PluginServices.getText(this, "options.firewall.socks.port") + ":",
+			socksPort = new JTextField("", 15));
+
+	}
+
+	public void initializeValues() {
+
+		boolean enabled = prefs.getBoolean("firewall.http.enabled", false);
+		httpEnabled.setSelected(enabled);
+		httpHost.setEnabled(enabled);
+		httpHost.setText(prefs.get("firewall.http.host",""));
+		httpPort.setEnabled(enabled);
+		httpPort.setText(prefs.get("firewall.http.port",""));
+		httpUser.setEnabled(enabled);
+		httpUser.setText(prefs.get("firewall.http.user",""));
+		httpPass.setEnabled(enabled);
+		httpPass.setText(prefs.get("firewall.http.password",""));
+		httpNonProxy.setEnabled(enabled);
+		httpNonProxy.setText(prefs.get("firewall.http.nonProxyHosts",""));
+
+
+		httpEnabled.addActionListener(new ActionHandler());
+
+
+		enabled = prefs.getBoolean("firewall.socks.enabled", false);
+		socksEnabled.setSelected(enabled);
+		socksHost.setEnabled(enabled);
+		socksHost.setText(prefs.get("firewall.socks.host",""));
+		socksPort.setEnabled(enabled);
+		socksPort.setText(prefs.get("firewall.socks.port",""));
+
+		socksEnabled.addActionListener(new ActionHandler());
+
+	}
+
+	public String getID() {
+		return id;
+	}
+
+	public String getTitle() {
+		return PluginServices.getText(this, "pref.network.firewall");
+	}
+
+	public JPanel getPanel() {
+		return this;
+	}
+
+	public void storeValues() throws StoreException{
+		Properties systemSettings = System.getProperties();
+		URL httpURL, socksURL;
+
+		try {
+			httpURL = new URL(createURL(httpHost.getText(), httpPort.getText()));
+			prefs.putBoolean("firewall.http.enabled", httpEnabled.isSelected());
+			prefs.put("firewall.http.host", httpHost.getText());
+			prefs.put("firewall.http.port", httpPort.getText());
+			String proxyUser = httpUser.getText();
+			String proxyPassword = new String(httpPass.getPassword());
+			prefs.put("firewall.http.user", proxyUser);
+			prefs.put("firewall.http.password", proxyPassword);
+			prefs.put("firewall.http.nonProxyHosts", httpNonProxy.getText());
+
+			if (httpEnabled.isSelected()) {
+				systemSettings.put("http.proxySet", "true");
+				systemSettings.put("http.proxyHost", httpURL.getHost());
+				systemSettings.put("http.proxyPort", httpURL.getPort()+"");
+				systemSettings.put("http.proxyUserName", proxyUser);
+				systemSettings.put("http.proxyPassword", proxyPassword);
+			} else {
+				systemSettings.put("http.proxySet", "false");
+				systemSettings.remove("http.proxyHost");
+				systemSettings.remove("http.proxyPort");
+				systemSettings.remove("http.proxyUserName");
+				systemSettings.remove("http.proxyPassword");
+				prefs.remove("firewall.http.host");
+				prefs.remove("firewall.http.port");
+				prefs.remove("firewall.http.user");
+				prefs.remove("firewall.http.password");
+				prefs.remove("firewall.http.nonProxyHosts");
+
+			}
+
+			System.setProperties(systemSettings);
+			if (proxyUser != null )
+			{
+				Authenticator.setDefault(new ProxyAuth(proxyUser,
+				                                proxyPassword));
+			} else {
+				Authenticator.setDefault(new ProxyAuth("", ""));
+			}
+
+		} catch (MalformedURLException e) {
+			if (httpEnabled.isSelected()) {
+				throw new StoreException(PluginServices.getText(this, "options.firewall.http.incorrect_host"),e);
+			}
+		}
+
+		try {
+			socksURL = new URL(createURL(socksHost.getText(),socksPort.getText()));
+
+			prefs.putBoolean("firewall.socks.enabled", socksEnabled.isSelected());
+			prefs.put("firewall.socks.host", socksHost.getText());
+			prefs.put("firewall.socks.port", socksPort.getText());
+
+			if (socksEnabled.isSelected()) {
+				systemSettings.put("socksProxyHost", socksURL.getHost());
+				systemSettings.put("socksProxyPort", socksURL.getPort()+"");
+			} else {
+				systemSettings.remove("socksProxyHost");
+				systemSettings.remove("socksProxyPort");
+			}
+
+			System.setProperties(systemSettings);
+
+		} catch (MalformedURLException e) {
+			if (socksEnabled.isSelected()) {
+				throw new StoreException(PluginServices.getText(this, "options.firewall.socks.incorrect_host"),e);
+			}
+		}
+	}
+
+	public void initializeDefaults() {
+		httpEnabled.setSelected(false);
+		httpHost.setText("");
+		httpPort.setText("");
+		httpUser.setText("");
+		httpPass.setText("");
+		httpNonProxy.setText("");
+		socksEnabled.setSelected(false);
+		socksHost.setText("");
+		socksPort.setText("");
+
+	}
+
+	private class ActionHandler implements ActionListener {
+		public void actionPerformed(ActionEvent evt) {
+			httpHost.setEnabled(httpEnabled.isSelected());
+			httpPort.setEnabled(httpEnabled.isSelected());
+			httpUser.setEnabled(httpEnabled.isSelected());
+			httpPass.setEnabled(httpEnabled.isSelected());
+			httpNonProxy.setEnabled(httpEnabled.isSelected());
+			socksHost.setEnabled(socksEnabled.isSelected());
+			socksPort.setEnabled(socksEnabled.isSelected());
+		}
+	}
+
+	public ImageIcon getIcon() {
+		return icon;
+	}
+
+	public boolean isValueChanged() {
+		return hasChanged();
+	}
+
+	public void setChangesApplied() {
+		setChanged(false);
+	}	
+
+	private String createURL(String host, String port){
+		StringBuffer strUrl = new StringBuffer();
+		// add "http://" prefix if it wasn't included.
+		strUrl.append(host.toLowerCase().startsWith("http://")
+				? host.toLowerCase() : "http://"+ host.toLowerCase());
+
+		// add port
+		strUrl.append(!port.equals("")
+				? ":" + port : "");
+		return strUrl.toString();
+	}
+}

Property changes on: tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/preferences/network/FirewallPage.java
___________________________________________________________________
Added: svn:eol-style
   + native

Index: tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/preferences/network/NetworkPage.java
===================================================================
--- tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/preferences/network/NetworkPage.java	(revision 0)
+++ tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/preferences/network/NetworkPage.java	(revision 38279)
@@ -0,0 +1,232 @@
+/* gvSIG. Sistema de Informaci�n Geogr�fica de la Generalitat Valenciana
+ *
+ * Copyright (C) 2005 IVER T.I. and Generalitat Valenciana.
+ *
+ * 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., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
+ *
+ * For more information, contact:
+ *
+ *  Generalitat Valenciana
+ *   Conselleria d'Infraestructures i Transport
+ *   Av. Blasco Ib��ez, 50
+ *   46010 VALENCIA
+ *   SPAIN
+ *
+ *      +34 963862235
+ *   gvsig@gva.es
+ *      www.gvsig.gva.es
+ *
+ *    or
+ *
+ *   IVER T.I. S.A
+ *   Salamanca 50
+ *   46005 Valencia
+ *   Spain
+ *
+ *   +34 963163400
+ *   dac@iver.es
+ */
+
+/* CVS MESSAGES:
+*
+* $Id$
+* $Log$
+* Revision 1.10  2007/09/19 16:16:52  jaume
+* removed unnecessary imports
+*
+* Revision 1.9  2006/11/20 17:29:43  fjp
+* Fallo proxy con usuario y contrase�a
+*
+* Revision 1.8  2006/09/12 10:11:25  jaume
+* *** empty log message ***
+*
+* Revision 1.7.4.1  2006/09/08 11:56:24  jaume
+* *** empty log message ***
+*
+* Revision 1.7  2006/08/22 12:23:05  jaume
+* improved perfomance when saving changes
+*
+* Revision 1.6  2006/08/22 07:37:17  jaume
+* *** empty log message ***
+*
+* Revision 1.5  2006/08/04 11:45:12  caballero
+* lanzo una excepci�n cuando falla el m�todo storeValues
+*
+* Revision 1.4  2006/07/31 10:02:31  jaume
+* *** empty log message ***
+*
+* Revision 1.3  2006/07/03 10:46:01  jaume
+* *** empty log message ***
+*
+* Revision 1.2  2006/06/13 07:43:08  fjp
+* Ajustes sobre los cuadros de dialogos de preferencias
+*
+* Revision 1.1  2006/06/12 16:04:28  caballero
+* Preferencias
+*
+* Revision 1.6  2006/06/06 10:26:31  jaume
+* *** empty log message ***
+*
+* Revision 1.5  2006/06/05 17:07:17  jaume
+* *** empty log message ***
+*
+* Revision 1.4  2006/06/05 10:06:08  jaume
+* *** empty log message ***
+*
+* Revision 1.3  2006/06/05 09:13:22  jaume
+* *** empty log message ***
+*
+* Revision 1.2  2006/06/05 08:11:38  jaume
+* *** empty log message ***
+*
+* Revision 1.1  2006/06/02 10:50:18  jaume
+* *** empty log message ***
+*
+* Revision 1.1  2006/06/01 15:54:09  jaume
+* added preferences extension
+*
+*
+*/
+package org.gvsig.coreplugin.preferences.network;
+
+import java.awt.Font;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.net.URL;
+
+import javax.swing.ImageIcon;
+import javax.swing.JLabel;
+import javax.swing.JPanel;
+
+import org.gvsig.andami.PluginServices;
+import org.gvsig.andami.preferences.AbstractPreferencePage;
+import org.gvsig.andami.ui.mdiFrame.JToolBarButton;
+
+
+/**
+ * General network connection page.
+ *
+ * @author jaume dominguez faus - jaume.dominguez@iver.es
+ *
+ */
+public class NetworkPage extends AbstractPreferencePage {
+	//private static Preferences prefs = Preferences.userRoot().node( "gvsig.connection" );
+	private ImageIcon icon;
+	private JLabel lblNetworkStatus;
+	private JToolBarButton btnRefresh;
+	protected static String id;
+
+
+	public NetworkPage() {
+		super();
+		id = this.getClass().getName();
+		// icon = new ImageIcon(this.getClass().getClassLoader().getResource("images/network.png"));
+		icon=PluginServices.getIconTheme().get("aplication-preferences-network");
+		lblNetworkStatus = new JLabel();
+		lblNetworkStatus.setFont(lblNetworkStatus.getFont().deriveFont(Font.BOLD));
+		lblNetworkStatus.setText(PluginServices.getText(this, "optinos.network.click_to_test_connection"));
+		JPanel aux = new JPanel();
+		aux.add(getBtnCheckConnection());
+		addComponent(PluginServices.getText(this, "options.network.status") + ":", lblNetworkStatus	);
+		addComponent("", aux);
+
+	}
+
+	private JToolBarButton getBtnCheckConnection() {
+		if (btnRefresh == null) {
+			btnRefresh = new JToolBarButton(PluginServices.getText(this, "test_now"));
+			btnRefresh.addActionListener(new ActionListener() {
+				public void actionPerformed(java.awt.event.ActionEvent e) {
+					refreshStatus();
+				};
+			});
+		}
+		return btnRefresh;
+	}
+
+	private void refreshStatus() {
+		boolean connected = isConnected();
+		ImageIcon statusIcon;
+		String statusText;
+		if (connected) {
+			statusIcon = PluginServices.getIconTheme().get("kde-network-online-icon") ;
+			statusText = PluginServices.getText(this, "online");
+		} else {
+			statusIcon = PluginServices.getIconTheme().get("kde-network-offline-icon");
+			statusText = PluginServices.getText(this, "offline");
+		}
+		lblNetworkStatus.setIcon(statusIcon);
+		lblNetworkStatus.setText(statusText);
+
+	}
+
+	private boolean isConnected() {
+		try {
+			URL url = new URL("http://www.google.com");
+			url.openConnection();
+			url.openStream();
+			return true;
+		} catch (Exception e) {
+			return false;
+		}
+
+	}
+
+	public String getID() {
+		return id;
+	}
+
+	public String getTitle() {
+		return PluginServices.getText(this, "pref.network");
+	}
+
+	public JPanel getPanel() {
+		return this;
+	}
+
+
+	public void initializeValues() {
+
+
+	}
+
+	public void storeValues() {
+
+	}
+
+	public void initializeDefaults() {
+		// nothing
+	}
+
+	class ActionHandler implements ActionListener {
+		public void actionPerformed(ActionEvent evt) {
+
+		}
+	}
+
+	public ImageIcon getIcon() {
+		return icon;
+	}
+
+	public boolean isValueChanged() {
+		return hasChanged();
+	}
+
+	public void setChangesApplied() {
+		setChanged(false);
+	}
+
+
+}

Property changes on: tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/preferences/network/NetworkPage.java
___________________________________________________________________
Added: svn:eol-style
   + native

Index: tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/ConfigExtension.java
===================================================================
--- tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/ConfigExtension.java	(revision 0)
+++ tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/ConfigExtension.java	(revision 38279)
@@ -0,0 +1,91 @@
+/* gvSIG. Sistema de Informaci�n Geogr�fica de la Generalitat Valenciana
+ *
+ * Copyright (C) 2004 IVER T.I. and Generalitat Valenciana.
+ *
+ * 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., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
+ *
+ * For more information, contact:
+ *
+ *  Generalitat Valenciana
+ *   Conselleria d'Infraestructures i Transport
+ *   Av. Blasco Ib��ez, 50
+ *   46010 VALENCIA
+ *   SPAIN
+ *
+ *      +34 963862235
+ *   gvsig@gva.es
+ *      www.gvsig.gva.es
+ *
+ *    or
+ *
+ *   IVER T.I. S.A
+ *   Salamanca 50
+ *   46005 Valencia
+ *   Spain
+ *
+ *   +34 963163400
+ *   dac@iver.es
+ */
+package org.gvsig.coreplugin;
+
+
+/**
+ */
+import org.gvsig.andami.PluginServices;
+import org.gvsig.andami.plugins.Extension;
+import org.gvsig.coreplugin.configExtensions.ConfigPlugins;
+
+
+
+
+/**
+ * Extensi�n para abrir el di�logo de configuraci�n de ANDAMI.
+ *
+ * @author Vicente Caballero Navarro
+ * @deprecated
+ *
+ */
+public class ConfigExtension extends Extension {
+
+	/* (non-Javadoc)
+	 * @see com.iver.andami.plugins.Extension#execute(java.lang.String)
+	 */
+	public void execute(String actionCommand) {
+		ConfigPlugins cp=new ConfigPlugins();
+		PluginServices.getMDIManager().addWindow(cp);
+	}
+
+    /**
+     * DOCUMENT ME!
+     *
+     * @return DOCUMENT ME!
+     */
+    public boolean isVisible() {
+    	return true;
+    }
+
+    /**
+     * @see com.iver.mdiApp.plugins.IExtension#isEnabled()
+     */
+    public boolean isEnabled() {
+        return true;
+    }
+
+	/**
+	 * @see org.gvsig.andami.plugins.IExtension#initialize()
+	 */
+	public void initialize() {
+	}
+}

Property changes on: tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/ConfigExtension.java
___________________________________________________________________
Added: svn:keywords
   + Author Date Id Revision
Added: svn:eol-style
   + native

Index: tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/mdiManager/WindowInfoSupport.java
===================================================================
--- tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/mdiManager/WindowInfoSupport.java	(revision 0)
+++ tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/mdiManager/WindowInfoSupport.java	(revision 38279)
@@ -0,0 +1,233 @@
+/* gvSIG. Sistema de Informaci�n Geogr�fica de la Generalitat Valenciana
+ *
+ * Copyright (C) 2004 IVER T.I. and Generalitat Valenciana.
+ *
+ * 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., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
+ *
+ * For more information, contact:
+ *
+ *  Generalitat Valenciana
+ *   Conselleria d'Infraestructures i Transport
+ *   Av. Blasco Ib��ez, 50
+ *   46010 VALENCIA
+ *   SPAIN
+ *
+ *      +34 963862235
+ *   gvsig@gva.es
+ *      www.gvsig.gva.es
+ *
+ *    or
+ *
+ *   IVER T.I. S.A
+ *   Salamanca 50
+ *   46005 Valencia
+ *   Spain
+ *
+ *   +34 963163400
+ *   dac@iver.es
+ */
+package org.gvsig.coreplugin.mdiManager;
+
+import java.awt.Dimension;
+import java.awt.Rectangle;
+import java.beans.PropertyChangeEvent;
+import java.beans.PropertyChangeListener;
+import java.util.Enumeration;
+import java.util.Hashtable;
+
+import org.gvsig.andami.plugins.PluginClassLoader;
+import org.gvsig.andami.ui.mdiFrame.MainFrame;
+import org.gvsig.andami.ui.mdiFrame.NoSuchMenuException;
+import org.gvsig.andami.ui.mdiManager.IWindow;
+import org.gvsig.andami.ui.mdiManager.SingletonWindow;
+import org.gvsig.andami.ui.mdiManager.WindowInfo;
+
+
+
+/**
+ * This class listens to changes in WindowInfo objects, and reflects this
+ * changes in the associated window.
+ */
+public class WindowInfoSupport {
+	private static int serialId = 0;
+	
+	/**
+	 * Support class which associates Frames and Windows
+	 */
+	private FrameWindowSupport fws;
+
+	// Correspondencias entre las ventanas y su informacion
+	/**
+	 * key: IWindow, value: WindowInfo
+	 */
+	private Hashtable viewInfo = new Hashtable();
+	/**
+	 * key: WindowInfo, value: IWindow
+	 */
+	private Hashtable infoView = new Hashtable();
+	private WindowPropertyChangeListener windowInfoListener = new WindowPropertyChangeListener();
+	private SingletonWindowSupport sws;
+	private MainFrame mdiFrame;
+
+	/**
+	 * Creates a new ViewInfoSupport object.
+	 *
+	 * @param frame DOCUMENT ME!
+	 * @param fvs DOCUMENT ME!
+	 * @param svs
+	 */
+	public WindowInfoSupport(MainFrame frame, FrameWindowSupport fvs,
+		SingletonWindowSupport svs) {
+		this.fws = fvs;
+		this.sws = svs;
+		this.mdiFrame = frame;
+	}
+
+	/**
+	 * Devuelve la vista cuyo identificador es el parametro
+	 *
+	 * @param id Identificador de la vista que se quiere obtener
+	 *
+	 * @return La vista o null si no hay ninguna vista con ese identificador
+	 */
+	public IWindow getWindowById(int id) {
+		Enumeration en = infoView.keys();
+
+		while (en.hasMoreElements()) {
+			WindowInfo vi = (WindowInfo) en.nextElement();
+
+			if (vi.getId() == id) {
+				return (IWindow) infoView.get(vi);
+			}
+		}
+
+		return null;
+	}
+
+	/**
+	 * DOCUMENT ME!
+	 *
+	 * @param w DOCUMENT ME!
+	 *
+	 * @return DOCUMENT ME!
+	 */
+	public synchronized WindowInfo getWindowInfo(IWindow w) {
+		WindowInfo wi = (WindowInfo) viewInfo.get(w);
+
+		if (wi != null) {
+			fws.updateWindowInfo(w, wi);
+		}
+		else {
+			wi = w.getWindowInfo();
+
+			//Para el t�tulo
+			if (wi.getHeight() != -1) {
+				wi.setHeight(wi.getHeight() + 40);
+			}
+
+			wi.addPropertyChangeListener(windowInfoListener);
+			viewInfo.put(w, wi);
+			infoView.put(wi, w);
+			wi.setId(serialId++);
+		}
+
+		return wi;
+	}
+
+	/**
+	 * DOCUMENT ME!
+	 *
+	 * @param p DOCUMENT ME!
+	 */
+	public void deleteWindowInfo(IWindow p) {
+		WindowInfo vi = (WindowInfo) viewInfo.remove(p);
+		infoView.remove(vi);
+	}
+
+	/**
+	 * DOCUMENT ME!
+	 *
+	 * @author $author$
+	 * @version $Revision$
+	 */
+	public class WindowPropertyChangeListener implements PropertyChangeListener {
+		/**
+		 * @see java.beans.PropertyChangeListener#propertyChange(java.beans.PropertyChangeEvent)
+		 */
+		public void propertyChange(PropertyChangeEvent evt) {
+			WindowInfo winInfo = (WindowInfo) evt.getSource();
+			IWindow win = (IWindow) infoView.get(winInfo);
+
+			if (win instanceof SingletonWindow) {
+				SingletonWindow sw = (SingletonWindow) win;
+
+				if (evt.getPropertyName().equals("x")) {
+					sws.setX(sw, ((Integer) evt.getNewValue()).intValue());
+				} else if (evt.getPropertyName().equals("y")) {
+					sws.setY(sw, ((Integer) evt.getNewValue()).intValue());
+				} else if (evt.getPropertyName().equals("height")) {
+					sws.setHeight(sw, ((Integer) evt.getNewValue()).intValue());
+				} else if (evt.getPropertyName().equals("width")) {
+					sws.setWidth(sw, ((Integer) evt.getNewValue()).intValue());
+				} else if (evt.getPropertyName().equals("maximized")) {
+					sws.setMaximized(sw, ((Boolean) evt.getNewValue()).booleanValue());
+				} else if (evt.getPropertyName().equals("normalBounds")) {
+					sws.setNormalBounds(sw, (Rectangle) evt.getNewValue());
+				} else if (evt.getPropertyName().equals("minimumSize")) {
+					sws.setMinimumSize(sw, (Dimension) evt.getNewValue());
+				} else if (evt.getPropertyName().equals("title")) {
+					sws.setTitle(sw, (String) evt.getNewValue());
+
+					try {
+						mdiFrame.changeMenuName(new String[] {
+								"Ventana", (String) evt.getOldValue()
+						}, (String) evt.getNewValue(),
+						(PluginClassLoader) getClass().getClassLoader());
+					} catch (NoSuchMenuException e) {
+						/*
+						 * No se hace nada porque puede modificarse el t�tulo de
+						 * una ventana antes de ser a�adida a Andami
+						 */
+					}
+				}
+			} else {
+				if (evt.getPropertyName().equals("x")) {
+					fws.setX(win, ((Integer) evt.getNewValue()).intValue());
+				} else if (evt.getPropertyName().equals("y")) {
+					fws.setY(win, ((Integer) evt.getNewValue()).intValue());
+				} else if (evt.getPropertyName().equals("height")) {
+					fws.setHeight(win, ((Integer) evt.getNewValue()).intValue());
+				} else if (evt.getPropertyName().equals("width")) {
+					fws.setWidth(win, ((Integer) evt.getNewValue()).intValue());
+				} else if (evt.getPropertyName().equals("minimumSize")) {
+					fws.setMinimumSize(win, (Dimension) evt.getNewValue());
+				} else if (evt.getPropertyName().equals("title")) {
+					fws.setTitle(win, (String) evt.getNewValue());
+					try{
+						mdiFrame.changeMenuName(new String[] {
+								"Ventana", (String) evt.getOldValue()
+						}, (String) evt.getNewValue(),
+						(PluginClassLoader) getClass().getClassLoader());
+					} catch (NoSuchMenuException e) {
+						/*
+						 * No se hace nada porque puede modificarse el t�tulo de
+						 * una ventana antes de ser a�adida a Andami
+						 */
+					}
+				}
+			}
+		}
+	}
+}

Property changes on: tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/mdiManager/WindowInfoSupport.java
___________________________________________________________________
Added: svn:keywords
   + Author Date Id Revision
Added: svn:eol-style
   + native

Index: tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/mdiManager/DialogStackSupport.java
===================================================================
--- tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/mdiManager/DialogStackSupport.java	(revision 0)
+++ tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/mdiManager/DialogStackSupport.java	(revision 38279)
@@ -0,0 +1,106 @@
+/* gvSIG. Sistema de Informaci�n Geogr�fica de la Generalitat Valenciana
+ *
+ * Copyright (C) 2004 IVER T.I. and Generalitat Valenciana.
+ *
+ * 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., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
+ *
+ * For more information, contact:
+ *
+ *  Generalitat Valenciana
+ *   Conselleria d'Infraestructures i Transport
+ *   Av. Blasco Ib��ez, 50
+ *   46010 VALENCIA
+ *   SPAIN
+ *
+ *      +34 963862235
+ *   gvsig@gva.es
+ *      www.gvsig.gva.es
+ *
+ *    or
+ *
+ *   IVER T.I. S.A
+ *   Salamanca 50
+ *   46005 Valencia
+ *   Spain
+ *
+ *   +34 963163400
+ *   dac@iver.es
+ */
+package org.gvsig.coreplugin.mdiManager;
+
+import java.awt.Cursor;
+import java.util.ArrayList;
+import java.util.Iterator;
+
+import javax.swing.JDialog;
+
+import org.gvsig.andami.ui.mdiFrame.MDIFrame;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+
+
+/**
+ *
+ */
+public class DialogStackSupport{
+    /** log */
+    private static Logger logger = LoggerFactory.getLogger(DialogStackSupport.class.getName());
+
+    /** Pila de di�logos modales mostrados */
+    private ArrayList dialogStack = new ArrayList(0);
+
+    private ArrayList dialogCursors = new ArrayList(0);
+
+    public DialogStackSupport(MDIFrame frame){
+    }
+
+    public void pushDialog(JDialog dlg){
+    	dialogStack.add(dlg);
+    }
+
+    public JDialog popDialog(){
+    	int dialogStackSize=dialogStack.size();
+    	if (dialogStackSize<1)
+    		return null;
+    	return (JDialog) dialogStack.remove(dialogStackSize - 1);
+    }
+
+	/**
+	 * @return
+	 */
+	public void setWaitCursor() {
+        dialogCursors.clear();
+		for (Iterator iter = dialogStack.iterator(); iter.hasNext();) {
+			JDialog dlg = (JDialog) iter.next();
+            dialogCursors.add(dlg.getCursor());
+			dlg.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
+ 	        dlg.getGlassPane().setVisible(true);
+ 	   }
+	}
+
+	/**
+	 *
+	 */
+	public void restoreCursor() {
+		for (Iterator iter = dialogStack.iterator(); iter.hasNext();) {
+			JDialog dlg = (JDialog) iter.next();
+
+            // TODO: RECUPERAR EL CURSOR
+            dlg.setCursor(null);
+		    dlg.getGlassPane().setVisible(false);
+		}
+	}
+}

Property changes on: tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/mdiManager/DialogStackSupport.java
___________________________________________________________________
Added: svn:keywords
   + Author Date Id Revision
Added: svn:eol-style
   + native

Index: tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/mdiManager/ComplexDesktopPane.java
===================================================================
--- tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/mdiManager/ComplexDesktopPane.java	(revision 0)
+++ tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/mdiManager/ComplexDesktopPane.java	(revision 38279)
@@ -0,0 +1,114 @@
+/*
+ * Created on 10-mar-2005
+ *
+ * gvSIG. Sistema de Informaci�n Geogr�fica de la Generalitat Valenciana
+ *
+ * Copyright (C) 2004 IVER T.I. and Generalitat Valenciana.
+ *
+ * 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., 59 Temple Place - Suite 330, Boston, MA  02111-1307, 
+USA.
+ *
+ * For more information, contact:
+ *
+ *  Generalitat Valenciana
+ *   Conselleria d'Infraestructures i Transport
+ *   Av. Blasco Ib��ez, 50
+ *   46010 VALENCIA
+ *   SPAIN
+ *
+ *      +34 963862235
+ *   gvsig@gva.es
+ *      www.gvsig.gva.es
+ *
+ *    or
+ *
+ *   IVER T.I. S.A
+ *   Salamanca 50
+ *   46005 Valencia
+ *   Spain
+ *
+ *   +34 963163400
+ *   dac@iver.es
+ */
+package org.gvsig.coreplugin.mdiManager;
+
+import javax.swing.JPanel;
+
+
+import javax.swing.JSplitPane;
+import java.awt.BorderLayout;
+import javax.swing.JDesktopPane;
+
+import org.gvsig.utils.console.JConsole;
+public class ComplexDesktopPane extends JPanel {
+
+	private JSplitPane jSplitPane = null;
+	private JDesktopPane jDesktopPane = null;
+	private JConsole jConsole = null;
+	/**
+	 * This is the default constructor
+	 */
+	public ComplexDesktopPane() {
+		super();
+		initialize();
+	}
+	/**
+	 * This method initializes this
+	 * 
+	 * @return void
+	 */
+	private  void initialize() {
+		this.setLayout(new BorderLayout());
+		this.setSize(300,200);
+		this.add(getJSplitPane(), java.awt.BorderLayout.CENTER);
+	}
+	/**
+	 * This method initializes jSplitPane	
+	 * 	
+	 * @return javax.swing.JSplitPane	
+	 */    
+	private JSplitPane getJSplitPane() {
+		if (jSplitPane == null) {
+			jSplitPane = new JSplitPane();
+			jSplitPane.setOrientation(javax.swing.JSplitPane.VERTICAL_SPLIT);
+			jSplitPane.setResizeWeight(0.8);
+			jSplitPane.setTopComponent(getDesktopPane());
+			jSplitPane.setBottomComponent(getJConsole());
+		}
+		return jSplitPane;
+	}
+	/**
+	 * This method initializes jDesktopPane	
+	 * 	
+	 * @return javax.swing.JDesktopPane	
+	 */    
+	public JDesktopPane getDesktopPane() {
+		if (jDesktopPane == null) {
+			jDesktopPane = new JDesktopPane();
+		}
+		return jDesktopPane;
+	}
+	/**
+	 * This method initializes jConsole	
+	 * 	
+	 * @return com.iver.utiles.console.JConsole	
+	 */    
+	private JConsole getJConsole() {
+		if (jConsole == null) {
+			jConsole = new JConsole();
+		}
+		return jConsole;
+	}
+   }

Property changes on: tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/mdiManager/ComplexDesktopPane.java
___________________________________________________________________
Added: svn:eol-style
   + native
Added: svn:keywords
   + Author Date Id Revision

Index: tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/mdiManager/SingletonWindowSupport.java
===================================================================
--- tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/mdiManager/SingletonWindowSupport.java	(revision 0)
+++ tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/mdiManager/SingletonWindowSupport.java	(revision 38279)
@@ -0,0 +1,383 @@
+/* gvSIG. Sistema de Informaci�n Geogr�fica de la Generalitat Valenciana
+ *
+ * Copyright (C) 2004 IVER T.I. and Generalitat Valenciana.
+ *
+ * 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., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
+ *
+ * For more information, contact:
+ *
+ *  Generalitat Valenciana
+ *   Conselleria d'Infraestructures i Transport
+ *   Av. Blasco Ib��ez, 50
+ *   46010 VALENCIA
+ *   SPAIN
+ *
+ *      +34 963862235
+ *   gvsig@gva.es
+ *      www.gvsig.gva.es
+ *
+ *    or
+ *
+ *   IVER T.I. S.A
+ *   Salamanca 50
+ *   46005 Valencia
+ *   Spain
+ *
+ *   +34 963163400
+ *   dac@iver.es
+ */
+package org.gvsig.coreplugin.mdiManager;
+
+import java.awt.Component;
+import java.awt.Dimension;
+import java.awt.Rectangle;
+import java.beans.PropertyVetoException;
+import java.util.ArrayList;
+
+import javax.swing.JComponent;
+import javax.swing.JInternalFrame;
+
+import org.gvsig.andami.ui.mdiManager.SingletonDialogAlreadyShownException;
+import org.gvsig.andami.ui.mdiManager.SingletonWindow;
+import org.gvsig.andami.ui.mdiManager.WindowInfo;
+
+
+
+/**
+ * DOCUMENT ME!
+ *
+ * @author $author$
+ * @version $Revision$
+ */
+public class SingletonWindowSupport {
+	private static int singletonViewInfoID = 0;
+	/** Hashtable que asocia contenido con vistas */
+	private HashMap contentWindowInfo = new HashMap();
+	private WindowInfoSupport vis;
+	private FrameWindowSupport frameWindowSupport;
+	private HashMap contentFrame = new HashMap();
+
+	/**
+	 * DOCUMENT ME!
+	 *
+	 * @param vis DOCUMENT ME!
+	 * @param fvs
+	 *
+	 * @see org.gvsig.andami.ui.mdiManager.MDIManager#init(com.iver.andami.ui.mdiFrame.MDIFrame)
+	 */
+	public SingletonWindowSupport(WindowInfoSupport vis, FrameWindowSupport fvs) {
+		this.vis = vis;
+		this.frameWindowSupport = fvs;
+	}
+
+	/**
+	 * Devuelve una referencia a la vista si ya est� mostrada o null si la
+	 * vista no ha sido a�adida o ya fue cerrada
+	 *
+	 * @param windowClass DOCUMENT ME!
+	 * @param model DOCUMENT ME!
+	 * @param wi DOCUMENT ME!
+	 *
+	 * @return true si la vista existe ya y false si la vista no existe
+	 *
+	 * @throws SingletonDialogAlreadyShownException DOCUMENT ME!
+	 */
+	public boolean registerWindow(Class windowClass, Object model, WindowInfo wi) {
+		//Se comprueba si la ventana est� siendo mostrada
+		SingletonWindowInfo swi = new SingletonWindowInfo(windowClass, model);
+
+		if (contentWindowInfo.containsKey(swi)) {
+			if (wi.isModal()) {
+				throw new SingletonDialogAlreadyShownException();
+			}
+
+			wi.setWindowInfo((WindowInfo)contentWindowInfo.get(swi));
+
+			return true;
+		} else {
+			//La ventana singleton no estaba mostrada
+			//Se asocia el modelo con la vista
+			contentWindowInfo.put(swi, wi);
+			return false;
+		}
+	}
+
+	public void openSingletonWindow(SingletonWindow sw, Component frame){
+		SingletonWindowInfo swi = new SingletonWindowInfo(sw.getClass(), sw.getWindowModel());
+		contentFrame.put(swi, frame);
+	}
+
+	public boolean contains(SingletonWindow sw){
+		SingletonWindowInfo swi = new SingletonWindowInfo(sw.getClass(), sw.getWindowModel());
+		return contentFrame.containsKey(swi);
+	}
+
+	public boolean contains(Class windowClass, Object model){
+		SingletonWindowInfo swi = new SingletonWindowInfo(windowClass, model);
+		return contentFrame.containsKey(swi);
+	}
+
+	/**
+	 * DOCUMENT ME!
+	 *
+	 * @param sw
+	 */
+	public void closeWindow(SingletonWindow sw) {
+		SingletonWindowInfo swi = new SingletonWindowInfo(sw.getClass(), sw.getWindowModel());
+		WindowInfo windowInfo = (WindowInfo) contentWindowInfo.get(swi);
+		if (windowInfo!=null) {
+			frameWindowSupport.updateWindowInfo(sw, windowInfo);
+		}
+		contentFrame.remove(swi);
+	}
+
+	/**
+	 * Representa una vista singleton manteniendo el modelo y la clase de la
+	 * vista que lo muestra
+	 *
+	 * @author Fernando Gonz�lez Cort�s
+	 */
+	public class SingletonWindowInfo {
+
+		public int id;
+
+		/** Clase de la vista */
+		public Class clase;
+
+		/** Modelo que representa la vista */
+		public Object modelo;
+
+		/**
+		 * Creates a new SingletonView object.
+		 *
+		 * @param clase Clase de la vista
+		 * @param modelo Modelo que representa la vista
+		 */
+		public SingletonWindowInfo(Class clase, Object modelo) {
+			this.clase = clase;
+			this.modelo = modelo;
+			this.id = singletonViewInfoID;
+			singletonViewInfoID++;
+		}
+
+		/**
+		 * @see java.lang.Object#equals(java.lang.Object)
+		 */
+		public boolean equals(Object obj) {
+			if (obj.getClass() != SingletonWindowInfo.class) {
+				throw new IllegalArgumentException();
+			}
+
+			SingletonWindowInfo s = (SingletonWindowInfo) obj;
+
+			if ((clase == s.clase) && (modelo == s.modelo)) {
+				return true;
+			} else {
+				return false;
+			}
+		}
+	}
+
+	private Component getFrame(SingletonWindowInfo svi){
+		WindowInfo vi = (WindowInfo) contentWindowInfo.get(svi);
+		return (JInternalFrame) contentFrame.get(svi);
+	}
+
+	public Component getFrame(Class viewClass, Object model){
+		SingletonWindowInfo svi = new SingletonWindowInfo(viewClass, model);
+		return getFrame(svi);
+	}
+
+	/**
+	 * @param model
+	 * @return
+	 */
+	public Component[] getFrames(Object model) {
+		ArrayList ret = new ArrayList();
+
+		ArrayList keys = contentFrame.getKeys();
+		for (int i = 0; i < keys.size(); i++) {
+			SingletonWindowInfo svi = (SingletonWindowInfo) keys.get(i);
+
+			if (svi.modelo == model){
+				ret.add(contentFrame.get(svi));
+			}
+		}
+
+		return (JInternalFrame[]) ret.toArray(new JInternalFrame[0]);
+	}
+
+	/**
+	 * @param view
+	 * @return
+	 */
+	public Component getFrame(SingletonWindow sv) {
+		SingletonWindowInfo svi = new SingletonWindowInfo(sv.getClass(), sv.getWindowModel());
+		return getFrame(svi);
+	}
+
+	/**
+	 * @param sv
+	 * @param i
+	 */
+	public void setX(SingletonWindow sv, int x) {
+		JInternalFrame o = (JInternalFrame) contentFrame.get(new SingletonWindowInfo(sv.getClass(), sv.getWindowModel()));
+
+        if (o == null) return;
+        o.setLocation(x, o.getY());
+	}
+
+	/**
+	 * @param sv
+	 * @param i
+	 */
+	public void setY(SingletonWindow sv, int y) {
+		JInternalFrame o = (JInternalFrame) contentFrame.get(new SingletonWindowInfo(sv.getClass(), sv.getWindowModel()));
+
+        if (o == null) return;
+
+        o.setLocation(o.getX(), y);
+	}
+
+	/**
+	 * @param sv
+	 * @param i
+	 */
+	public void setHeight(SingletonWindow sv, int height) {
+		JInternalFrame o = (JInternalFrame) contentFrame.get(new SingletonWindowInfo(sv.getClass(), sv.getWindowModel()));
+
+        if (o == null) return;
+
+        o.setSize(o.getWidth(), height);
+	}
+
+	/**
+	 * @param sv
+	 * @param i
+	 */
+	public void setWidth(SingletonWindow sv, int width) {
+		JInternalFrame o = (JInternalFrame) contentFrame.get(new SingletonWindowInfo(sv.getClass(), sv.getWindowModel()));
+
+        if (o == null) return;
+        o.setSize(width, o.getHeight());
+	}
+
+	/**
+	 * @param sw
+	 * @param maximized
+	 */
+	public void setMaximized(SingletonWindow sw, boolean maximized) {
+		JInternalFrame frame = (JInternalFrame) contentFrame.get(new SingletonWindowInfo(sw.getClass(), sw.getWindowModel()));
+
+        if (frame == null) return;
+        try {
+			frame.setMaximum(maximized);
+		} catch (PropertyVetoException e) {
+			// TODO Auto-generated catch block
+			//e.printStackTrace();
+		}
+	}
+
+	/**
+	 * @param sw
+	 * @param maximized
+	 */
+	public void setNormalBounds(SingletonWindow sw, Rectangle normalBounds) {
+		JInternalFrame frame = (JInternalFrame) contentFrame.get(new SingletonWindowInfo(sw.getClass(), sw.getWindowModel()));
+
+        if (frame == null) return;
+        frame.setNormalBounds(normalBounds);
+	}
+
+	/**
+	 * Sets the minimum allowed size for the provided singleton window.
+	 *
+	 * @param sw
+	 * @param minSize
+	 */
+	public void setMinimumSize(SingletonWindow sw, Dimension minSize) {
+		JInternalFrame frame = (JInternalFrame) contentFrame.get(new SingletonWindowInfo(sw.getClass(), sw.getWindowModel()));
+
+        if (frame == null) return;
+        frame.setMinimumSize(minSize);
+	}
+
+	/**
+	 * @param sv
+	 * @param string
+	 */
+	public void setTitle(SingletonWindow sv, String title) {
+		JInternalFrame o = (JInternalFrame) contentFrame.get(new SingletonWindowInfo(sv.getClass(), sv.getWindowModel()));
+
+        if (o == null) return;
+        o.setTitle(title);
+	}
+
+	private class HashMap {
+	    private ArrayList keys = new ArrayList();
+	    private ArrayList values = new ArrayList();
+
+	    public void put(SingletonWindowInfo key, Object value) {
+	        int index = -1;
+	        for (int i = 0; i < keys.size(); i++) {
+	            if (keys.get(i).equals(key)){
+	                index = i;
+	                break;
+	            }
+            }
+
+	        if (index != -1){
+	            keys.add(index, key);
+	            values.add(index, value);
+	        }else{
+	            keys.add(key);
+	            values.add(value);
+	        }
+	    }
+
+	    public boolean containsKey(SingletonWindowInfo key){
+	        for (int i = 0; i < keys.size(); i++) {
+	            if (keys.get(i).equals(key)){
+	                return true;
+	            }
+	        }
+
+	        return false;
+	    }
+
+	    public Object get(SingletonWindowInfo key){
+	        for (int i = 0; i < keys.size(); i++) {
+	            if (keys.get(i).equals(key)){
+	                return values.get(i);
+	            }
+	        }
+
+	        return null;
+	    }
+
+	    public void remove(SingletonWindowInfo key){
+	        for (int i = 0; i < keys.size(); i++) {
+	            if (keys.get(i).equals(key)){
+	                keys.remove(i);
+	                values.remove(i);
+	            }
+	        }
+	    }
+
+	    public ArrayList getKeys(){
+	        return keys;
+	    }
+	}
+}

Property changes on: tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/mdiManager/SingletonWindowSupport.java
___________________________________________________________________
Added: svn:keywords
   + Author Date Id Revision
Added: svn:eol-style
   + native

Index: tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/mdiManager/WindowStackSupport.java
===================================================================
--- tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/mdiManager/WindowStackSupport.java	(revision 0)
+++ tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/mdiManager/WindowStackSupport.java	(revision 38279)
@@ -0,0 +1,190 @@
+/* gvSIG. Sistema de Informaci�n Geogr�fica de la Generalitat Valenciana
+ *
+ * Copyright (C) 2004 IVER T.I. and Generalitat Valenciana.
+ *
+ * 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., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
+ *
+ * For more information, contact:
+ *
+ *  Generalitat Valenciana
+ *   Conselleria d'Infraestructures i Transport
+ *   Av. Blasco Ib��ez, 50
+ *   46010 VALENCIA
+ *   SPAIN
+ *
+ *      +34 963862235
+ *   gvsig@gva.es
+ *      www.gvsig.gva.es
+ *
+ *    or
+ *
+ *   IVER T.I. S.A
+ *   Salamanca 50
+ *   46005 Valencia
+ *   Spain
+ *
+ *   +34 963163400
+ *   dac@iver.es
+ */
+package org.gvsig.coreplugin.mdiManager;
+
+import java.awt.event.ActionListener;
+import java.util.Hashtable;
+import java.util.Vector;
+
+import org.gvsig.andami.PluginServices;
+import org.gvsig.andami.plugins.config.generate.Menu;
+import org.gvsig.andami.ui.mdiManager.IWindow;
+import org.gvsig.andami.ui.mdiManager.WindowInfo;
+
+
+/**
+ *
+ */
+public class WindowStackSupport {
+	/* arrays for dynamically assigned shortcut keys */
+	private boolean[] key_free;
+	private String[] key;
+	
+	private Vector vistas = new Vector();
+
+	private WindowInfoSupport vis;
+
+	private Hashtable viewMenu = new Hashtable();
+
+	/**
+	 * @param vis
+	 */
+	public WindowStackSupport(WindowInfoSupport vis) {
+this.vis = vis;
+		
+		/* restart window key shortcut numbering */
+		key_free = new boolean[10];
+		for ( int i = 0; i < 10; i ++ ) {
+			key_free[i] = true;
+		}
+		key = new java.lang.String[10];
+		key[0] = "1";
+		key[1] = "2";
+		key[2] = "3";
+		key[3] = "4";
+		key[4] = "5";
+		key[5] = "6";
+		key[6] = "7";
+		key[7] = "8";
+		key[8] = "9";
+		key[9] = "0";
+	}
+
+	public void add(IWindow v, final ActionListener listener) {
+		vistas.add(v);
+		WindowInfo vi = vis.getWindowInfo(v);
+		int id = vi.getId();
+		Menu m = new Menu();
+		m.setActionCommand(""+id);
+		m.setTooltip(PluginServices.getText(this, "activa_la_ventana"));
+		m.setText("Ventana/"+vi.getTitle());
+		/* get the first free mnemonic (if any) and assign */
+		for ( int i=0; i < 10; i++) {
+			if ( key_free[i]) {
+				m.setKey(key[i]);
+				key_free[i] = false;
+				break;
+			}
+		}
+		viewMenu.put(v, m);
+		PluginServices.getMainFrame().addMenu(m, listener, PluginServices.getPluginServices(this).getClassLoader() );
+	}
+
+	public void remove(IWindow v){
+		Menu m = (Menu) viewMenu.get(v);
+		if (m == null) return;
+		/* free keyboard shortut taken by this window (if any) */
+		if ( m.getKey() != null ) {
+			for ( int i=0; i < 10; i++ ) {
+				if ( m.getKey() == key[i]) {
+					key_free[i] = true;
+					break;
+				}
+			}
+		}
+		PluginServices.getMainFrame().removeMenu(m);
+		viewMenu.remove(v);
+		vistas.remove(v);
+	}
+
+	/**
+	 * FJP: No se usa, y no s� para qu� estaba pensado.
+	 */
+	public void ctrltab(){
+		IWindow v = (IWindow) vistas.remove(vistas.size() - 1);
+		vistas.add(0, v);
+	}
+
+	public IWindow getActiveWindow(){
+		if (vistas.size() == 0) return null;
+        int index = vistas.size()-1;
+        while (index >= 0)
+        {
+            IWindow aux = (IWindow) vistas.get(index);
+            if (!aux.getWindowInfo().isPalette())
+            {
+//                System.err.println("getActiveView = " + aux.getWindowInfo().getTitle());
+                return aux;
+            }
+            index--;
+        }
+        return null;
+	}
+    /**
+     * Se utiliza cuando ya est� abierta la vista para indicar
+     * que la pasamos a activa. De esta forma evitamos que el
+     * getActiveView devuelva algo que no es.
+     * En realidad lo que haces es mover la vista a la �ltima
+     * posici�n.
+     * @param v
+     */
+    public void setActive(IWindow v)
+    {
+        IWindow copia = null;
+        boolean bCopiar = false;
+        // Si es de tipo palette, no se pone como activa.
+        // De esta forma, nunca nos la devolver�.... Bueno,
+        // igual si cerramos la de encima. Voy a ponerle en
+        // getActiveView que si es de tipo Palette, devuelva la
+        // de abajo.
+        if (v.getWindowInfo().isPalette()) return;
+
+        for (int i=0; i < vistas.size(); i++)
+        {
+            IWindow aux = (IWindow) vistas.get(i);
+            if (aux == v)
+            {
+                copia = aux;
+                bCopiar = true;
+            }
+            if (bCopiar)
+            {
+                if (i < vistas.size()-1)
+                {
+                    IWindow siguiente = (IWindow) vistas.get(i+1);
+                    vistas.set(i,siguiente);
+                }
+                else // La �ltima
+                    vistas.set(i,copia);
+            }
+        } // for
+    }
+}

Property changes on: tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/mdiManager/WindowStackSupport.java
___________________________________________________________________
Added: svn:keywords
   + Author Date Id Revision
Added: svn:eol-style
   + native

Index: tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/mdiManager/frames/InternalFrame.java
===================================================================
--- tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/mdiManager/frames/InternalFrame.java	(revision 0)
+++ tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/mdiManager/frames/InternalFrame.java	(revision 38279)
@@ -0,0 +1,159 @@
+/* gvSIG. Sistema de Informaci�n Geogr�fica de la Generalitat Valenciana
+ *
+ * Copyright (C) 2007 IVER T.I. and Generalitat Valenciana.
+ *
+ * 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., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
+ *
+ * For more information, contact:
+ *
+ *  Generalitat Valenciana
+ *   Conselleria d'Infraestructures i Transport
+ *   Av. Blasco Ib��ez, 50
+ *   46010 VALENCIA
+ *   SPAIN
+ *
+ *      +34 963862235
+ *   gvsig@gva.es
+ *      www.gvsig.gva.es
+ *
+ *    or
+ *
+ *   IVER T.I. S.A
+ *   Salamanca 50
+ *   46005 Valencia
+ *   Spain
+ *
+ *   +34 963163400
+ *   dac@iver.es
+ */
+package org.gvsig.coreplugin.mdiManager.frames;
+
+import javax.swing.JInternalFrame;
+
+/**
+ * @author Cesar Martinez Izquierdo <cesar.martinez@iver.es>
+ *
+ */
+public class InternalFrame extends JInternalFrame implements IFrame {
+	private static final long serialVersionUID = 1L;
+	
+	   /** 
+     * Creates a non-resizable, non-closable, non-maximizable,
+     * non-iconifiable <code>JInternalFrame</code> with no title.
+     */
+    public InternalFrame() {
+        super();
+    }
+
+    /** 
+     * Creates a non-resizable, non-closable, non-maximizable,
+     * non-iconifiable <code>JInternalFrame</code> with the specified title.
+     * Note that passing in a <code>null</code> <code>title</code> results in
+     * unspecified behavior and possibly an exception.
+     *
+     * @param title  the non-<code>null</code> <code>String</code>
+     *     to display in the title bar
+     */
+    public InternalFrame(String title) {
+        super(title);
+    }
+
+    /** 
+     * Creates a non-closable, non-maximizable, non-iconifiable 
+     * <code>JInternalFrame</code> with the specified title
+     * and resizability.
+     *
+     * @param title      the <code>String</code> to display in the title bar
+     * @param resizable  if <code>true</code>, the internal frame can be resized
+     */
+    public InternalFrame(String title, boolean resizable) {
+        super(title, resizable);
+    }
+
+    /** 
+     * Creates a non-maximizable, non-iconifiable <code>JInternalFrame</code>
+     * with the specified title, resizability, and
+     * closability.
+     *
+     * @param title      the <code>String</code> to display in the title bar
+     * @param resizable  if <code>true</code>, the internal frame can be resized
+     * @param closable   if <code>true</code>, the internal frame can be closed
+     */
+    public InternalFrame(String title, boolean resizable, boolean closable) {
+        super(title, resizable, closable);
+    }
+
+    /** 
+     * Creates a non-iconifiable <code>JInternalFrame</code>
+     * with the specified title,
+     * resizability, closability, and maximizability.
+     *
+     * @param title       the <code>String</code> to display in the title bar
+     * @param resizable   if <code>true</code>, the internal frame can be resized
+     * @param closable    if <code>true</code>, the internal frame can be closed
+     * @param maximizable if <code>true</code>, the internal frame can be maximized
+     */
+    public InternalFrame(String title, boolean resizable, boolean closable,
+                          boolean maximizable) {
+        super(title, resizable, closable, maximizable);
+    }
+
+    /** 
+     * Creates a <code>JInternalFrame</code> with the specified title,
+     * resizability, closability, maximizability, and iconifiability.
+     * All <code>JInternalFrame</code> constructors use this one.
+     *
+     * @param title       the <code>String</code> to display in the title bar
+     * @param resizable   if <code>true</code>, the internal frame can be resized
+     * @param closable    if <code>true</code>, the internal frame can be closed
+     * @param maximizable if <code>true</code>, the internal frame can be maximized
+     * @param iconifiable if <code>true</code>, the internal frame can be iconified
+     */
+    public InternalFrame(String title, boolean resizable, boolean closable, 
+                                boolean maximizable, boolean iconifiable) {
+        
+	     super(title, resizable, closable, maximizable, iconifiable);
+    }
+
+
+	/* (non-Javadoc)
+	 * @see com.iver.core.mdiManager.frames.IFrame#setHeight(int)
+	 */
+	public void setHeight(int height) {
+		super.setSize(getWidth(), height);
+	}
+
+	/* (non-Javadoc)
+	 * @see com.iver.core.mdiManager.frames.IFrame#setWidth(int)
+	 */
+	public void setWidth(int width) {
+		super.setSize(width, getHeight());
+	}
+
+	/* (non-Javadoc)
+	 * @see com.iver.core.mdiManager.frames.IFrame#setX(int)
+	 */
+	public void setX(int x) {
+		super.setLocation(x, getX());
+	}
+
+	/* (non-Javadoc)
+	 * @see com.iver.core.mdiManager.frames.IFrame#setY(int)
+	 */
+	public void setY(int y) {
+		super.setLocation(y, getY());
+	}
+
+}

Property changes on: tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/mdiManager/frames/InternalFrame.java
___________________________________________________________________
Added: svn:eol-style
   + native

Index: tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/mdiManager/frames/ExternalFrame.java
===================================================================
--- tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/mdiManager/frames/ExternalFrame.java	(revision 0)
+++ tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/mdiManager/frames/ExternalFrame.java	(revision 38279)
@@ -0,0 +1,360 @@
+/* gvSIG. Sistema de Informaci�n Geogr�fica de la Generalitat Valenciana
+ *
+ * Copyright (C) 2007 IVER T.I. and Generalitat Valenciana.
+ *
+ * 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., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
+ *
+ * For more information, contact:
+ *
+ *  Generalitat Valenciana
+ *   Conselleria d'Infraestructures i Transport
+ *   Av. Blasco Ib��ez, 50
+ *   46010 VALENCIA
+ *   SPAIN
+ *
+ *      +34 963862235
+ *   gvsig@gva.es
+ *      www.gvsig.gva.es
+ *
+ *    or
+ *
+ *   IVER T.I. S.A
+ *   Salamanca 50
+ *   46005 Valencia
+ *   Spain
+ *
+ *   +34 963163400
+ *   dac@iver.es
+ */
+package org.gvsig.coreplugin.mdiManager.frames;
+
+import java.awt.Dialog;
+import java.awt.Dimension;
+import java.awt.Frame;
+import java.awt.HeadlessException;
+import java.awt.event.ComponentEvent;
+import java.awt.event.ComponentListener;
+
+import javax.swing.JComponent;
+import javax.swing.JDialog;
+
+/**
+ * @author Cesar Martinez Izquierdo <cesar.martinez@iver.es>
+ *
+ */
+public class ExternalFrame extends JDialog implements IFrame, ComponentListener {
+	private static final long serialVersionUID = 1L;
+	
+	private void initFrame() {
+		addComponentListener(this);
+	}
+	
+    /**
+     * Creates a non-modal dialog without a title and without a specified
+     * <code>Frame</code> owner.  A shared, hidden frame will be
+     * set as the owner of the dialog.
+     * <p>
+     * This constructor sets the component's locale property to the value
+     * returned by <code>JComponent.getDefaultLocale</code>.     
+     * 
+     * @exception HeadlessException if GraphicsEnvironment.isHeadless()
+     * returns true.
+     * @see java.awt.GraphicsEnvironment#isHeadless
+     * @see JComponent#getDefaultLocale
+     */
+    public ExternalFrame() throws HeadlessException {
+    	super();
+    	initFrame();
+    }
+
+    /**
+     * Creates a non-modal dialog without a title with the
+     * specified <code>Frame</code> as its owner.  If <code>owner</code>
+     * is <code>null</code>, a shared, hidden frame will be set as the
+     * owner of the dialog.
+     * <p>
+     * This constructor sets the component's locale property to the value
+     * returned by <code>JComponent.getDefaultLocale</code>.
+     *
+     * @param owner the <code>Frame</code> from which the dialog is displayed
+     * @exception HeadlessException if GraphicsEnvironment.isHeadless()
+     * returns true.
+     * @see java.awt.GraphicsEnvironment#isHeadless
+     * @see JComponent#getDefaultLocale
+     */
+    public ExternalFrame(Frame owner) throws HeadlessException {
+    	super(owner);
+    	initFrame();
+    }
+
+    /**
+     * Creates a modal or non-modal dialog without a title and
+     * with the specified owner <code>Frame</code>.  If <code>owner</code>
+     * is <code>null</code>, a shared, hidden frame will be set as the
+     * owner of the dialog.
+     * <p>
+     * This constructor sets the component's locale property to the value
+     * returned by <code>JComponent.getDefaultLocale</code>.     
+     *
+     * @param owner the <code>Frame</code> from which the dialog is displayed
+     * @param modal  true for a modal dialog, false for one that allows
+     *               others windows to be active at the same time
+     * @exception HeadlessException if GraphicsEnvironment.isHeadless()
+     * returns true.
+     * @see java.awt.GraphicsEnvironment#isHeadless
+     * @see JComponent#getDefaultLocale
+     */
+    public ExternalFrame(Frame owner, boolean modal) throws HeadlessException {
+        super(owner, modal);
+        initFrame();
+    }
+
+    /**
+     * Creates a non-modal dialog with the specified title and
+     * with the specified owner frame.  If <code>owner</code>
+     * is <code>null</code>, a shared, hidden frame will be set as the
+     * owner of the dialog.
+     * <p>
+     * This constructor sets the component's locale property to the value
+     * returned by <code>JComponent.getDefaultLocale</code>.     
+     *
+     * @param owner the <code>Frame</code> from which the dialog is displayed
+     * @param title  the <code>String</code> to display in the dialog's
+     *			title bar
+     * @exception HeadlessException if GraphicsEnvironment.isHeadless()
+     * returns true.
+     * @see java.awt.GraphicsEnvironment#isHeadless
+     * @see JComponent#getDefaultLocale
+     */
+    public ExternalFrame(Frame owner, String title) throws HeadlessException {
+        super(owner, title);
+        initFrame();
+    }
+
+    /**
+     * Creates a modal or non-modal dialog with the specified title 
+     * and the specified owner <code>Frame</code>.  If <code>owner</code>
+     * is <code>null</code>, a shared, hidden frame will be set as the
+     * owner of this dialog.  All constructors defer to this one.
+     * <p>
+     * NOTE: Any popup components (<code>JComboBox</code>,
+     * <code>JPopupMenu</code>, <code>JMenuBar</code>)
+     * created within a modal dialog will be forced to be lightweight.
+     * <p>
+     * This constructor sets the component's locale property to the value
+     * returned by <code>JComponent.getDefaultLocale</code>.     
+     *
+     * @param owner the <code>Frame</code> from which the dialog is displayed
+     * @param title  the <code>String</code> to display in the dialog's
+     *			title bar
+     * @param modal  true for a modal dialog, false for one that allows
+     *               other windows to be active at the same time
+     * @exception HeadlessException if GraphicsEnvironment.isHeadless()
+     * returns true.
+     * @see java.awt.GraphicsEnvironment#isHeadless
+     * @see JComponent#getDefaultLocale
+     */
+    public ExternalFrame(Frame owner, String title, boolean modal)
+        throws HeadlessException {
+	       super(owner, title, modal);
+	       initFrame();
+    }
+
+    /**
+     * Creates a non-modal dialog without a title with the
+     * specified <code>Dialog</code> as its owner.
+     * <p>
+     * This constructor sets the component's locale property to the value 
+     * returned by <code>JComponent.getDefaultLocale</code>.
+     *
+     * @param owner the non-null <code>Dialog</code> from which the dialog is displayed
+     * @exception HeadlessException if GraphicsEnvironment.isHeadless()
+     * returns true.
+     * @see java.awt.GraphicsEnvironment#isHeadless
+     * @see JComponent#getDefaultLocale
+     */
+    public ExternalFrame(Dialog owner) throws HeadlessException {
+        super(owner);
+        initFrame();
+    }
+
+    /**
+     * Creates a modal or non-modal dialog without a title and
+     * with the specified owner dialog.
+     * <p>
+     * This constructor sets the component's locale property to the value 
+     * returned by <code>JComponent.getDefaultLocale</code>.
+     *
+     * @param owner the non-null <code>Dialog</code> from which the dialog is displayed
+     * @param modal  true for a modal dialog, false for one that allows
+     *               other windows to be active at the same time
+     * @exception HeadlessException if GraphicsEnvironment.isHeadless()
+     * returns true.
+     * @see java.awt.GraphicsEnvironment#isHeadless
+     * @see JComponent#getDefaultLocale
+     */
+    public ExternalFrame(Dialog owner, boolean modal) throws HeadlessException {
+        super(owner, modal);
+        initFrame();
+    }
+
+    /**
+     * Creates a non-modal dialog with the specified title and
+     * with the specified owner dialog.
+     * <p>
+     * This constructor sets the component's locale property to the value 
+     * returned by <code>JComponent.getDefaultLocale</code>.
+     *
+     * @param owner the non-null <code>Dialog</code> from which the dialog is displayed
+     * @param title  the <code>String</code> to display in the dialog's
+     *			title bar
+     * @exception HeadlessException if GraphicsEnvironment.isHeadless()
+     * returns true.
+     * @see java.awt.GraphicsEnvironment#isHeadless
+     * @see JComponent#getDefaultLocale
+     */
+    public ExternalFrame(Dialog owner, String title) throws HeadlessException {
+        super(owner, title);
+        initFrame();
+    }
+
+    /**
+     * Creates a modal or non-modal dialog with the specified title 
+     * and the specified owner frame. 
+     * <p>
+     * This constructor sets the component's locale property to the value
+     * returned by <code>JComponent.getDefaultLocale</code>.     
+     *
+     * @param owner the non-null <code>Dialog</code> from which the dialog is displayed
+     * @param title  the <code>String</code> to display in the dialog's
+     *			title bar
+     * @param modal  true for a modal dialog, false for one that allows
+     *               other windows to be active at the same time
+     * @exception HeadlessException if GraphicsEnvironment.isHeadless()
+     * returns true.
+     * @see java.awt.GraphicsEnvironment#isHeadless
+     * @see JComponent#getDefaultLocale
+     */
+    public ExternalFrame(Dialog owner, String title, boolean modal)
+        throws HeadlessException {
+        super(owner, title, modal);
+        initFrame();
+    }
+
+	/**
+	 *  Stores the minimum allowed size for this JDialog. If it is null, there
+	 *  is no minimum size for this window.
+	 */
+	Dimension minimumSize = null;
+	
+	/* (non-Javadoc)
+	 * @see com.iver.core.mdiManager.frames.IFrame#setHeight(int)
+	 */
+	public void setHeight(int height) {
+		super.setSize(getWidth(), height);
+	}
+
+	/* (non-Javadoc)
+	 * @see com.iver.core.mdiManager.frames.IFrame#setWidth(int)
+	 */
+	public void setWidth(int width) {
+		super.setSize(width, getHeight());
+	}
+
+	/* (non-Javadoc)
+	 * @see com.iver.core.mdiManager.frames.IFrame#setX(int)
+	 */
+	public void setX(int x) {
+		super.setLocation(x, getX());
+	}
+
+	/* (non-Javadoc)
+	 * @see com.iver.core.mdiManager.frames.IFrame#setY(int)
+	 */
+	public void setY(int y) {
+		super.setLocation(y, getY());
+	}
+
+	/* (non-Javadoc)
+	 * @see com.iver.core.mdiManager.frames.IFrame#getMinimumSize()
+	 */
+	public Dimension getMinimumSize() {
+		return minimumSize;
+	}
+
+	/* (non-Javadoc)
+	 * @see com.iver.core.mdiManager.frames.IFrame#setMinimumSize(java.awt.Dimension)
+	 */
+	public void setMinimumSize(Dimension minSize) {
+		minimumSize = minSize;
+		adjustToMinSize();
+	}
+	
+	/**
+	 * Adjust the window to the minimum size, if necessary.
+	 */
+	private void adjustToMinSize() {
+		if (minimumSize==null) return;
+		int height, width;
+		Dimension currentSize = getSize();
+		boolean modified=false;
+		
+		if (currentSize.height < minimumSize.height) {
+			height = minimumSize.height;
+			modified = true;
+		}
+		else {
+			height = currentSize.height;
+		}
+		
+		if (currentSize.width < minimumSize.width) {
+			width = minimumSize.width;
+			modified = true;
+		}
+		else {
+			width = currentSize.width;
+		}
+		if (modified) {
+			boolean isResizable = isResizable();
+			setResizable(false);
+			setSize(width, height);
+			setResizable(isResizable);
+			show();
+		}
+	}
+
+	public void componentHidden(ComponentEvent e) {
+		// TODO Auto-generated method stub
+		
+	}
+
+	public void componentMoved(ComponentEvent e) {
+		// TODO Auto-generated method stub
+		
+	}
+
+	public void componentResized(ComponentEvent e) {
+		// this is necessary because in Java 1.4/1.5, JDialog doesn't have a
+		// setMinimum method. It's solved in 1.6, we'll remove this after migration.
+		adjustToMinSize();
+		
+	}
+
+	public void componentShown(ComponentEvent e) {
+		// TODO Auto-generated method stub
+		
+	}
+
+}

Property changes on: tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/mdiManager/frames/ExternalFrame.java
___________________________________________________________________
Added: svn:eol-style
   + native

Index: tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/mdiManager/frames/IFrame.java
===================================================================
--- tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/mdiManager/frames/IFrame.java	(revision 0)
+++ tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/mdiManager/frames/IFrame.java	(revision 38279)
@@ -0,0 +1,167 @@
+/* gvSIG. Sistema de Informaci�n Geogr�fica de la Generalitat Valenciana
+ *
+ * Copyright (C) 2007 IVER T.I. and Generalitat Valenciana.
+ *
+ * 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., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
+ *
+ * For more information, contact:
+ *
+ *  Generalitat Valenciana
+ *   Conselleria d'Infraestructures i Transport
+ *   Av. Blasco Ib��ez, 50
+ *   46010 VALENCIA
+ *   SPAIN
+ *
+ *      +34 963862235
+ *   gvsig@gva.es
+ *      www.gvsig.gva.es
+ *
+ *    or
+ *
+ *   IVER T.I. S.A
+ *   Salamanca 50
+ *   46005 Valencia
+ *   Spain
+ *
+ *   +34 963163400
+ *   dac@iver.es
+ */
+
+/**
+ * 
+ */
+package org.gvsig.coreplugin.mdiManager.frames;
+
+import java.awt.Dimension;
+import java.awt.Rectangle;
+
+/**
+ * This interface is a model for CorePlugin windows. When CorePlugin receives an
+ * IWindow object, it creates a JInternalFrame or a JDialog, depending on
+ * the specified properties.
+ * 
+ * This interface allows coreplugin to talk to JInternalFrames and JDialogs in
+ * a uniform way.
+ * 
+ * @author Cesar Martinez Izquierdo <cesar.martinez@iver.es>
+ */
+public interface IFrame {
+    /**
+     * Gets the title property
+     *
+     * @return
+     */
+	public String getTitle();
+	
+    /**
+     * Sets the title property.
+     *
+     * @param title The new title.
+     */
+	public void setTitle(String title);
+
+    /**
+     * Returns the current x coordinate of the window's origin.
+     *
+     * @return Returns the value (in pixels) of the x coordinate
+     * of the window's origin.
+     */
+    public int getX();
+	
+    /**
+     * Sets the value of the x coordinate for the origin of the associated
+     * window.
+     * 
+     * @param x The value (in pixels) of the x coordinate
+     */
+    public void setX(int x);
+    
+    /**
+     * Returns the current y coordinate of the window's origin.
+     *
+     * @return Returns the value (in pixels) of the y coordinate
+     * of the window's origin.
+     */
+    public int getY();
+	
+    /**
+     * Sets the value of the y coordinate for the origin of the associated
+     * window.
+     * 
+     * @param y The value (in pixels) of the y coordinate
+     */
+    public void setY(int y);
+    
+    /**
+     * Gets the window height.
+     *
+     * @return The window height (in pixels).
+     */
+    public int getHeight();
+
+    /**
+     * Gets the window width.
+     *
+     * @return The window width (in pixels).
+     */
+    public int getWidth();
+    
+    /**
+     * Sets the window height.
+     *
+     * @param The window height (in pixels)
+     */
+    public void setHeight(int height);
+    
+    /**
+     * Sets the window width.
+     *
+     * @param The window width (in pixels)
+     */
+    public void setWidth(int width);
+    
+    /**
+     * Gets the minimum allowed size for this window.
+     * 
+     * @return minSize The minimum allowed size for this window.
+     */
+	public Dimension getMinimumSize();
+	
+    /**
+     * Sets the minimum allowed size for this window. If null is provided,
+     * the minimum size is disabled (and thus
+     * the window can be resized to any size).
+     * 
+     * @param minSize The minimum allowed size for this window.
+     */
+	public void setMinimumSize(Dimension minSize);
+	
+    /**
+     * Gets the window bounds.
+     * 
+     * @return The window bounds.
+     */
+    public Rectangle getBounds();
+    
+    /**
+     * Sets the window bounds.
+     * 
+     * @param bounds The window bounds.
+     */
+    public void setBounds(Rectangle bounds);
+    
+    public void setLocation(int x, int y);
+	
+}

Property changes on: tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/mdiManager/frames/IFrame.java
___________________________________________________________________
Added: svn:eol-style
   + native

Index: tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/mdiManager/NewSkin.java
===================================================================
--- tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/mdiManager/NewSkin.java	(revision 0)
+++ tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/mdiManager/NewSkin.java	(revision 38279)
@@ -0,0 +1,1340 @@
+/* gvSIG. Sistema de Informaci�n Geogr�fica de la Generalitat Valenciana
+ *
+ * Copyright (C) 2004 IVER T.I. and Generalitat Valenciana.
+ *
+ * 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., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
+ *
+ * For more information, contact:
+ *
+ *  Generalitat Valenciana
+ *   Conselleria d'Infraestructures i Transport
+ *   Av. Blasco Ib��ez, 50
+ *   46010 VALENCIA
+ *   SPAIN
+ *
+ *      +34 963862235
+ *   gvsig@gva.es
+ *      www.gvsig.gva.es
+ *
+ *    or
+ *
+ *   IVER T.I. S.A
+ *   Salamanca 50
+ *   46005 Valencia
+ *   Spain
+ *
+ *   +34 963163400
+ *   dac@iver.es
+ */
+package org.gvsig.coreplugin.mdiManager;
+
+import java.awt.BorderLayout;
+import java.awt.Color;
+import java.awt.Component;
+import java.awt.Container;
+import java.awt.Cursor;
+import java.awt.Dimension;
+import java.awt.Graphics;
+import java.awt.GridBagConstraints;
+import java.awt.KeyEventDispatcher;
+import java.awt.Point;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.ComponentEvent;
+import java.awt.event.ComponentListener;
+import java.awt.event.KeyEvent;
+import java.awt.event.WindowAdapter;
+import java.awt.event.WindowEvent;
+import java.beans.PropertyVetoException;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Hashtable;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.TreeMap;
+
+import javax.swing.DefaultDesktopManager;
+import javax.swing.DesktopManager;
+import javax.swing.ImageIcon;
+import javax.swing.JDesktopPane;
+import javax.swing.JDialog;
+import javax.swing.JFrame;
+import javax.swing.JInternalFrame;
+import javax.swing.JLayeredPane;
+import javax.swing.JPanel;
+import javax.swing.JPopupMenu;
+import javax.swing.JScrollPane;
+import javax.swing.KeyStroke;
+import javax.swing.event.InternalFrameEvent;
+import javax.swing.event.InternalFrameListener;
+
+import org.gvsig.andami.PluginServices;
+import org.gvsig.andami.plugins.Extension;
+import org.gvsig.andami.plugins.config.generate.ActionTool;
+import org.gvsig.andami.plugins.config.generate.Menu;
+import org.gvsig.andami.plugins.config.generate.SelectableTool;
+import org.gvsig.andami.ui.mdiFrame.GlassPane;
+import org.gvsig.andami.ui.mdiFrame.MDIFrame;
+import org.gvsig.andami.ui.mdiFrame.NewStatusBar;
+import org.gvsig.andami.ui.mdiManager.IWindow;
+import org.gvsig.andami.ui.mdiManager.IWindowListener;
+import org.gvsig.andami.ui.mdiManager.MDIManager;
+import org.gvsig.andami.ui.mdiManager.MDIUtilities;
+import org.gvsig.andami.ui.mdiManager.SingletonDialogAlreadyShownException;
+import org.gvsig.andami.ui.mdiManager.SingletonWindow;
+import org.gvsig.andami.ui.mdiManager.WindowInfo;
+import org.gvsig.andami.ui.theme.Theme;
+import org.gvsig.tools.swing.api.ToolsSwingLocator;
+import org.gvsig.tools.swing.api.windowmanager.WindowManager.MODE;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+
+/**
+ *
+ */
+public class NewSkin extends Extension implements MDIManager{
+	private static final int DefaultXMargin = 20; // Added for the method 'centreJInternalFrame'
+	private static final int DefaultYMargin = 20; // Added for the method 'centreJInternalFrame'
+	private static final int MinimumXMargin = 130; // Added for the method 'centreJInternalFrame'
+	private static final int MinimumYMargin = 60; // Added for the method 'centreJInternalFrame'
+
+
+    /**
+     * Variable privada <code>desktopManager</code> para usarlo cuando sale
+     * una ventana que no queremos que nos restaure las que tenemos maximizadas.
+     * Justo antes de usar el setMaximize(false), le pegamos el cambiazo.
+     */
+    private static DesktopManager desktopManager = new DefaultDesktopManager();
+
+    /** log */
+    private static Logger logger = LoggerFactory.getLogger(NewSkin.class.getName());
+
+    /** Panel de la MDIFrame */
+    private MyDesktopPane panel = new MyDesktopPane();
+
+    /** MDIFrame */
+    private MDIFrame mainFrame;
+
+    private GlassPane glassPane = new GlassPane();
+
+    private DialogStackSupport dss;
+
+    /**
+     * Associates JInternalFrames with the IWindow they contain
+     */
+    private FrameWindowSupport fws;
+
+    private WindowInfoSupport wis;
+
+    private WindowStackSupport wss;
+
+    private SingletonWindowSupport sws;
+
+    private Cursor lastCursor = null;
+	private ImageIcon image;
+	private String typeDesktop;
+
+
+	private List<UIActionTool>actionTools = new ArrayList<UIActionTool>();
+	
+	private class MyActionTool implements UIActionTool {
+		private String extensionName;
+		private String name;
+		private String text;
+		private String command;
+		private String iconName;
+		private String enableText;
+		private int position;
+		private String tip;
+		
+		MyActionTool(String extensionName, ActionTool action) {
+			this.extensionName = extensionName;
+			this.name = action.getName();
+			this.text = action.getText();
+			this.command = action.getActionCommand();
+			this.iconName = action.getIcon();
+			this.enableText = action.getEnableText();
+			this.position = action.getPosition();
+			this.tip = action.getTooltip();
+		}
+
+		public MyActionTool(String extensionName, Menu action) {
+			this.extensionName = extensionName;
+			this.name = null;
+			this.text = action.getText();
+			this.command = action.getActionCommand();
+			this.iconName = action.getIcon();
+			this.enableText = action.getEnableText();
+			this.position = action.getPosition();
+			this.tip = action.getTooltip();
+		}
+
+		public MyActionTool(String extensionName, SelectableTool action) {
+			this.extensionName = extensionName;
+			this.name = action.getName();
+			this.text = action.getText();
+			this.command = action.getActionCommand();
+			this.iconName = action.getIcon();
+			this.enableText = action.getEnableText();
+			this.position = action.getPosition();
+			this.tip = action.getTooltip();
+		}
+
+		public String getExtensionName() {
+			return this.extensionName;
+		}
+
+		public String getName() {
+			return this.name;
+		}
+
+		public String getText() {
+			return this.text;
+		}
+
+		public String getCommand() {
+			return this.command;
+		}
+
+		public String getIconName() {
+			return this.iconName;
+		}
+
+		public String getEnableText() {
+			return this.enableText;
+		}
+
+		public int getPosition() {
+			return this.position;
+		}
+		public String getTooptip() {
+			return this.tip;
+		}
+	}
+	
+	//Anyade barras de scroll
+	private void addScrolledDesktopPanel( JFrame parent, MyDesktopPane desktopPane) {
+		JPanel toppanel;
+
+		toppanel = new JPanel();
+		toppanel.setLayout(new BorderLayout());
+		toppanel.setPreferredSize(new Dimension(200,200));
+		toppanel.setBackground(Color.RED);
+		
+		JScrollPane scrollPanel = new JScrollPane(desktopPane);
+		
+		toppanel.add(scrollPanel, BorderLayout.CENTER);
+
+		parent.getContentPane().add(toppanel, BorderLayout.CENTER);
+	}
+	
+	public JDesktopPane getDesktopPane() {
+	    return this.panel;
+	}
+	
+    /*
+     * @see com.iver.andami.ui.mdiManager.MDIManager#init(com.iver.andami.ui.mdiFrame.MDIFrame)
+     */
+    public void init(MDIFrame f) {
+    	
+        // Inicializa el Frame y la consola
+    	mainFrame = f;
+    	mainFrame.setGlassPane(glassPane);
+        panel.setDragMode(JDesktopPane.OUTLINE_DRAG_MODE);
+
+    	//Anyade barras de scroll
+        //mainFrame.getContentPane().add(panel, BorderLayout.CENTER);
+        addScrolledDesktopPanel(mainFrame,panel);
+
+        panel.setDesktopManager(desktopManager);
+
+        fws = createFrameWindowSupport(mainFrame);
+        dss = new DialogStackSupport(mainFrame);
+        sws = new SingletonWindowSupport(wis, fws);
+        wis = new WindowInfoSupport(mainFrame, fws, sws);
+        fws.setVis(wis);
+        wss = new WindowStackSupport(wis);
+
+
+        // TODO (jaume) esto no deber�a de estar aqu�...
+        // molar�a m�s en un di�logo de preferencias
+        // es s�lo una prueba
+        KeyStroke controlTab = KeyStroke.getKeyStroke(KeyEvent.VK_TAB, KeyEvent.CTRL_MASK);
+
+        PluginServices.registerKeyStroke(controlTab, new KeyEventDispatcher() {
+
+			public boolean dispatchKeyEvent(KeyEvent e) {
+				IWindow[] views = getAllWindows();
+				if (views.length<=0 || e.getID() == KeyEvent.KEY_PRESSED)
+					return false;
+
+
+				int current = 0;
+				for (int i = 0; i < views.length; i++) {
+					if (views[i].equals(getActiveWindow())) {
+						current = i;
+						break;
+					}
+				}
+				addWindow(views[(current +1) % views.length]);
+				return true;
+			}
+
+        });
+    }
+
+    /**
+     * Create the {@link FrameWindowSupport} instance
+     * 
+     * @param mainFrame
+     * 
+     */
+    protected FrameWindowSupport createFrameWindowSupport(MDIFrame mainFrame) {
+        return new FrameWindowSupport(mainFrame);
+    }
+
+    /* (non-javadoc)
+     * @see com.iver.andami.ui.mdiManager.MDIManager#addWindow(com.iver.andami.ui.mdiManager.IWindow)
+     */
+    public IWindow addWindow(IWindow p) throws SingletonDialogAlreadyShownException {
+        // se obtiene la informaci�n de la vista
+        WindowInfo wi = wis.getWindowInfo(p);
+
+        // Se comprueban las incompatibilidades que pudieran haber en la vista
+        MDIUtilities.checkWindowInfo(wi);
+        if ((p instanceof SingletonWindow) && (wi.isModal())) {
+            throw new RuntimeException("A modal view cannot be a SingletonView");
+        }
+
+        /*
+         * Se obtiene la referencia a la vista anterior por si es una singleton
+         * y est� siendo mostrada. Se obtiene su informaci�n si ya fue mostrada
+         */
+        boolean singletonPreviouslyAdded = false;
+
+        if (p instanceof SingletonWindow) {
+            SingletonWindow sw = (SingletonWindow) p;
+            if (sws.registerWindow(sw.getClass(), sw.getWindowModel(), wi)) {
+                singletonPreviouslyAdded = true;
+            }
+        }
+
+        if (singletonPreviouslyAdded) {
+            // Si la vista no est� actualmente abierta
+            if (!sws.contains((SingletonWindow) p)) {
+                JInternalFrame frame = fws.getJInternalFrame(p);
+                sws.openSingletonWindow((SingletonWindow) p, frame);
+                addJInternalFrame(frame, wi);
+                wss.add(p, new ActionListener() {
+                    public void actionPerformed(ActionEvent e) {
+                        IWindow v = wis.getWindowById(Integer.parseInt(e
+                                .getActionCommand()));
+                        JInternalFrame f = fws.getJInternalFrame(v);
+                        activateJInternalFrame(f);
+                    }
+                });
+                return p;
+            } else {
+                // La vista est� actualmente abierta
+                JInternalFrame frame = (JInternalFrame) sws
+                        .getFrame((SingletonWindow) p);
+                activateJInternalFrame(frame);
+                wss.setActive(p);
+                return fws.getWindow((JInternalFrame) frame);
+            }
+        } else {
+            if (wi.isModal()) {
+                addJDialog(p);
+            } else {
+                // Se sit�a la vista en la pila de vistas
+                wss.add(p, new ActionListener() {
+                    public void actionPerformed(ActionEvent e) {
+                        IWindow v = wis.getWindowById(Integer.parseInt(e
+                                .getActionCommand()));
+                        JInternalFrame f = fws.getJInternalFrame(v);
+                        activateJInternalFrame(f);
+                    }
+                });
+                addJInternalFrame(p);
+            }
+
+            return p;
+        }
+    }
+
+    public SingletonWindow getSingletonWindow(Class windowClass, Object model) {
+        JInternalFrame frame = (JInternalFrame) sws.getFrame(windowClass,model);
+        if( frame == null ) {
+        	return null;
+        }
+        return (SingletonWindow) fws.getWindow((JInternalFrame) frame);
+     }
+
+    
+    
+    /* (non-javadoc)
+     * @see com.iver.andami.ui.mdiManager.MDIManager#addWindow(com.iver.andami.ui.mdiManager.IWindow)
+     */
+	public IWindow addCentredWindow(IWindow p) throws SingletonDialogAlreadyShownException {
+		IWindow window = addWindow(p);
+        if (!p.getWindowInfo().isModal()) {
+            centreFrame(window);
+        }
+		return window;
+	}
+
+    public IWindow addWindow(IWindow p, int align) throws SingletonDialogAlreadyShownException {
+        boolean singletonPreviouslyAdded = false;
+        WindowInfo wi = wis.getWindowInfo(p);
+
+        if (p instanceof SingletonWindow) {
+            SingletonWindow sw = (SingletonWindow) p;
+            if (sws.registerWindow(sw.getClass(), sw.getWindowModel(), wi)) {
+                singletonPreviouslyAdded = true;
+            }
+        }
+        IWindow window = addWindow(p);
+        if( !window.getWindowInfo().isModal() ) {
+        	// if the window is modal at this oint is already closed
+	        if( !singletonPreviouslyAdded ) {
+	            alignFrame(window,align);
+	        }
+        }
+        return window;
+    }
+
+
+	/**
+	 * Centres the Frame in the contentPane of the MainFrame.
+	 * If the frame can't be showed completely, it tries to show its top-left
+	 * corner.
+	 *
+	 * @author Pablo Piqueras Bartolom�
+	 *
+	 * @param panel The IWindow to centre
+	 */
+	public synchronized void centreFrame(IWindow panel) {
+		Component window = fws.getFrame(panel);
+		if (window==null) return;
+
+		// The top-left square of frame reference
+		Point newReferencePoint = new Point();
+
+		// A reference to the panel where the JInternalFrame will be displayed
+		Container contentPane = ((JFrame)PluginServices.getMainFrame()).getContentPane();
+
+		// Get the NewStatusBar component
+		NewStatusBar newStatusBar = ((NewStatusBar)contentPane.getComponent(1));
+		JDesktopPane jDesktopPane = this.getDesktopPane(); 
+
+		int visibleWidth = contentPane.getWidth() - contentPane.getX(); // The last substraction is for if there is any menu,... at left
+		int visibleHeight = contentPane.getHeight() - newStatusBar.getHeight() - contentPane.getY() - Math.abs(jDesktopPane.getY() - contentPane.getY()); // The last substraction is for if there is any menu,... at top
+		int freeWidth = visibleWidth - window.getWidth();
+		int freeHeight = visibleHeight - window.getHeight();
+
+		// Calculate the new point reference (Assure that the top-left corner is showed)
+		if (freeWidth < 0)
+		{
+			if (visibleWidth > MinimumXMargin)
+				newReferencePoint.x = DefaultXMargin;
+			else
+				newReferencePoint.x = 0;
+		}
+		else
+			newReferencePoint.x = freeWidth / 2;
+
+		if (freeHeight < 0)
+		{
+			if (visibleHeight > MinimumYMargin)
+				newReferencePoint.y = DefaultYMargin;
+			else
+				newReferencePoint.y = 0;
+		}
+		else
+			newReferencePoint.y = freeHeight / 2;
+
+		// Set the new location for this JInternalFrame
+		window.setLocation(newReferencePoint);
+	}
+
+    public synchronized void alignFrame(IWindow panel, int mode) {
+        Component window = fws.getFrame(panel);
+        if (window==null) return;
+
+        // The top-left square of frame reference
+        Point newReferencePoint = new Point();
+
+        // A reference to the panel where the JInternalFrame will be displayed
+        Container contentPane = ((JFrame)PluginServices.getMainFrame()).getContentPane();
+
+        // Get the NewStatusBar component
+        NewStatusBar newStatusBar = ((NewStatusBar)contentPane.getComponent(1));
+        JDesktopPane jDesktopPane = this.getDesktopPane(); 
+
+        int visibleWidth = contentPane.getWidth() - contentPane.getX(); // The last substraction is for if there is any menu,... at left
+        int visibleHeight = contentPane.getHeight() - newStatusBar.getHeight() - contentPane.getY() - Math.abs(jDesktopPane.getY() - contentPane.getY()); // The last substraction is for if there is any menu,... at top
+
+//        -------------------------------------------------
+//        |FIRST_LINE_START   PAGE_START     FIRST_LINE_END|
+//        |                                                |
+//        |                                                |
+//        |LINE_START           CENTER             LINE_END|
+//        |                                                |
+//        |                                                |
+//        |LAST_LINE_START     PAGE_END       LAST_LINE_END|
+//        -------------------------------------------------
+        
+        switch (mode) {
+        case GridBagConstraints.FIRST_LINE_START:
+            newReferencePoint.x = DefaultXMargin;
+            newReferencePoint.y = DefaultYMargin;
+            break;
+        
+        case GridBagConstraints.PAGE_START:
+            newReferencePoint.x = visibleWidth / 2;
+            newReferencePoint.y = DefaultYMargin;
+            break;
+        
+        case GridBagConstraints.FIRST_LINE_END:
+            newReferencePoint.x = visibleWidth - window.getWidth() - DefaultXMargin;
+            newReferencePoint.y = DefaultYMargin;
+            break;
+        
+        case GridBagConstraints.LINE_START:
+            newReferencePoint.x = DefaultXMargin;
+            newReferencePoint.y = visibleHeight / 2;
+            break;
+        
+        case GridBagConstraints.LINE_END:
+            newReferencePoint.x = visibleWidth - window.getWidth() - DefaultXMargin;
+            newReferencePoint.y = visibleHeight / 2;
+            break;
+        
+        case GridBagConstraints.LAST_LINE_START:
+            newReferencePoint.x = DefaultXMargin;
+            newReferencePoint.y = visibleHeight - window.getHeight() - DefaultYMargin;
+            break;
+        
+        case GridBagConstraints.PAGE_END:
+            newReferencePoint.x = visibleWidth / 2;
+            newReferencePoint.y = visibleHeight - window.getHeight() - DefaultYMargin;
+            break;
+        
+        case GridBagConstraints.LAST_LINE_END:
+            newReferencePoint.x = visibleWidth - window.getWidth() - DefaultXMargin;
+            newReferencePoint.y = visibleHeight - window.getHeight() - DefaultYMargin;
+            break;
+        
+        default:
+        case GridBagConstraints.CENTER:
+            newReferencePoint.x = visibleWidth / 2;
+            newReferencePoint.y = visibleHeight / 2;
+            break;
+        }
+        
+        if( newReferencePoint.x < 0 ) {
+            newReferencePoint.x = DefaultXMargin;
+        }
+        if( newReferencePoint.y < 0 ) {
+            newReferencePoint.y = DefaultYMargin;
+        }
+        window.setLocation(newReferencePoint);
+    }
+
+    /**
+     * DOCUMENT ME!
+     *
+     * @param wnd
+     *            DOCUMENT ME!
+     * @param wi
+     *            DOCUMENT ME!
+     */
+    private void addJInternalFrame(JInternalFrame wnd, WindowInfo wi) {
+        wnd.setDefaultCloseOperation(JInternalFrame.DISPOSE_ON_CLOSE);
+        wnd.addInternalFrameListener(new FrameListener());
+
+        if (wi.isModeless() || wi.isPalette()) {
+            panel.add(wnd, JDesktopPane.PALETTE_LAYER);
+            if (wi.isPalette())
+                wnd.setFocusable(false);
+        } else {
+            panel.add(wnd);
+        }
+        updateFrameProperties(wnd, wi);
+        activateJInternalFrame(wnd);
+        try{
+        	wnd.setMaximum(wi.isMaximized());
+        }catch(Exception ex){
+        	logger.warn("Error: ", ex);
+        }
+    }
+
+    private void updateFrameProperties(JInternalFrame frame, WindowInfo wi) {
+    	int height, width;
+    	if (wi.isMaximized()) {
+    		if (wi.getNormalWidth()!=-1)
+    			width = wi.getNormalWidth();
+    		else
+    			width = frame.getNormalBounds().width;
+    		if (wi.getNormalHeight()!=-1)
+    			height = wi.getNormalHeight();
+    		else
+    			height = frame.getNormalBounds().height;
+
+    		frame.setSize(width, height);
+    		frame.setLocation(wi.getNormalX(), wi.getNormalY());
+    	}
+    	else {
+    		if (wi.getWidth()!=-1)
+    			width = wi.getWidth();
+    		else
+    			width = frame.getWidth();
+    		if (wi.getHeight()!=-1)
+    			height = wi.getHeight();
+    		else
+    			height = frame.getHeight();
+    		frame.setSize(width, height);
+        	frame.setLocation(wi.getX(), wi.getY());
+    	}
+    	frame.setTitle(wi.getTitle());
+    	frame.setVisible(wi.isVisible());
+    	frame.setResizable(wi.isResizable());
+    	frame.setIconifiable(wi.isIconifiable());
+    	frame.setMaximizable(wi.isMaximizable());
+    	try {
+			frame.setMaximum(wi.isMaximized());
+		} catch (PropertyVetoException e) {
+			// TODO Auto-generated catch block
+			//e.printStackTrace();
+		}
+    }
+
+    /**
+     * DOCUMENT ME!
+     *
+     * @param p
+     */
+    private void addJInternalFrame(IWindow p) {
+        WindowInfo wi = wis.getWindowInfo(p);
+
+        JInternalFrame wnd = fws.getJInternalFrame(p);
+
+        if (p instanceof SingletonWindow) {
+            SingletonWindow sv = (SingletonWindow) p;
+            sws.openSingletonWindow(sv, wnd);
+        }
+
+        addJInternalFrame(wnd, wi);
+    }
+
+    /**
+     * DOCUMENT ME!
+     *
+     * @param wnd
+     */
+    private void activateJInternalFrame(JInternalFrame wnd) {
+    	JPopupMenu.setDefaultLightWeightPopupEnabled(false);
+        try {
+            wnd.moveToFront();
+            logger.debug("Activando " + wnd.getTitle());
+            wnd.setSelected(true);
+            wnd.setIcon(false);
+        } catch (PropertyVetoException e) {
+            logger.error(e.toString());
+        }
+    }
+
+    /**
+     * Situa un di�logo modal en el centro de la pantalla
+     *
+     * @param d
+     *            Di�logo que se quiere situar
+     */
+    private void centerDialog(JDialog d) {
+        int offSetX = d.getWidth() / 2;
+        int offSetY = d.getHeight() / 2;
+
+        d.setLocation((mainFrame.getWidth() / 2) - offSetX, (mainFrame
+                .getHeight() / 2)
+                - offSetY);
+    }
+
+    /**
+     * DOCUMENT ME!
+     *
+     * @param p
+     */
+    private void addJDialog(IWindow p) {
+        JDialog dlg = fws.getJDialog(p);
+
+        centerDialog(dlg);
+
+        dlg.addWindowListener(new DialogWindowListener());
+        dss.pushDialog(dlg);
+
+        dlg.setVisible(wis.getWindowInfo(p).isVisible());
+    }
+
+    /*
+     * @see com.iver.andami.ui.mdiManager.MDIManager#getActiveWindow()
+     */
+    public IWindow getActiveWindow() {
+        JInternalFrame jif = panel.getSelectedFrame();
+
+        if (jif != null) {
+            IWindow theWindow = fws.getWindow(jif);
+            if (theWindow == null)
+                return null;
+            if (theWindow.getWindowInfo().isPalette())
+                return wss.getActiveWindow();
+            else
+                return fws.getWindow(jif);
+        }
+        // return vss.getActiveView();
+
+        return null;
+    }
+    public IWindow getFocusWindow(){
+    	 JInternalFrame jif = panel.getSelectedFrame();
+
+         if (jif != null) {
+             IWindow theView = fws.getWindow(jif);
+             if (theView == null)
+                 return null;
+             return fws.getWindow(jif);
+         }
+         return null;
+    }
+    /*
+     * @see com.iver.andami.ui.mdiManager.MDIManager#closeWindow(com.iver.andami.ui.mdiManager.IWindow)
+     */
+    public void closeWindow(IWindow p) {
+        // Si es un di�logo modal
+        if (p.getWindowInfo().isModal()) {
+            closeJDialog();
+        } else { // Si no es modal se cierra el JInternalFrame
+            closeJInternalFrame(fws.getJInternalFrame(p));
+        }
+    }
+
+    /*
+     * @see com.iver.andami.ui.mdiManager.MDIManager#closeAllWindows()
+     */
+    public void closeAllWindows() {
+        ArrayList eliminar = new ArrayList();
+        Iterator i = fws.getWindowIterator();
+
+        while (i.hasNext()) {
+            eliminar.add((IWindow) i.next());
+        }
+
+        for (Iterator iter = eliminar.iterator(); iter.hasNext();) {
+            IWindow vista = (IWindow) iter.next();
+            closeWindow(vista);
+        }
+    }
+
+    /*
+     * @see com.iver.andami.ui.mdiManager.MDIManager#getWindowInfo(com.iver.andami.ui.mdiManager.IWindow)
+     */
+    public WindowInfo getWindowInfo(IWindow w) {
+    	WindowInfo wi = wis.getWindowInfo(w);
+
+    /*
+     * This is done now in vis.getWindowInfo(w)
+     *
+     * JInternalFrame f = fws.getJInternalFrame(w);
+    	wi.setX(f.getX());
+    	wi.setY(f.getY());
+    	wi.setHeight(f.getHeight());
+    	wi.setWidth(f.getWidth());
+    	// isClosed() doesn't work as (I) expected, why? Using isShowing instead
+    	wi.setClosed(!f.isShowing());
+    	wi.setNormalBounds(f.getNormalBounds());
+    	wi.setMaximized(f.isMaximum());*/
+    	return wi;
+    }
+
+    /**
+     * DOCUMENT ME!
+     *
+     * @param dialog
+     * @throws RuntimeException
+     *             DOCUMENT ME!
+     */
+    private void closeJDialog() {
+        JDialog dlg = dss.popDialog();
+        if (dlg==null)
+        	return;
+        dlg.setVisible(false);
+
+        IWindow s = fws.getWindow(dlg);
+
+        callWindowClosed(s);
+
+        fws.closeWindow(s);
+
+        // Si es singleton se desasocia el modelo con la vista
+        if (s instanceof SingletonWindow) {
+            sws.closeWindow((SingletonWindow) s);
+        }
+    }
+
+    /**
+     * If <code>window</code> implements IWindowListener, sent it
+     * the windowActivated event.
+     *
+     * @param window
+     *            The IWindow which has to be notified.
+     */
+    private void callWindowClosed(IWindow window) {
+        if (window instanceof IWindowListener) {
+            ((IWindowListener) window).windowClosed();
+        }
+    }
+
+    /**
+     * If <code>window</code> implements IWindowListener, sent it
+     * the windowActivated event.
+     *
+     * @param window
+     *            The IWindow which has to be notified.
+     */
+    private void callWindowActivated(IWindow window) {
+//        logger.debug("View '" + window.getWindowInfo().getTitle()
+//               + "' activated (callViewActivated)");
+        if (window instanceof IWindowListener) {
+            ((IWindowListener) window).windowActivated();
+        }
+    }
+
+    /**
+     * DOCUMENT ME!
+     *
+     * @param frame
+     */
+    private void closeJInternalFrame(JInternalFrame frame) {
+        try {
+            IWindow s = (IWindow) fws.getWindow(frame);
+
+            frame.setClosed(true);
+            callWindowClosed(s);
+        } catch (PropertyVetoException e) {
+            logger
+                    .error(
+                            "Not compatible with property veto's. Use ViewInfo instead.",
+                            e);
+        }
+    }
+
+    /*
+     * @see com.iver.andami.plugins.IExtension#initialize()
+     */
+    public void initialize() {
+    }
+
+    /*
+     * @see com.iver.andami.plugins.IExtension#execute(java.lang.String)
+     */
+    public void execute(String actionCommand) {
+        if (actionCommand.equals("cascada")) {
+        } else if (actionCommand.equals("mosaico")) {
+        }
+    }
+
+    /*
+     * @see com.iver.andami.plugins.IExtension#isEnabled()
+     */
+    public boolean isEnabled() {
+        // TODO Auto-generated method stub
+        return false;
+    }
+
+    /*
+     * @see com.iver.andami.plugins.IExtension#isVisible()
+     */
+    public boolean isVisible() {
+        // TODO Auto-generated method stub
+        return true;
+    }
+
+    /*
+     * @see com.iver.andami.ui.mdiManager.MDIManager#setWaitCursor()
+     */
+    public void setWaitCursor() {
+        if (mainFrame != null) {
+            glassPane.setVisible(true);
+            lastCursor = mainFrame.getCursor();
+            dss.setWaitCursor();
+            glassPane.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
+        }
+    }
+
+    /*
+     * @see com.iver.andami.ui.mdiManager.MDIManager#restoreCursor()
+     */
+    public void restoreCursor() {
+        if (mainFrame != null) {
+            glassPane.setVisible(false);
+            dss.restoreCursor();
+            glassPane.setCursor(lastCursor);
+        }
+    }
+
+    /**
+     * Listener para los eventos de cerrado de los di�logos. Tiene su raz�n de
+     * ser en que los di�logos han de devolverse al pool cuando se cierran
+     *
+     * @author Fernando Gonz�lez Cort�s
+     */
+    public class DialogWindowListener extends WindowAdapter {
+        /**
+         * Captura el evento de cerrado de los di�logos con el fin de realizar
+         * tareas de mantenimiento
+         *
+         * @param e
+         *            evento
+         */
+        public void windowActivated(WindowEvent e) {
+        	IWindow window = fws.getWindow((Component) e.getSource());
+        	callWindowActivated(window);
+
+        }
+
+
+        /**
+         * Captura el evento de cerrado de los di�logos con el fin de realizar
+         * tareas de mantenimiento
+         *
+         * @param e
+         *            evento
+         */
+        public void windowClosing(WindowEvent e) {
+            closeJDialog();
+        }
+    }
+
+    /**
+     * DOCUMENT ME!
+     */
+    public class FrameListener implements InternalFrameListener {
+        /*
+         * @see javax.swing.event.InternalFrameListener#internalFrameActivated(javax.swing.event.InternalFrameEvent)
+         */
+        public void internalFrameActivated(InternalFrameEvent e) {
+            // logger.debug("internalFrameActivated " +
+            // e.getInternalFrame().getTitle());
+
+            // activatedInternalFramesStack.push(e.getInternalFrame());
+
+            IWindow panel = fws.getWindow((JInternalFrame) e.getSource());
+
+            WindowInfo wi = wis.getWindowInfo(panel);
+            if (wi.isPalette())
+                return;
+
+            wss.setActive(panel);
+
+            JInternalFrame frame = fws.getJInternalFrame(panel);
+
+            if (wi.isMaximizable()){
+            	frame.setMaximizable(true);
+            }
+            if (!frame.isMaximizable() && frame.isMaximum()) {
+                try {
+                    frame.setMaximum(false);
+                } catch (PropertyVetoException e1) {
+                }
+            }
+            mainFrame.enableControls();
+            if (wi.getSelectedTools()==null) {
+            	// this is the first time this window is activated
+            	wi.setSelectedTools(new HashMap(mainFrame.getInitialSelectedTools()));
+            }
+            mainFrame.setSelectedTools(wi.getSelectedTools());
+            callWindowActivated(panel);
+
+        }
+
+        /*
+         * @see javax.swing.event.InternalFrameListener#internalFrameClosed(javax.swing.event.InternalFrameEvent)
+         */
+        public void internalFrameClosed(InternalFrameEvent e) {
+        }
+
+        /*
+         * @see javax.swing.event.InternalFrameListener#internalFrameClosing(javax.swing.event.InternalFrameEvent)
+         */
+        public void internalFrameClosing(InternalFrameEvent e) {
+            // Se elimina la memoria del JInternalFrame si no es ALWAYS_LIVE
+            // logger.debug("internalFrameClosing " +
+            // e.getInternalFrame().getTitle());
+
+            JInternalFrame c = (JInternalFrame) e.getSource();
+            WindowInfo wi = wis.getWindowInfo((IWindow) fws.getWindow(c));
+
+            IWindow win = fws.getWindow(c);
+            callWindowClosed(win);
+            boolean alwaysLive;
+            if (win instanceof SingletonWindow) {
+                sws.closeWindow((SingletonWindow) win);
+            }
+
+            fws.closeWindow(win);
+
+            panel.remove(c);
+
+            wss.remove(win);
+
+            if (!wi.isPalette())
+                mainFrame.enableControls();
+            panel.repaint();
+
+            // Para activar el JInternalFrame desde la que hemos
+            // abierto la ventana que estamos cerrando
+            IWindow lastWindow = wss.getActiveWindow();
+            // La activamos
+            if (lastWindow != null) {
+            	logger.debug(PluginServices.getText(this, "Devuelvo_el_foco_a_")+lastWindow.getWindowInfo().getTitle());
+                JInternalFrame frame = fws.getJInternalFrame(lastWindow);
+                try {
+                    frame.setSelected(true);
+                } catch (PropertyVetoException e1) {
+                    // TODO Auto-generated catch block
+                    // e1.printStackTrace();
+                }
+                // addView(lastView);
+            }
+
+        }
+
+        /*
+         * @see javax.swing.event.InternalFrameListener#internalFrameDeactivated(javax.swing.event.InternalFrameEvent)
+         */
+        public void internalFrameDeactivated(InternalFrameEvent e) {
+            // logger.debug("internalDeActivated " +
+            // e.getInternalFrame().getTitle());
+            JInternalFrame c = (JInternalFrame) e.getSource();
+            IWindow win = fws.getWindow(c);
+            if (win != null) {
+                WindowInfo wi = wis.getWindowInfo(win);
+                if (wi.isPalette())
+                    return;
+
+            }
+
+        }
+
+        /*
+         * @see javax.swing.event.InternalFrameListener#internalFrameDeiconified(javax.swing.event.InternalFrameEvent)
+         */
+        public void internalFrameDeiconified(InternalFrameEvent e) {
+            mainFrame.enableControls();
+        }
+
+        /*
+         * @see javax.swing.event.InternalFrameListener#internalFrameIconified(javax.swing.event.InternalFrameEvent)
+         */
+        public void internalFrameIconified(InternalFrameEvent e) {
+            mainFrame.enableControls();
+        }
+
+        /*
+         * @see javax.swing.event.InternalFrameListener#internalFrameOpened(javax.swing.event.InternalFrameEvent)
+         */
+        public void internalFrameOpened(InternalFrameEvent e) {
+            // logger.debug("internalFrameOpened. Source= " +
+            // e.getSource().toString());
+        }
+    }
+
+    /*
+     * @see com.iver.andami.ui.mdiManager.MDIManager#closeSingletonWindow(java.lang.Class,
+     *      java.lang.Object)
+     */
+    public boolean closeSingletonWindow(Class viewClass, Object model) {
+        JInternalFrame frame = (JInternalFrame) sws.getFrame(viewClass, model);
+        if (frame == null)
+            return false;
+        closeJInternalFrame(frame);
+        return true;
+    }
+
+    /*
+     * @see com.iver.andami.ui.mdiManager.MDIManager#closeSingletonWindow(java.lang.Object)
+     */
+    public boolean closeSingletonWindow(Object model) {
+        JInternalFrame[] frames = (JInternalFrame[]) sws.getFrames(model);
+        if (frames.length == 0)
+            return false;
+        for (int i = 0; i < frames.length; i++) {
+            closeJInternalFrame(frames[i]);
+        }
+        return true;
+    }
+
+    /*
+     * @see com.iver.andami.ui.mdiManager.MDIManager#getAllWindows()
+     */
+    public IWindow[] getAllWindows() {
+        ArrayList windows = new ArrayList();
+        Iterator i = fws.getWindowIterator();
+
+        while (i.hasNext()) {
+            windows.add((IWindow) i.next());
+        }
+        return (IWindow[]) windows.toArray(new IWindow[0]);
+    }
+
+    /*
+     * @see com.iver.andami.ui.mdiManager.MDIManager#getOrderedWindows()
+     */
+    public IWindow[] getOrderedWindows() {
+        TreeMap windows = new TreeMap();
+        Iterator winIterator = fws.getWindowIterator();
+
+        Component frame;
+        IWindow win;
+        /**
+         * The order of the window in the JDesktopPane. Smaller numbers
+         * are closer to the foreground.
+         */
+        int zPosition;
+        while (winIterator.hasNext()) {
+        	win = (IWindow) winIterator.next();
+        	frame = fws.getFrame(win);
+    		zPosition = panel.getPosition(frame);
+    		int layer = panel.getLayer(frame);
+
+    		if (! (frame instanceof JDialog)) { //JDialogs are not in inside the LayeredPane
+    			// flatten all the layers
+	    		if (layer == JLayeredPane.DEFAULT_LAYER.intValue()) {
+	    			zPosition+=50000;
+	    		}
+	    		else if (layer == JLayeredPane.PALETTE_LAYER.intValue()) {
+	    			zPosition+=40000;
+	    		}
+	    		else if (layer == JLayeredPane.MODAL_LAYER.intValue()) {
+	    			zPosition+=30000;
+	    		}
+	    		else if  (layer == JLayeredPane.POPUP_LAYER.intValue()) {
+	    			zPosition+=20000;
+	    		}
+	    		else if  (layer == JLayeredPane.DRAG_LAYER.intValue()) {
+	    			zPosition+=10000;
+	    		}
+    		}
+    		windows.put(new Integer(zPosition), win);
+        }
+        winIterator = windows.values().iterator();
+        ArrayList winList = new ArrayList();
+        while (winIterator.hasNext()) {
+        	winList.add(winIterator.next());
+        }
+
+        return (IWindow[]) winList.toArray(new IWindow[0]);
+    }
+    public void setMaximum(IWindow v, boolean bMaximum) throws PropertyVetoException
+    {
+        JInternalFrame f = fws.getJInternalFrame(v);
+        f.setMaximum(bMaximum);
+    }
+
+    public void changeWindowInfo(IWindow w, WindowInfo wi){
+    	JInternalFrame f = fws.getJInternalFrame(w);
+    	f.setDefaultCloseOperation(JInternalFrame.DISPOSE_ON_CLOSE);
+    	JDesktopPane pnl = f.getDesktopPane();
+    	pnl.remove(f);
+    	int width;
+    	int height;
+    	if (wi.getWidth()!=-1)
+    		width = wi.getWidth();
+    	else
+    		width = f.getWidth();
+    	if (wi.getHeight()!=-1)
+    		height = wi.getHeight();
+    	else
+    		height = f.getHeight();
+    	f.setSize(new Dimension(width, height));
+    	f.setLocation(wi.getX(), wi.getY());
+    	if (wi.isPalette()) {
+    		pnl.add(f, JDesktopPane.PALETTE_LAYER);
+    		f.setFocusable(false);
+    	} else {
+    		pnl.add(f, JDesktopPane.DEFAULT_LAYER);
+    		f.setFocusable(true);
+    		if (wi.isClosed()) {
+    			closeWindow(w);
+    		}
+    	}
+
+    	if (wi.isMaximized()) {
+    		try {
+    			f.setMaximum(true);
+    		} catch (PropertyVetoException e) {
+    			// TODO Auto-generated catch block
+    			//e.printStackTrace();
+    		}
+    		f.setNormalBounds(wi.getNormalBounds());
+    	}
+    	activateJInternalFrame(f);
+    }
+
+    public void refresh(IWindow win) {
+    	Component frame = fws.getFrame(win);
+    	if (frame!=null)
+    		frame.setVisible(true);
+    }
+
+	public void setBackgroundImage(ImageIcon image, String typeDesktop) {
+		this.image=image;
+		this.typeDesktop=typeDesktop;
+
+	}
+	class MyDesktopPane extends JDesktopPane
+	    {
+		  protected Map listeners = new Hashtable();
+		
+		
+		  public MyDesktopPane(){
+	      }
+		  
+		  public Dimension getPreferredSize() {
+				JInternalFrame[] array = this.getAllFrames();
+				int maxX = 0;
+				int maxY = 0;
+				for (int i = 0; i < array.length; i++) {
+					int x = array[i].getX() + array[i].getWidth();
+					if (x > maxX)
+						maxX = x;
+					int y = array[i].getY() + array[i].getHeight();
+					if (y > maxY)
+						maxY = y;
+				}
+				return new Dimension(maxX, maxY);
+			}
+
+			/**
+			 * Add an internal-frame to the desktop. Sets a component-listener on
+			 * it, which resizes the desktop if a frame is resized.
+			 */
+		  public Component add(Component comp) {
+				super.add(comp);
+				ComponentListener listener = new ComponentListener() {
+					public void componentResized(ComponentEvent e) { // Layout the
+						// JScrollPane
+						getParent().getParent().validate();
+					}
+
+					public void componentMoved(ComponentEvent e) {
+						JInternalFrame comp = (JInternalFrame) e.getSource();
+						
+						//no deja que la ventana se vaya hacia la izquierda o arriba
+						if( comp.getX()<0 ) {
+							comp.setLocation(0, comp.getY());
+						}
+						if (comp.getY()<0){
+							comp.setLocation(comp.getX(), 0);
+						}
+						componentResized(e);
+					}
+					public void componentShown(ComponentEvent e) {
+					}
+
+					public void componentHidden(ComponentEvent e) {
+					}
+
+				};
+				comp.addComponentListener(listener);
+				listeners.put(comp, listener);
+				return comp;
+			}
+
+			/**
+			 * Remove an internal-frame from the desktop. Removes the
+			 * component-listener and resizes the desktop.
+			 */
+			public void remove(Component comp) {
+				comp.removeComponentListener((ComponentListener) listeners
+						.get(comp));
+				super.remove(comp);
+				getParent().getParent().validate(); // Layout the JScrollPane
+			}
+
+		 public void paintComponent(Graphics g){
+	        super.paintComponent(g);
+	        int x=0;
+	        int y=0;
+	        int w=0;
+	        int h=0;
+	        if (image != null) {
+				if (typeDesktop.equals(Theme.CENTERED)) {
+					w = image.getIconWidth();
+					h = image.getIconHeight();
+					x = (getWidth() - w) / 2;
+					y = (getHeight() - h) / 2;
+					g.drawImage(image.getImage(), x, y, w, h, this);
+				} else if (typeDesktop.equals(Theme.EXPAND)) {
+					w = getWidth();
+					h = getHeight();
+					g.drawImage(image.getImage(), x, y, w, h, this);
+				} else if (typeDesktop.equals(Theme.MOSAIC)) {
+					int wAux = image.getIconWidth();
+					int hAux = image.getIconHeight();
+					int i = 0;
+					int j = 0;
+					w = wAux;
+					h = hAux;
+					while (x < getWidth()) {
+						x = wAux * i;
+						while (y < getHeight()) {
+							y = hAux * j;
+							j++;
+							g.drawImage(image.getImage(), x, y, w, h, this);
+						}
+						y = 0;
+						j = 0;
+						i++;
+					}
+				}
+			}
+	      }
+	    }
+
+    public void showWindow(JPanel panel, String title, MODE mode) {
+        // This prepare a default JPanel that implements IWindow 
+        // for the passed panel and call to the addWindow
+        // to show it.
+        ToolsSwingLocator.getWindowManager().showWindow(panel, title, mode);
+    }
+    
+    public void registerAction(String extensionName, ActionTool action) {
+    	this.actionTools.add(new MyActionTool(extensionName, action));
+    }
+    
+    public void registerAction(String extensionName, Menu action) {
+    	this.actionTools.add(new MyActionTool(extensionName, action));
+    }
+    
+    public void registerAction(String extensionName, SelectableTool action) {
+    	this.actionTools.add(new MyActionTool(extensionName, action));
+    }
+    
+    public Iterator<UIActionTool> getActionTools() {
+    	return this.actionTools.iterator();
+    }
+}

Property changes on: tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/mdiManager/NewSkin.java
___________________________________________________________________
Added: svn:keywords
   + Author Date Id Revision
Added: svn:eol-style
   + native

Index: tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/mdiManager/FrameWindowSupport.java
===================================================================
--- tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/mdiManager/FrameWindowSupport.java	(revision 0)
+++ tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/mdiManager/FrameWindowSupport.java	(revision 38279)
@@ -0,0 +1,372 @@
+/* gvSIG. Sistema de Informaci�n Geogr�fica de la Generalitat Valenciana
+ *
+ * Copyright (C) 2004 IVER T.I. and Generalitat Valenciana.
+ *
+ * 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., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
+ *
+ * For more information, contact:
+ *
+ *  Generalitat Valenciana
+ *   Conselleria d'Infraestructures i Transport
+ *   Av. Blasco Ib��ez, 50
+ *   46010 VALENCIA
+ *   SPAIN
+ *
+ *      +34 963862235
+ *   gvsig@gva.es
+ *      www.gvsig.gva.es
+ *
+ *    or
+ *
+ *   IVER T.I. S.A
+ *   Salamanca 50
+ *   46005 Valencia
+ *   Spain
+ *
+ *   +34 963163400
+ *   dac@iver.es
+ */
+package org.gvsig.coreplugin.mdiManager;
+
+import java.awt.Component;
+import java.awt.Dimension;
+import java.awt.Image;
+import java.util.Hashtable;
+import java.util.Iterator;
+
+import javax.swing.ImageIcon;
+import javax.swing.JComponent;
+import javax.swing.JDialog;
+import javax.swing.JFrame;
+import javax.swing.JInternalFrame;
+import javax.swing.JPanel;
+
+import org.gvsig.andami.ui.mdiFrame.MDIFrame;
+import org.gvsig.andami.ui.mdiManager.IWindow;
+import org.gvsig.andami.ui.mdiManager.WindowInfo;
+import org.gvsig.coreplugin.mdiManager.frames.ExternalFrame;
+import org.gvsig.coreplugin.mdiManager.frames.IFrame;
+import org.gvsig.coreplugin.mdiManager.frames.InternalFrame;
+import org.gvsig.i18n.Messages;
+
+
+
+/**
+ *
+ */
+public class FrameWindowSupport {
+    private Hashtable frameView = new Hashtable();
+    private Hashtable viewFrame = new Hashtable();
+    private Image icon;
+    private WindowInfoSupport vis;
+	private JFrame mainFrame;
+
+    /**
+     * Creates a new FrameViewSupport object.
+     *
+     * @param i DOCUMENT ME!
+     */
+    public FrameWindowSupport(MDIFrame mainFrame) {
+    	this.mainFrame = mainFrame;
+        icon = mainFrame.getIconImage();
+    }
+
+    public Iterator getWindowIterator(){
+    	return viewFrame.keySet().iterator();
+    }
+
+    public boolean contains(IWindow v){
+    	return viewFrame.containsKey(v);
+    }
+
+	/**
+	 * @param wnd
+	 * @return
+	 */
+	public boolean contains(JInternalFrame wnd) {
+		return frameView.contains(wnd);
+	}
+
+    /**
+     * DOCUMENT ME!
+     *
+     * @param p DOCUMENT ME!
+     *
+     * @return DOCUMENT ME!
+     */
+    public JDialog getJDialog(IWindow p) {
+        JDialog dlg = (JDialog) viewFrame.get(p);
+
+        if (dlg == null) {
+            WindowInfo vi = vis.getWindowInfo(p);
+            ExternalFrame nuevo = new ExternalFrame(mainFrame);
+
+            nuevo.getContentPane().add((JPanel) p);
+            nuevo.setSize(getWidth(p, vi), getHeight(p, vi) + 30);
+            nuevo.setTitle(vi.getTitle());
+            nuevo.setResizable(vi.isResizable());
+            nuevo.setMinimumSize(vi.getMinimumSize());
+
+            viewFrame.put(p, nuevo);
+            frameView.put(nuevo, p);
+
+            nuevo.setModal(vi.isModal());
+            return nuevo;
+        } else {
+            return dlg;
+        }
+    }
+
+    /**
+     * DOCUMENT ME!
+     *
+     * @param p DOCUMENT ME!
+     *
+     * @return DOCUMENT ME!
+     */
+    public JInternalFrame getJInternalFrame(IWindow p) {
+    	JInternalFrame frame = (JInternalFrame) viewFrame.get(p);
+
+        if (frame == null) {
+        	//ViewInfo vi = vis.getViewInfo(p);
+            JInternalFrame nuevo = createJInternalFrame(p);
+            viewFrame.put(p, nuevo);
+            frameView.put(nuevo, p);
+
+            return nuevo;
+        } else {
+            return frame;
+        }
+    }
+    
+    /**
+     * Gets the frame associated to the provided IWindow panel.
+     * The frame will usually be a JInternalFrame or a JDialog.
+     *
+     * @param panel The IWindow panel whose frame wants to be retrieved.
+     *
+     * @return The associated frame, it will usually be a JInternalFrame or
+     * a JDialog.
+     */
+    public Component getFrame(IWindow panel) {
+    	Object object = viewFrame.get(panel);
+    	if (object!=null && object instanceof Component) {
+    		return (Component) object;
+    	}
+    	else {
+            throw new RuntimeException(Messages.getText("window_not_found")
+                + ": " + panel.getWindowInfo().getTitle());
+    	}
+    }
+
+    public JInternalFrame createJInternalFrame(IWindow p)
+    {
+        WindowInfo wi = vis.getWindowInfo(p);
+        JInternalFrame nuevo = new InternalFrame();
+        if (icon != null){
+            nuevo.setFrameIcon(new ImageIcon(icon));
+        }
+        
+        nuevo.getContentPane().add((JPanel) p);
+        nuevo.setClosable(!wi.isNotClosable());
+        nuevo.setSize(getWidth(p, wi), getHeight(p, wi));
+        nuevo.setTitle(wi.getTitle());
+        nuevo.setVisible(wi.isVisible());
+        nuevo.setResizable(wi.isResizable());
+        nuevo.setIconifiable(wi.isIconifiable());
+        nuevo.setMaximizable(wi.isMaximizable());
+        nuevo.setLocation(wi.getX(), wi.getY());
+        nuevo.setMinimumSize(wi.getMinimumSize());
+
+        nuevo.setDefaultCloseOperation(JInternalFrame.DISPOSE_ON_CLOSE);
+        return nuevo;
+    }
+
+    public IWindow getWindow(Component dlg){
+    	return (IWindow) frameView.get(dlg);
+    }
+
+    public void closeWindow(IWindow v){
+    	Object c = viewFrame.remove(v);
+    	frameView.remove(c);
+    }
+
+    /**
+     * DOCUMENT ME!
+     *
+     * @param v DOCUMENT ME!
+     * @param x DOCUMENT ME!
+     */
+    public void setX(IWindow win, int x) {
+    	IFrame frame = (IFrame) viewFrame.get(win);
+    	frame.setX(x);
+    }
+
+    /**
+     * DOCUMENT ME!
+     *
+     * @param v DOCUMENT ME!
+     * @param y DOCUMENT ME!
+     */
+    public void setY(IWindow win, int y) {
+    	IFrame frame = (IFrame) viewFrame.get(win);
+    	frame.setY(y);
+    }
+
+    /**
+     * DOCUMENT ME!
+     *
+     * @param v DOCUMENT ME!
+     * @param height DOCUMENT ME!
+     */
+    public void setHeight(IWindow win, int height) {
+    	IFrame frame = (IFrame) viewFrame.get(win);
+    	frame.setHeight(height);
+    }
+
+    /**
+     * DOCUMENT ME!
+     *
+     * @param v DOCUMENT ME!
+     * @param width DOCUMENT ME!
+     */
+    public void setWidth(IWindow win, int width) {
+    	IFrame frame = (IFrame) viewFrame.get(win);
+    	frame.setWidth(width);
+    }
+
+    /**
+     * DOCUMENT ME!
+     *
+     * @param v DOCUMENT ME!
+     * @param title DOCUMENT ME!
+     */
+    public void setTitle(IWindow win, String title) {
+    	IFrame frame = (IFrame) viewFrame.get(win);
+    	frame.setTitle(title);
+    }
+    
+	/**
+	 * Sets the minimum allowed size for the provided window.
+	 * 
+	 * @param sw
+	 * @param minSize
+	 */
+	public void setMinimumSize(IWindow win, Dimension minSize) {
+    	IFrame frame = (IFrame) viewFrame.get(win);
+    	frame.setMinimumSize(minSize);
+	}
+
+    /**
+     * DOCUMENT ME!
+     *
+     * @param vis The vis to set.
+     */
+    public void setVis(WindowInfoSupport vis) {
+        this.vis = vis;
+    }
+
+    /**
+     * DOCUMENT ME!
+     *
+     * @param v DOCUMENT ME!
+     *
+     * @return DOCUMENT ME!
+     */
+    private int getWidth(IWindow v) {
+        WindowInfo vi = vis.getWindowInfo(v);
+
+        if (vi.getWidth() == -1) {
+            JPanel p = (JPanel) v;
+
+            return p.getSize().width;
+        } else {
+            return vi.getWidth();
+        }
+    }
+
+    /**
+     * DOCUMENT ME!
+     *
+     * @param v DOCUMENT ME!
+     *
+     * @return DOCUMENT ME!
+     */
+    private int getWidth(IWindow v, WindowInfo wi) {
+        if (wi.getWidth() == -1) {
+            JPanel p = (JPanel) v;
+
+            return p.getSize().width;
+        } else {
+            return wi.getWidth();
+        }
+    }
+
+    /**
+     * DOCUMENT ME!
+     *
+     * @param v DOCUMENT ME!
+     *
+     * @return DOCUMENT ME!
+     */
+    private int getHeight(IWindow v) {
+        WindowInfo vi = vis.getWindowInfo(v);
+
+        if (vi.getHeight() == -1) {
+            JPanel p = (JPanel) v;
+
+            return p.getSize().height;
+        } else {
+            return vi.getHeight();
+        }
+    }
+
+    /**
+     * DOCUMENT ME!
+     *
+     * @param v DOCUMENT ME!
+     *
+     * @return DOCUMENT ME!
+     */
+    private int getHeight(IWindow v, WindowInfo wi) {
+        if (wi.getHeight() == -1) {
+            JPanel p = (JPanel) v;
+
+            return p.getSize().height;
+        } else {
+            return wi.getHeight();
+        }
+    }
+
+    public void updateWindowInfo(IWindow win, WindowInfo windowInfo) {
+    	Object o = viewFrame.get(win);
+    	if (windowInfo!=null && o!=null) {
+    		if (o instanceof JComponent) {
+        		JComponent component = (JComponent) o;
+        		windowInfo.updateWidth(component.getWidth());
+				windowInfo.updateHeight(component.getHeight());
+				windowInfo.updateX(component.getX());
+				windowInfo.updateY(component.getY());
+				windowInfo.updateClosed(!component.isShowing());
+				if (component instanceof JInternalFrame) {
+					JInternalFrame iframe = (JInternalFrame) component;
+					windowInfo.updateNormalBounds(iframe.getNormalBounds());
+					windowInfo.updateMaximized(iframe.isMaximum());
+				}
+    		}
+    	}
+    }
+
+}

Property changes on: tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/mdiManager/FrameWindowSupport.java
___________________________________________________________________
Added: svn:eol-style
   + native
Added: svn:keywords
   + Author Date Id Revision

Index: tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/configExtensions/ConfigPlugins.java
===================================================================
--- tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/configExtensions/ConfigPlugins.java	(revision 0)
+++ tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/configExtensions/ConfigPlugins.java	(revision 38279)
@@ -0,0 +1,791 @@
+/* gvSIG. Sistema de Informaci�n Geogr�fica de la Generalitat Valenciana
+ *
+ * Copyright (C) 2004 IVER T.I. and Generalitat Valenciana.
+ *
+ * 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., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
+ *
+ * For more information, contact:
+ *
+ *  Generalitat Valenciana
+ *   Conselleria d'Infraestructures i Transport
+ *   Av. Blasco Ib��ez, 50
+ *   46010 VALENCIA
+ *   SPAIN
+ *
+ *      +34 963862235
+ *   gvsig@gva.es
+ *      www.gvsig.gva.es
+ *
+ *    or
+ *
+ *   IVER T.I. S.A
+ *   Salamanca 50
+ *   46005 Valencia
+ *   Spain
+ *
+ *   +34 963163400
+ *   dac@iver.es
+ */
+package org.gvsig.coreplugin.configExtensions;
+
+import java.awt.BorderLayout;
+import java.awt.Component;
+import java.io.File;
+import java.io.FileReader;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Locale;
+
+import javax.swing.BoxLayout;
+import javax.swing.DefaultComboBoxModel;
+import javax.swing.JButton;
+import javax.swing.JCheckBox;
+import javax.swing.JComboBox;
+import javax.swing.JDialog;
+import javax.swing.JFileChooser;
+import javax.swing.JLabel;
+import javax.swing.JPanel;
+import javax.swing.JScrollPane;
+import javax.swing.JSplitPane;
+import javax.swing.JTabbedPane;
+import javax.swing.JTextArea;
+import javax.swing.JTextField;
+import javax.swing.JTree;
+import javax.swing.tree.DefaultMutableTreeNode;
+
+import org.exolab.castor.xml.MarshalException;
+import org.exolab.castor.xml.ValidationException;
+import org.gvsig.andami.Launcher;
+import org.gvsig.andami.PluginServices;
+import org.gvsig.andami.plugins.config.generate.Extension;
+import org.gvsig.andami.plugins.config.generate.Extensions;
+import org.gvsig.andami.plugins.config.generate.PluginConfig;
+import org.gvsig.andami.ui.mdiManager.IWindow;
+import org.gvsig.andami.ui.mdiManager.WindowInfo;
+import org.gvsig.utils.GenericFileFilter;
+
+/**
+ * Di�logo de Configuraci�n de ANDAMI.
+ *
+ * @author Vicente Caballero Navarro
+ * @deprecated
+ */
+public class ConfigPlugins extends JPanel implements IWindow {
+	private JTree jTree = null;
+	private JPanel jPanel = null; //  @jve:decl-index=0:visual-constraint="113,10"
+	private JPanel jPanel1 = null;
+	private JSplitPane jSplitPane = null;
+	private JCheckBox chbActivar = null;
+	private JTextField jTextField = null;
+	private JPanel pGeneral = null;
+	private JButton jButton = null;
+	private JPanel pOpciones = null;
+	private JTabbedPane jTabbedPane1 = null;
+	private JPanel pDescripcion = null;
+	private JPanel pDirectorio = null;
+	private JPanel jPanel2 = null;
+	private JScrollPane jScrollPane1 = null;
+	private WindowInfo m_viewinfo = null;
+	private JPanel pBotones = null;
+	private JButton bAceptar = null;
+	private JButton bCancelar = null;
+	private HashMap listExt = new HashMap();
+	private HashMap listPlugins = new HashMap();
+	private JTextArea taDescripcion = null;
+	private JScrollPane jScrollPane = null;
+	private Extension ext = null;
+	private JTextField jTextField1 = null;
+	private JLabel jLabel = null;
+	private JPanel jPanel3 = null;
+
+	private JPanel jPanel4 = null;
+	private JLabel jLabel1 = null;
+	private JComboBox cmbIdioma = null;
+	/**
+	 * This is the default constructor
+	 */
+	public ConfigPlugins() {
+		super();
+		initialize();
+	}
+
+	/**
+	 * A�ade los nodes al arbol que representa a todos los plugins y extesiones que hay.
+	 *
+	 * @param top
+	 */
+	private void addNodes(DefaultMutableTreeNode top) {
+		DefaultMutableTreeNode nameExtension = null;
+		DefaultMutableTreeNode namePlugin = null;
+		HashMap pc = Launcher.getPluginConfig();
+		ArrayList array = new ArrayList();
+		Iterator iter = pc.values().iterator();
+
+		while (iter.hasNext()) {
+			array.add(((PluginConfig) iter.next()).getExtensions());
+		}
+
+		Extensions[] exts = (Extensions[]) array.toArray(new Extensions[0]);
+
+		for (int i = 0; i < exts.length; i++) {
+			if (exts[i].getSkinExtension() != null) {
+			}
+
+			for (int j = 0; j < exts[i].getExtensionCount(); j++) {
+				Extension ext = exts[i].getExtension(j);
+				String pn = null;
+				String sExt = ext.getClassName().toString();
+				pn = sExt.substring(0, sExt.lastIndexOf("."));
+				namePlugin = new DefaultMutableTreeNode(pn);
+
+				if (!listPlugins.containsKey(namePlugin.getUserObject()
+														   .toString())) {
+					listPlugins.put(namePlugin.getUserObject().toString(),
+						namePlugin);
+					top.add(namePlugin);
+					nameExtension = new DefaultMutableTreeNode(sExt.substring(sExt.lastIndexOf(
+									".") + 1, sExt.length())); //replaceFirst(namePlugin.getUserObject().toString()+".",""));
+					listExt.put(sExt, ext);
+					namePlugin.add(nameExtension);
+				} else {
+					nameExtension = new DefaultMutableTreeNode(sExt.substring(sExt.lastIndexOf(
+									".") + 1, sExt.length())); //sExt.replaceFirst(namePlugin.getUserObject().toString()+".",""));
+					listExt.put(sExt, ext);
+					((DefaultMutableTreeNode) listPlugins.get(namePlugin.getUserObject()
+																		.toString())).add(nameExtension);
+				}
+			}
+		}
+	}
+
+	/**
+	 * This method initializes jTree
+	 *
+	 * @return javax.swing.JTree
+	 */
+	private JTree getJTree() {
+		if (jTree == null) {
+			DefaultMutableTreeNode root = new DefaultMutableTreeNode("ANDAMI");
+			addNodes(root);
+			jTree = new JTree(root);
+
+			jTree.setName("ANDAMI");
+			jTree.addTreeSelectionListener(new javax.swing.event.TreeSelectionListener() {
+					public void valueChanged(
+						javax.swing.event.TreeSelectionEvent e) {
+						if (e.getPath().getParentPath() != null) {
+							ext = (Extension) listExt.get(e.getPath()
+														   .getParentPath()
+														   .getLastPathComponent()
+														   .toString() + "." +
+									e.getPath().getLastPathComponent().toString());
+
+							if (ext == null) {
+								getChbActivar().setVisible(false);
+								getTaDescripcion().setText("Plugin : " +
+									e.getNewLeadSelectionPath().toString());
+							} else {
+								try {
+									getChbActivar().setSelected((Launcher.getExtension(
+											ext.getClassName())).getActive());
+									getChbActivar().setVisible(true);
+									getTaDescripcion().setText((Launcher.getExtension(
+											ext.getClassName())).getDescription());
+									getJTextField1().setText(String.valueOf(
+											ext.getPriority()));
+								} catch (NullPointerException npe) {
+									getChbActivar().setVisible(false);
+									getTaDescripcion().setText("Plugin : " +
+										e.getNewLeadSelectionPath().toString());
+								}
+							}
+						}
+					}
+				});
+		}
+
+		return jTree;
+	}
+
+	/**
+	 * This method initializes jPanel
+	 *
+	 * @return javax.swing.JPanel
+	 */
+	private JPanel getJPanel() {
+		if (jPanel == null) {
+			jPanel = new JPanel();
+			jPanel.setLayout(new BorderLayout());
+			jPanel.setName("jPanel");
+			jPanel.setPreferredSize(new java.awt.Dimension(150, 150));
+			jPanel.setSize(435, 299);
+			jPanel.add(getJSplitPane(), java.awt.BorderLayout.CENTER);
+			jPanel.add(getPBotones(), java.awt.BorderLayout.SOUTH);
+		}
+
+		return jPanel;
+	}
+
+	/**
+	 * This method initializes jPanel1
+	 *
+	 * @return javax.swing.JPanel
+	 */
+	private JPanel getJPanel1() {
+		if (jPanel1 == null) {
+			jPanel1 = new JPanel();
+			jPanel1.setLayout(new BoxLayout(jPanel1, BoxLayout.Y_AXIS));
+			jPanel1.setName("jPanel1");
+			jPanel1.setPreferredSize(new java.awt.Dimension(200, 100));
+			jPanel1.add(getJTabbedPane1(), null);
+		}
+
+		return jPanel1;
+	}
+
+	/**
+	 * This method initializes jSplitPane
+	 *
+	 * @return javax.swing.JSplitPane
+	 */
+	private JSplitPane getJSplitPane() {
+		if (jSplitPane == null) {
+			jSplitPane = new JSplitPane();
+			jSplitPane.setRightComponent(getJPanel1());
+			jSplitPane.setLeftComponent(getJPanel2());
+		}
+
+		return jSplitPane;
+	}
+
+	/**
+	 * This method initializes chbActivar
+	 *
+	 * @return javax.swing.JCheckBox
+	 */
+	private JCheckBox getChbActivar() {
+		if (chbActivar == null) {
+			chbActivar = new JCheckBox();
+			chbActivar.setSelected(true);
+			chbActivar.setVisible(false);
+			chbActivar.setText(PluginServices.getText(this, "extension_activada"));
+			chbActivar.addActionListener(new java.awt.event.ActionListener() {
+					public void actionPerformed(java.awt.event.ActionEvent e) {
+						ext.setActive(chbActivar.isSelected());
+					}
+				});
+		}
+
+		return chbActivar;
+	}
+
+	/**
+	 * This method initializes jTextField
+	 *
+	 * @return javax.swing.JTextField
+	 */
+	private JTextField getJTextField() {
+		if (jTextField == null) {
+			jTextField = new JTextField();
+			jTextField.setPreferredSize(new java.awt.Dimension(200, 20));
+			jTextField.setText(Launcher.getAndamiConfig().getPluginsDirectory());
+		}
+
+		return jTextField;
+	}
+
+	/**
+	 * This method initializes pGeneral
+	 *
+	 * @return javax.swing.JPanel
+	 */
+	private JPanel getPGeneral() {
+		if (pGeneral == null) {
+			pGeneral = new JPanel();
+			pGeneral.add(getPDirectorio(), null);
+			pGeneral.add(getJPanel4(), null);
+		}
+
+		return pGeneral;
+	}
+
+	/**
+	 * This method initializes jButton
+	 *
+	 * @return javax.swing.JButton
+	 */
+	private JButton getJButton() {
+		if (jButton == null) {
+			jButton = new JButton();
+			jButton.setText(PluginServices.getText(this, "examinar"));
+			jButton.addActionListener(new java.awt.event.ActionListener() {
+					public void actionPerformed(java.awt.event.ActionEvent e) {
+						JFileChooser jfc = new JFileChooser();
+						jfc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
+						jfc.addChoosableFileFilter(new GenericFileFilter("",
+								PluginServices.getText(this,
+									"directorio_extensiones")));
+
+						if (jfc.showOpenDialog(
+									(Component) PluginServices.getMainFrame()) == JFileChooser.APPROVE_OPTION) {
+							getJTextField().setText(jfc.getSelectedFile()
+													   .getAbsolutePath());
+						}
+					}
+				});
+		}
+
+		return jButton;
+	}
+
+	/**
+	 * This method initializes pOpciones
+	 *
+	 * @return javax.swing.JPanel
+	 */
+	private JPanel getPOpciones() {
+		if (pOpciones == null) {
+			jLabel = new JLabel();
+			pOpciones = new JPanel();
+			pOpciones.setLayout(new BorderLayout());
+			jLabel.setText(PluginServices.getText(this, "prioridad"));
+			pOpciones.add(getChbActivar(), java.awt.BorderLayout.NORTH);
+			pOpciones.add(getPDescripcion(), java.awt.BorderLayout.CENTER);
+			pOpciones.add(getJPanel3(), java.awt.BorderLayout.SOUTH);
+		}
+
+		return pOpciones;
+	}
+
+	/**
+	 * This method initializes jTabbedPane1
+	 *
+	 * @return javax.swing.JTabbedPane
+	 */
+	private JTabbedPane getJTabbedPane1() {
+		if (jTabbedPane1 == null) {
+			jTabbedPane1 = new JTabbedPane();
+			jTabbedPane1.addTab(PluginServices.getText(this, "opciones"), null,
+				getPOpciones(), null);
+			jTabbedPane1.addTab(PluginServices.getText(this, "general"), null,
+				getPGeneral(), null);
+		}
+
+		return jTabbedPane1;
+	}
+
+	/**
+	 * This method initializes pDescripcion
+	 *
+	 * @return javax.swing.JPanel
+	 */
+	private JPanel getPDescripcion() {
+		if (pDescripcion == null) {
+			pDescripcion = new JPanel();
+			pDescripcion.setLayout(new BorderLayout());
+			pDescripcion.add(getJScrollPane(), java.awt.BorderLayout.CENTER);
+			pDescripcion.setBorder(javax.swing.BorderFactory.createTitledBorder(
+					null, PluginServices.getText(this, "descripcion"),
+					javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION,
+					javax.swing.border.TitledBorder.DEFAULT_POSITION, null, null));
+		}
+
+		return pDescripcion;
+	}
+
+	/**
+	 * This method initializes pDirectorio
+	 *
+	 * @return javax.swing.JPanel
+	 */
+	private JPanel getPDirectorio() {
+		if (pDirectorio == null) {
+			pDirectorio = new JPanel();
+			pDirectorio.setBorder(javax.swing.BorderFactory.createTitledBorder(
+					null, PluginServices.getText(this, "directorio"),
+					javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION,
+					javax.swing.border.TitledBorder.DEFAULT_POSITION, null, null));
+			pDirectorio.add(getJTextField(), null);
+			pDirectorio.add(getJButton(), null);
+		}
+
+		return pDirectorio;
+	}
+
+	/**
+	 * This method initializes jPanel2
+	 *
+	 * @return javax.swing.JPanel
+	 */
+	private JPanel getJPanel2() {
+		if (jPanel2 == null) {
+			jPanel2 = new JPanel();
+			jPanel2.setLayout(new BorderLayout());
+			jPanel2.setPreferredSize(new java.awt.Dimension(120, 200));
+			jPanel2.add(getJScrollPane1(), java.awt.BorderLayout.CENTER);
+		}
+
+		return jPanel2;
+	}
+
+	/**
+	 * This method initializes jScrollPane1
+	 *
+	 * @return javax.swing.JScrollPane
+	 */
+	private JScrollPane getJScrollPane1() {
+		if (jScrollPane1 == null) {
+			jScrollPane1 = new JScrollPane();
+			jScrollPane1.setViewportView(getJTree());
+		}
+
+		return jScrollPane1;
+	}
+
+	/**
+	 * This method initializes pBotones
+	 *
+	 * @return javax.swing.JPanel
+	 */
+	private JPanel getPBotones() {
+		if (pBotones == null) {
+			pBotones = new JPanel();
+			pBotones.add(getBAceptar(), null);
+			pBotones.add(getBCancelar(), null);
+		}
+
+		return pBotones;
+	}
+
+	/**
+	 * This method initializes bAceptar
+	 *
+	 * @return javax.swing.JButton
+	 */
+	private JButton getBAceptar() {
+		if (bAceptar == null) {
+			bAceptar = new JButton();
+			bAceptar.setText(PluginServices.getText(this, "aceptar"));
+			bAceptar.addActionListener(new java.awt.event.ActionListener() {
+					public void actionPerformed(java.awt.event.ActionEvent e) {
+						//Se escribe el config de los plugins
+						marshalPlugins();
+
+						//Se escribe el directorio de los plugins
+						Launcher.getAndamiConfig().setPluginsDirectory(getJTextField().getText());
+
+						//Se escribe el idioma
+						LanguageItem sel = (LanguageItem) cmbIdioma.getSelectedItem();
+						Launcher.getAndamiConfig().setLocaleLanguage(sel.locale.getLanguage());
+						Launcher.getAndamiConfig().setLocaleCountry(sel.locale.getCountry());
+						Launcher.getAndamiConfig().setLocaleVariant(sel.locale.getVariant());
+
+						PluginServices.getMDIManager().closeWindow(ConfigPlugins.this);
+					}
+				});
+		}
+
+		return bAceptar;
+	}
+
+	/**
+	 * This method initializes bCancelar
+	 *
+	 * @return javax.swing.JButton
+	 */
+	private JButton getBCancelar() {
+		if (bCancelar == null) {
+			bCancelar = new JButton();
+			bCancelar.setText(PluginServices.getText(this, "cancelar"));
+			bCancelar.addActionListener(new java.awt.event.ActionListener() {
+					public void actionPerformed(java.awt.event.ActionEvent e) {
+						unmarshalPlugins();
+						PluginServices.getMDIManager().closeWindow(ConfigPlugins.this);
+					}
+				});
+		}
+
+		return bCancelar;
+	}
+
+	/**
+	 * This method initializes jTextArea1
+	 *
+	 * @return javax.swing.JTextArea
+	 */
+	private JTextArea getTaDescripcion() {
+		if (taDescripcion == null) {
+			taDescripcion = new JTextArea();
+			taDescripcion.setPreferredSize(new java.awt.Dimension(200, 100));
+			taDescripcion.setText("");
+			taDescripcion.setEditable(false);
+			taDescripcion.setEnabled(false);
+			taDescripcion.setLineWrap(true);
+		}
+
+		return taDescripcion;
+	}
+
+	/**
+	 * This method initializes jScrollPane
+	 *
+	 * @return javax.swing.JScrollPane
+	 */
+	private JScrollPane getJScrollPane() {
+		if (jScrollPane == null) {
+			jScrollPane = new JScrollPane();
+			jScrollPane.setViewportView(getTaDescripcion());
+			jScrollPane.setHorizontalScrollBarPolicy(javax.swing.JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
+			jScrollPane.setVerticalScrollBarPolicy(javax.swing.JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
+		}
+
+		return jScrollPane;
+	}
+
+	/**
+	 * This method initializes jTextField1
+	 *
+	 * @return javax.swing.JTextField
+	 */
+	private JTextField getJTextField1() {
+		if (jTextField1 == null) {
+			jTextField1 = new JTextField();
+			jTextField1.setPreferredSize(new java.awt.Dimension(20, 20));
+
+			jTextField1.addKeyListener(new java.awt.event.KeyAdapter() {
+					public void keyTyped(java.awt.event.KeyEvent e) {
+						ext.setPriority(Integer.parseInt(jTextField1.getText()));
+					}
+				});
+		}
+
+		return jTextField1;
+	}
+
+	/**
+	 * This method initializes jPanel3
+	 *
+	 * @return javax.swing.JPanel
+	 */
+	private JPanel getJPanel3() {
+		if (jPanel3 == null) {
+			jPanel3 = new JPanel();
+			jPanel3.add(getJTextField1(), null);
+			jPanel3.add(jLabel, null);
+		}
+
+		return jPanel3;
+	}
+
+	/**
+	 * This method initializes jPanel4
+	 *
+	 * @return javax.swing.JPanel
+	 */
+	private JPanel getJPanel4() {
+		if (jPanel4 == null) {
+			jLabel1 = new JLabel();
+			jPanel4 = new JPanel();
+			jLabel1.setText("Idioma:");
+			jPanel4.add(jLabel1, null);
+			jPanel4.add(getCmbIdioma(), null);
+		}
+		return jPanel4;
+	}
+	/**
+	 * This method initializes cmbIdioma
+	 *
+	 * @return javax.swing.JComboBox
+	 */
+	private JComboBox getCmbIdioma() {
+		if (cmbIdioma == null) {
+			cmbIdioma = new JComboBox();
+			cmbIdioma.setPreferredSize(new java.awt.Dimension(195,20));
+
+			Locale esp = new Locale("es");
+			Locale eng = new Locale("en");
+			Locale fra = new Locale("fr");
+			Locale ita = new Locale("it");
+			Locale val = new Locale("ca");
+            Locale cs = new Locale("cs"); // Checo
+            Locale eu = new Locale("eu"); // euskera
+            Locale brasil = new Locale("pt", "BR");
+            Locale de = new Locale("de"); // Alem�n
+            Locale gr = new Locale("el", "GR"); // Griego
+            Locale gl = new Locale("gl", "GL"); // Griego
+
+			// Parche para valenciano/catal�n valenci�/catal�
+			String strValenciano = PluginServices.getText(this, "__valenciano");
+            // Parche para euskera
+
+            Locale localeActual = Locale.getDefault(); // Se configura en la clase Launcher
+            String strEuskera;
+            if (eu.getDisplayLanguage().compareTo("vascuence") == 0) {
+				strEuskera = "Euskera";
+			} else {
+				strEuskera = eu.getDisplayLanguage();
+			}
+
+
+			LanguageItem[] lenguajes = new LanguageItem[]{
+					new LanguageItem(esp, esp.getDisplayLanguage()),
+					new LanguageItem(eng, eng.getDisplayLanguage()),
+					new LanguageItem(fra, fra.getDisplayLanguage()),
+					new LanguageItem(ita, ita.getDisplayLanguage()),
+                    new LanguageItem(val, strValenciano),
+                    new LanguageItem(cs, cs.getDisplayLanguage()),
+                    new LanguageItem(eu, strEuskera),
+                    new LanguageItem(brasil, brasil.getDisplayLanguage()),
+					new LanguageItem(de, de.getDisplayLanguage()),
+					new LanguageItem(gr, gr.getDisplayLanguage()),
+					new LanguageItem(gl, gl.getDisplayLanguage())};
+
+			DefaultComboBoxModel model = new DefaultComboBoxModel(lenguajes);
+
+			for (int i = 0; i < lenguajes.length; i++) {
+				if (lenguajes[i].locale.equals(Locale.getDefault())){
+					model.setSelectedItem(lenguajes[i]);
+				}
+			}
+
+			cmbIdioma.setModel(model);
+		}
+		return cmbIdioma;
+	}
+
+	private class LanguageItem {
+		public Locale locale;
+		public String description;
+
+		public LanguageItem(Locale loc, String str){
+			locale = loc;
+			description = str;
+		}
+
+		public String toString(){
+			return description;
+		}
+	}
+   	/**
+	 * DOCUMENT ME!
+	 *
+	 * @param args DOCUMENT ME!
+	 */
+	public static void main(String[] args) {
+		ConfigPlugins cp = new ConfigPlugins();
+		cp.setVisible(true);
+
+		JDialog dialog = new JDialog();
+		dialog.getContentPane().add(cp);
+		dialog.setSize(400, 300);
+		dialog.show(true);
+	}
+
+	/**
+	 * This method initializes this
+	 */
+	private void initialize() {
+		this.setLayout(new BorderLayout());
+		this.setSize(443, 299);
+		this.setLocation(1, 1);
+		this.add(getJPanel(), java.awt.BorderLayout.CENTER);
+	}
+
+	/**
+	 * @see com.iver.mdiApp.ui.MDIManager.IWindow#getWindowInfo()
+	 */
+	public WindowInfo getWindowInfo() {
+		if (m_viewinfo == null) {
+			m_viewinfo = new WindowInfo(WindowInfo.MODALDIALOG);
+			m_viewinfo.setTitle(PluginServices.getText(this, "configurar_ANDAMI"));
+		}
+
+		return m_viewinfo;
+	}
+
+	/**
+	 * @see com.iver.mdiApp.ui.MDIManager.IWindow#windowActivated()
+	 */
+	public void viewActivated() {
+	}
+
+	/**
+	 * Escribe sobre el config.xml, la nueva configuraci�n.
+	 */
+	public void marshalPlugins() {
+		HashMap pc = Launcher.getPluginConfig();
+		ArrayList array = new ArrayList();
+		Iterator iter = pc.keySet().iterator();
+
+		while (iter.hasNext()) {
+			Object obj = iter.next();
+			PluginConfig pconfig = (PluginConfig) pc.get(obj);
+			FileWriter writer;
+
+			try {
+				writer = new FileWriter(Launcher.getAndamiConfig().getPluginsDirectory() +
+						File.separator + (String) obj + File.separator +
+						"config.xml");
+
+				try {
+					pconfig.marshal(writer);
+				} catch (MarshalException e1) {
+					e1.printStackTrace();
+				} catch (ValidationException e1) {
+					e1.printStackTrace();
+				}
+			} catch (IOException e) {
+				e.printStackTrace();
+			}
+
+			//hay que refrescar la aplicaci�n
+			///((App)App.instance).run();
+		}
+	}
+
+	/**
+	 * Lee del config.xml la configuraci�n.
+	 */
+	public void unmarshalPlugins() {
+		HashMap pc = Launcher.getPluginConfig();
+		ArrayList array = new ArrayList();
+		Iterator iter = pc.keySet().iterator();
+
+		while (iter.hasNext()) {
+			Object obj = iter.next();
+			PluginConfig pconfig = (PluginConfig) pc.get(obj);
+
+			try {
+				FileReader reader = new FileReader(Launcher.getAndamiConfig().getPluginsDirectory() +
+						File.separator + (String) obj + File.separator +
+						"config.xml");
+				PluginConfig.unmarshal(reader);
+			} catch (Exception e) {
+				System.out.println("Exception unmarshalPlugin " + e);
+			}
+		}
+
+
+		//hay que refrescar la aplicaci�n
+		///((App)App.instance).run();
+	}
+
+	public Object getWindowProfile() {
+		return WindowInfo.DIALOG_PROFILE;
+	}
+} //  @jve:decl-index=0:visual-constraint="10,10"

Property changes on: tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/configExtensions/ConfigPlugins.java
___________________________________________________________________
Added: svn:keywords
   + Author Date Id Revision
Added: svn:eol-style
   + native

Index: tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/NotificationDialog.java
===================================================================
--- tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/NotificationDialog.java	(revision 0)
+++ tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/NotificationDialog.java	(revision 38279)
@@ -0,0 +1,282 @@
+/* gvSIG. Sistema de Informaci�n Geogr�fica de la Generalitat Valenciana
+ *
+ * Copyright (C) 2004 IVER T.I. and Generalitat Valenciana.
+ *
+ * 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., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
+ *
+ * For more information, contact:
+ *
+ *  Generalitat Valenciana
+ *   Conselleria d'Infraestructures i Transport
+ *   Av. Blasco Ib��ez, 50
+ *   46010 VALENCIA
+ *   SPAIN
+ *
+ *      +34 963862235
+ *   gvsig@gva.es
+ *      www.gvsig.gva.es
+ *
+ *    or
+ *
+ *   IVER T.I. S.A
+ *   Salamanca 50
+ *   46005 Valencia
+ *   Spain
+ *
+ *   +34 963163400
+ *   dac@iver.es
+ */
+package org.gvsig.coreplugin;
+
+import javax.swing.JButton;
+import javax.swing.JPanel;
+import javax.swing.JScrollPane;
+import javax.swing.JTextArea;
+import javax.swing.SwingUtilities;
+
+import org.gvsig.andami.PluginServices;
+import org.gvsig.andami.messages.MessageEvent;
+import org.gvsig.andami.messages.NotificationListener;
+import org.gvsig.andami.ui.mdiManager.IWindow;
+import org.gvsig.andami.ui.mdiManager.SingletonWindow;
+import org.gvsig.andami.ui.mdiManager.WindowInfo;
+
+
+
+/**
+ * Graphic interface that appears to show an error.
+ *
+ * @author Vicente Caballero Navarro
+ */
+public class NotificationDialog extends JPanel implements IWindow, SingletonWindow,
+    NotificationListener {
+    private JButton bDetails = null;
+    private JPanel pDescription = null;
+    private JTextArea txtDescription = null;
+    private JButton bNoDetails = null;
+    private JButton bAcept = null;
+    private JScrollPane pScrollDescription = null;
+
+    /**
+     * This is the default constructor
+     */
+    public NotificationDialog() {
+        super();
+        initialize();
+    }
+
+    /**
+     * This method initializes this
+     */
+    private void initialize() {
+        Consola.consolaFrame.setSize(new java.awt.Dimension(457, 150));
+        Consola.consolaFrame.setLocation(new java.awt.Point(11, 140));
+        Consola.consolaFrame.setVisible(false);
+        this.setLayout(null);
+        this.setSize(470, 175);
+        this.add(getBDetails(), null);
+        this.add(getPDescription(), null);
+        this.add(Consola.consolaFrame, null);
+        this.add(getDNoDetails(), null);
+        this.add(getBAcept(), null);
+    }
+
+    /**
+     * This method initializes bDetails
+     *
+     * @return javax.swing.JButton
+     */
+    private JButton getBDetails() {
+        if (bDetails == null) {
+        	final IWindow win = this;
+            bDetails = new JButton();
+            bDetails.setBounds(new java.awt.Rectangle(315, 110, 129, 24));
+            bDetails.setText(PluginServices.getText(this,"detalles") + "   >>>");
+            bDetails.setVisible(true);
+            bDetails.addActionListener(new java.awt.event.ActionListener() {
+                    public void actionPerformed(java.awt.event.ActionEvent e) {
+                        Consola.consolaFrame.setVisible(true);
+                        bDetails.setVisible(false);
+                        getDNoDetails().setVisible(true);
+                        PluginServices.getMDIManager()
+                                      .getWindowInfo(win)
+                                      .setHeight(325);
+                        setSize(460, 325);
+                    }
+                });
+        }
+
+        return bDetails;
+    }
+
+    /**
+     * This method initializes pDescription
+     *
+     * @return javax.swing.JPanel
+     */
+    private JPanel getPDescription() {
+        if (pDescription == null) {
+            pDescription = new JPanel();
+            pDescription.setBounds(new java.awt.Rectangle(7, 5, 437, 99));
+            pDescription.setBorder(javax.swing.BorderFactory.createTitledBorder(
+                    null, PluginServices.getText(this,"descripcion"),
+                    javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION,
+                    javax.swing.border.TitledBorder.DEFAULT_POSITION, null, null));
+            pDescription.add(getPScrollDescription(), null);
+        }
+
+        return pDescription;
+    }
+
+    /**
+     * This method initializes txtDescription
+     *
+     * @return javax.swing.JTextArea
+     */
+    private JTextArea getTxtDescription() {
+        if (txtDescription == null) {
+            txtDescription = new JTextArea();
+            //txtDescription.setPreferredSize(new java.awt.Dimension(420, 65));
+            txtDescription.setForeground(java.awt.Color.blue);
+            txtDescription.setBackground(java.awt.SystemColor.control);
+            txtDescription.setEditable(false);
+        }
+
+        return txtDescription;
+    }
+
+    /**
+     * @see com.iver.mdiApp.ui.MDIManager.IWindow#getModel()
+     */
+    public Object getWindowModel() {
+        return "consolaOld";
+    }
+
+    /**
+     * @see org.gvsig.andami.ui.mdiManager.IWindow#getWindowInfo()
+     */
+    public WindowInfo getWindowInfo() {
+        WindowInfo info = new WindowInfo(WindowInfo.MODELESSDIALOG |
+                WindowInfo.ICONIFIABLE);
+        info.setTitle(PluginServices.getText(this, "titulo_consola"));
+
+        return info;
+    }
+
+    /**
+     * @see com.iver.mdiApp.NotificationListener#errorEvent(java.lang.String)
+     */
+    public void errorEvent(MessageEvent e) {
+        if (e.getMessages() != null) {
+            for (int i = 0; i < e.getMessages().length; i++) {
+                txtDescription.setText(e.getMessages()[i]);
+            }
+        }
+
+        PluginServices.getMDIManager().restoreCursor();
+        if (SwingUtilities.isEventDispatchThread()) {
+            PluginServices.getMDIManager().addWindow(this);
+        } else {
+        	final IWindow win = this;
+            SwingUtilities.invokeLater(new Runnable() {
+                    public void run() {
+                        PluginServices.getMDIManager().addWindow(win);
+                    }
+                });
+        }
+
+    }
+
+    /**
+     * @see com.iver.mdiApp.NotificationListener#warningEvent(java.lang.String)
+     */
+    public void warningEvent(MessageEvent e) {
+    }
+
+    /**
+     * @see com.iver.mdiApp.NotificationListener#infoEvent(java.lang.String)
+     */
+    public void infoEvent(MessageEvent e) {
+    }
+
+    /**
+     * This method initializes dNoDetails
+     *
+     * @return javax.swing.JButton
+     */
+    private JButton getDNoDetails() {
+        if (bNoDetails == null) {
+            bNoDetails = new JButton();
+            bNoDetails.setVisible(false);
+            bNoDetails.setBounds(new java.awt.Rectangle(315, 110, 128, 24));
+            bNoDetails.setText("<<<   " + PluginServices.getText(this,"detalles"));
+            final IWindow win = this;
+            bNoDetails.addActionListener(new java.awt.event.ActionListener() {
+                    public void actionPerformed(java.awt.event.ActionEvent e) {
+                        bDetails.setVisible(true);
+                        bNoDetails.setVisible(false);
+                        Consola.consolaFrame.setVisible(false);
+                        PluginServices.getMDIManager()
+                                      .getWindowInfo(win)
+                                      .setHeight(175);
+                        setSize(460, 175);
+                    }
+                });
+        }
+
+        return bNoDetails;
+    }
+
+    /**
+     * This method initializes bAcept
+     *
+     * @return javax.swing.JButton
+     */
+    private JButton getBAcept() {
+        if (bAcept == null) {
+        	final IWindow win = this;
+            bAcept = new JButton();
+            bAcept.setBounds(new java.awt.Rectangle(10, 110, 296, 24));
+            bAcept.setText(PluginServices.getText(this,"aceptar"));
+            bAcept.addActionListener(new java.awt.event.ActionListener() {
+                    public void actionPerformed(java.awt.event.ActionEvent e) {
+                        PluginServices.getMDIManager().closeWindow(win);
+                    }
+                });
+        }
+
+        return bAcept;
+    }
+
+    /**
+     * This method initializes pScrollDescription
+     *
+     * @return javax.swing.JScrollPane
+     */
+    private JScrollPane getPScrollDescription() {
+        if (pScrollDescription == null) {
+            pScrollDescription = new JScrollPane();
+            pScrollDescription.setPreferredSize(new java.awt.Dimension(420,67));
+            pScrollDescription.setAutoscrolls(true);
+            pScrollDescription.setViewportView(getTxtDescription());
+        }
+
+        return pScrollDescription;
+    }
+	public Object getWindowProfile() {
+		return WindowInfo.PROPERTIES_PROFILE;
+	}
+
+} //  @jve:decl-index=0:visual-constraint="10,10"

Property changes on: tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/NotificationDialog.java
___________________________________________________________________
Added: svn:eol-style
   + native
Added: svn:keywords
   + Author Date Id Revision

Index: tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/menus/ToolbarMenus.java
===================================================================
--- tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/menus/ToolbarMenus.java	(revision 0)
+++ tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/menus/ToolbarMenus.java	(revision 38279)
@@ -0,0 +1,150 @@
+/**
+ * 
+ */
+package org.gvsig.coreplugin.menus;
+
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.net.URL;
+
+import javax.swing.ImageIcon;
+
+import org.gvsig.andami.PluginServices;
+import org.gvsig.andami.plugins.Extension;
+import org.gvsig.andami.plugins.config.generate.Menu;
+import org.gvsig.andami.ui.mdiFrame.SelectableToolBar;
+import org.gvsig.utils.XMLEntity;
+
+
+/**
+ * @author cesar
+ *
+ */
+public class ToolbarMenus extends Extension implements ActionListener {
+	private final String ACTIONCOMMANDBASE = "CHANGE_VISIBILITY-";
+	private final String MENUBASE = "Ver/Toolbars/";
+	private final String ENABLEDIMAGE = "images/enabled.png";
+
+	/* (non-Javadoc)
+	 * @see com.iver.andami.plugins.Extension#execute(java.lang.String)
+	 */
+	public void execute(String actionCommand) {
+		// TODO Auto-generated method stub
+
+	}
+
+
+	/* (non-Javadoc)
+	 * @see com.iver.andami.plugins.Extension#isEnabled()
+	 */
+	public boolean isEnabled() {
+		return true;
+	}
+
+	/* (non-Javadoc)
+	 * @see com.iver.andami.plugins.Extension#isVisible()
+	 */
+	public boolean isVisible() {
+		// TODO Auto-generated method stub
+		return false;
+	}
+	
+	/*
+	 *  (non-Javadoc)
+	 * @see com.iver.andami.plugins.Extension#actionPerformed()
+	 */
+	public void actionPerformed(ActionEvent e) {
+		String toolbarName = e.getActionCommand().substring(ACTIONCOMMANDBASE.length());
+		javax.swing.JMenuItem menu = PluginServices.getMainFrame().getMenuEntry((MENUBASE+toolbarName).split("/"));
+		
+		if (!toolbarName.equals("")) {
+
+			boolean oldVisibility = PluginServices.getMainFrame().getToolbarVisibility(toolbarName);
+			if (oldVisibility==false) {
+				URL icon = PluginServices.getPluginServices(this).getClassLoader().getResource(ENABLEDIMAGE);				
+				menu.setIcon(new ImageIcon(icon));
+				persistStatus(toolbarName, !oldVisibility);
+			}
+			else {
+				menu.setIcon(null);
+				persistStatus(toolbarName, !oldVisibility);
+			}
+			PluginServices.getMainFrame().setToolbarVisibility(toolbarName, !oldVisibility);
+		}
+	}
+
+	/*
+	 *  (non-Javadoc)
+	 * @see com.iver.andami.plugins.Extension#initialize()
+	 */
+	public void initialize() {
+		getPersistedStatus();
+		SelectableToolBar[] toolBars = PluginServices.getMainFrame().getToolbars();
+		for (int i=toolBars.length-1; i>0; i--) {
+			Menu menu = new Menu();
+			menu.setActionCommand(ACTIONCOMMANDBASE+toolBars[i].getName());
+			//menu.setTooltip(PluginServices.getText(this, "muestra_oculta_la_toolbar"));
+			menu.setText(MENUBASE+toolBars[i].getName());
+			if (toolBars[i].getAndamiVisibility())
+				menu.setIcon(ENABLEDIMAGE);
+			PluginServices.getMainFrame().addMenu(menu, this, PluginServices.getPluginServices(this).getClassLoader());
+		}
+		
+	}
+	
+	/**
+	 * Save the status of the provided toolbar.
+	 * 
+	 * @param toolbarName The toolbar name whose status wants to be saved.
+	 * @param visible Whether or not the toolbar is visible.
+	 */
+	private void persistStatus(String toolbarName, boolean visible) {
+		PluginServices ps = PluginServices.getPluginServices(this); 
+		XMLEntity xml = ps.getPersistentXML();
+		XMLEntity child = null;
+		for (int i=xml.getChildrenCount()-1; i>=0; i--) {
+			if (xml.getChild(i).getName().equals("Toolbars"))
+				child = xml.getChild(i).getChild(0);
+				
+		}
+		if (child==null) {
+			XMLEntity toolbars = new XMLEntity();
+			toolbars.setName("Toolbars");
+			child = new XMLEntity();
+			toolbars.addChild(child);
+			xml.addChild(toolbars);
+		}
+		
+		if (visible) {
+			child.putProperty(toolbarName, "visible");
+		}
+		else {
+			child.putProperty(toolbarName, "hidden");
+		}
+		ps.setPersistentXML(xml);
+		
+	}
+
+	/**
+	 * Reads the stored toolbars' status from plugin-persinstence.xml,
+	 * and sets the toolbars accordingly. 
+	 *
+	 */
+	private void getPersistedStatus() {
+		PluginServices ps = PluginServices.getPluginServices(this); 
+		XMLEntity xml = ps.getPersistentXML();
+		XMLEntity child = null;
+		for (int i=xml.getChildrenCount()-1; i>=0; i--) {
+			if (xml.getChild(i).getName().equals("Toolbars"))
+				child = xml.getChild(i).getChild(0);
+				
+		}
+		if (child!=null) {
+			SelectableToolBar[] toolBars = PluginServices.getMainFrame().getToolbars();
+			for (int i=toolBars.length-1; i>=0; i--) {
+				if (child.contains(toolBars[i].getName()))
+					toolBars[i].setAndamiVisibility(child.getStringProperty(toolBars[i].getName()).equals("visible"));
+			}
+		}
+	}
+}

Property changes on: tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/menus/ToolbarMenus.java
___________________________________________________________________
Added: svn:eol-style
   + native

Index: tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/StatusBar.java
===================================================================
--- tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/StatusBar.java	(revision 0)
+++ tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/StatusBar.java	(revision 38279)
@@ -0,0 +1,97 @@
+/* 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.coreplugin;
+
+import org.gvsig.andami.PluginServices;
+import org.gvsig.andami.messages.MessageEvent;
+import org.gvsig.andami.messages.NotificationListener;
+import org.gvsig.andami.messages.NotificationManager;
+import org.gvsig.andami.plugins.Extension;
+
+/**
+ * Plugin que escucha las notificaciones que recive la aplicaci�n y las muestra
+ * en la barra de estado
+ */
+public class StatusBar extends Extension implements NotificationListener {
+
+    /**
+     * @see com.iver.mdiApp.IExtension#initialize()
+     */
+    public void initialize() {
+        NotificationManager.addNotificationListener(this);
+    }
+
+    /**
+     * @see com.iver.mdiApp.NotificationListener#errorEvent(java.lang.String)
+     */
+    public void errorEvent(MessageEvent e) {
+        PluginServices.getMainFrame().getStatusBar()
+            .setErrorText(e.getMessages()[0]);
+    }
+
+    /**
+     * @see com.iver.mdiApp.NotificationListener#warningEvent(java.lang.String)
+     */
+    public void warningEvent(MessageEvent e) {
+        PluginServices.getMainFrame().getStatusBar()
+            .setWarningText(e.getMessages()[0]);
+    }
+
+    /**
+     * @see com.iver.mdiApp.NotificationListener#infoEvent(java.lang.String)
+     */
+    public void infoEvent(MessageEvent e) {
+        PluginServices.getMainFrame().getStatusBar()
+            .setInfoText(e.getMessages()[0]);
+    }
+
+    /*
+     * (non-Javadoc)
+     * 
+     * @see com.iver.andami.plugins.Extension#execute(java.lang.String)
+     */
+    public void execute(String actionCommand) {
+        // TODO Auto-generated method stub
+
+    }
+
+    /*
+     * (non-Javadoc)
+     * 
+     * @see com.iver.andami.plugins.Extension#isEnabled()
+     */
+    public boolean isEnabled() {
+        // TODO Auto-generated method stub
+        return false;
+    }
+
+    /*
+     * (non-Javadoc)
+     * 
+     * @see com.iver.andami.plugins.Extension#isVisible()
+     */
+    public boolean isVisible() {
+        // TODO Auto-generated method stub
+        return false;
+    }
+
+}

Property changes on: tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/StatusBar.java
___________________________________________________________________
Added: svn:keywords
   + Author Date Id Revision
Added: svn:eol-style
   + native

Index: tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/ConsolaFrame.java
===================================================================
--- tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/ConsolaFrame.java	(revision 0)
+++ tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/ConsolaFrame.java	(revision 38279)
@@ -0,0 +1,295 @@
+/* gvSIG. Sistema de Informaci�n Geogr�fica de la Generalitat Valenciana
+ *
+ * Copyright (C) 2004 IVER T.I. and Generalitat Valenciana.
+ *
+ * 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., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
+ *
+ * For more information, contact:
+ *
+ *  Generalitat Valenciana
+ *   Conselleria d'Infraestructures i Transport
+ *   Av. Blasco Ib��ez, 50
+ *   46010 VALENCIA
+ *   SPAIN
+ *
+ *      +34 963862235
+ *   gvsig@gva.es
+ *      www.gvsig.gva.es
+ *
+ *    or
+ *
+ *   IVER T.I. S.A
+ *   Salamanca 50
+ *   46005 Valencia
+ *   Spain
+ *
+ *   +34 963163400
+ *   dac@iver.es
+ */
+package org.gvsig.coreplugin;
+
+import java.awt.BorderLayout;
+
+import javax.swing.JEditorPane;
+import javax.swing.JPanel;
+import javax.swing.JScrollPane;
+import javax.swing.JTabbedPane;
+
+import org.gvsig.andami.PluginServices;
+import org.gvsig.andami.messages.MessageEvent;
+import org.gvsig.andami.messages.NotificationListener;
+import org.gvsig.andami.ui.mdiManager.IWindow;
+import org.gvsig.andami.ui.mdiManager.SingletonWindow;
+import org.gvsig.andami.ui.mdiManager.WindowInfo;
+
+
+/**
+ * Frame que escucha los eventos del sistema de mensajes de la aplicaci�n y los
+ * muestra.
+ */
+public class ConsolaFrame extends JPanel implements IWindow, SingletonWindow,NotificationListener {
+	private StringBuffer info = new StringBuffer();
+	private StringBuffer warn = new StringBuffer();
+	private StringBuffer error = new StringBuffer();
+	private StringBuffer all = new StringBuffer();
+	private JEditorPane textoInfos;
+	private JEditorPane textoWarnings;
+	private JEditorPane textoErrores;
+	private JEditorPane textoAll;
+
+	private final static String marcaInfo ="font size='3' color='#000000'";
+	private final static String marcaWarning ="font size='3' color='#800000'";
+	private final static String marcaError ="font size='3' color='#FF0000'";
+	private JTabbedPane tabs;
+	private JPanel panelErrores;
+
+    /**
+     * Crea la consola con los mensajes producidos hasta el momento de la
+     * creaci�n de este objeto.
+     *
+     * @param todo Array de todos los mensajes
+     * @param infos Array de los mensajes de informaci�n
+     * @param warns Array de los mensajes de warning
+     * @param errors Array de los mensajes de error
+     */
+    public ConsolaFrame() {
+
+		this.setSize(400, 325);
+
+        //Las cajas de texto donde van los mensajes
+        textoInfos = new JEditorPane();
+        textoInfos.setEditable(false);
+		textoInfos.setContentType("text/html");
+        textoWarnings = new JEditorPane();
+        textoWarnings.setEditable(false);
+		textoWarnings.setContentType("text/html");
+        textoErrores = new JEditorPane();
+        textoErrores.setEditable(false);
+		textoErrores.setContentType("text/html");
+        textoAll = new JEditorPane();
+        textoAll.setEditable(false);
+		textoAll.setContentType("text/html");
+
+		JScrollPane scroll = new JScrollPane(textoAll);
+		scroll.setVerticalScrollBarPolicy(
+						JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
+		scroll.setHorizontalScrollBarPolicy(
+		JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
+//		scroll.setPreferredSize(new Dimension(500, 500));
+//		scroll.setMinimumSize(new Dimension(10, 10));
+		JPanel panelAll = new JPanel(new BorderLayout());
+		panelAll.add(scroll, BorderLayout.CENTER);
+
+		scroll = new JScrollPane(textoInfos);
+		scroll.setVerticalScrollBarPolicy(
+						JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
+		scroll.setHorizontalScrollBarPolicy(
+			JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
+//		scroll.setPreferredSize(new Dimension(250, 145));
+//		scroll.setMinimumSize(new Dimension(10, 10));
+		JPanel panelInfos = new JPanel(new BorderLayout());
+		panelInfos.add(scroll, BorderLayout.CENTER);
+
+		scroll = new JScrollPane(textoWarnings);
+		scroll.setVerticalScrollBarPolicy(
+						JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
+		scroll.setHorizontalScrollBarPolicy(
+		JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
+//		scroll.setPreferredSize(new Dimension(250, 145));
+//		scroll.setMinimumSize(new Dimension(10, 10));
+		JPanel panelWarnings = new JPanel(new BorderLayout());
+		panelWarnings.add(scroll, BorderLayout.CENTER);
+
+		scroll = new JScrollPane(textoErrores);
+		scroll.setVerticalScrollBarPolicy(
+						JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
+		scroll.setHorizontalScrollBarPolicy(
+		JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
+//		scroll.setPreferredSize(new Dimension(250, 145));
+//		scroll.setMinimumSize(new Dimension(10, 10));
+		panelErrores = new JPanel(new BorderLayout());
+		panelErrores.add(scroll, BorderLayout.CENTER);
+
+//        rellenar(infos, textoInfos, info, marcaInfo);
+  //      rellenar(warns, textoWarnings, warn, marcaWarning);
+    //    rellenar(errors, textoErrores, error, marcaError);
+      //  rellenarTodo(todo, textoAll);
+
+        //Las pesta�as
+        tabs = new JTabbedPane();
+        tabs.addTab(PluginServices.getText( this ,"todos"), panelAll);
+        tabs.addTab(PluginServices.getText( this ,"info"), panelInfos);
+        tabs.addTab(PluginServices.getText( this ,"warnings"), panelWarnings);
+        tabs.addTab(PluginServices.getText( this ,"errores"), panelErrores);
+		this.setLayout(new BorderLayout());
+        this.add(tabs, BorderLayout.CENTER);
+
+    }
+
+	/**
+	 * M�todo de utilidad para rellenar los cuadros de texto con un array de
+	 * cadenas
+	 *
+	 * @param contenido array de cadenas que se mostrar�n en el cuadro de texto
+	 *        separadas por un retorno de carro
+	 * @param control Control en el que se pondr�n las cadenas
+	 */
+	private void rellenar(String[] contenido, JEditorPane control, StringBuffer buffer, String marca) {
+		String content = "";
+		for (int i = 0; i < contenido.length; i++) {
+			content = content + "<"+marca+">"+contenido[i] + "</"+marca+"><br/";
+		}
+
+		buffer.append(content);
+
+		control.setContentType("text/html");
+		control.setText(content);
+	}
+
+	/*
+	 * M�todo de utilidad para rellenar los cuadros de texto con un array de
+	 * cadenas
+	 *
+	 * @param contenido array de cadenas que se mostrar�n en el cuadro de texto
+	 *        separadas por un retorno de carro
+	 * @param control Control en el que se pondr�n las cadenas
+	 *
+	private void rellenarTodo(Message[] contenido, JEditorPane control) {
+		HashMap marcasTipoMsg = new HashMap();
+		marcasTipoMsg.put(new Integer(Message.INFO), marcaInfo);
+		marcasTipoMsg.put(new Integer(Message.WARNING), marcaWarning);
+		marcasTipoMsg.put(new Integer(Message.ERROR), marcaError);
+
+		String content = "";
+		for (int i = 0; i < contenido.length; i++) {
+			String marca = (String) marcasTipoMsg.get(new Integer(contenido[i].tipo));
+			content = content + "<"+marca+">"+contenido[i].texto + "</"+marca+"><br/";
+		}
+
+		all.append(content);
+
+		control.setContentType("text/html");
+		control.setText(content);
+	}*/
+
+
+	/**
+	 * Obtiene un string con la traza de una excepci�n a la consola
+	 *
+	 * @param t Elemento throwable
+	 */
+	private static String dumpStackTrace(Throwable t) {
+		if ( t == null ) {
+			return "";
+		}
+		StackTraceElement[] stes = t.getStackTrace();
+		String todo = "<"+marcaWarning+">" + t.getClass().getName() + ": " + t.getLocalizedMessage() +
+			"<"+marcaWarning+">" + "<br/";
+
+		for (int i = 0; i < stes.length; i++) {
+			todo += ("<"+marcaWarning+">&nbsp;&nbsp;&nbsp;&nbsp;" + stes[i].toString() + "<br/");
+		}
+
+		if (t.getCause() != null) {
+			todo = todo + dumpStackTrace(t.getCause());
+		}
+
+		return todo;
+	}
+
+    /**
+     * @see com.iver.mdiApp.NotificationListener#errorEvent(java.lang.String)
+     */
+    public void errorEvent(MessageEvent e) {
+    	for (int i = 0; i < e.getMessages().length; i++){
+    		String traza = dumpStackTrace(e.getExceptions()[i]);
+
+			error.append("<"+marcaError+">" + e.getMessages()[i] + "</"+marcaError+"><br/" + traza);
+			all.append("<"+marcaError+">" + e.getMessages()[i] + "</"+marcaError+"><br/" + traza);
+    	}
+		textoErrores.setText(error.toString());
+		textoAll.setText(all.toString());
+		tabs.setSelectedComponent(panelErrores);
+    }
+
+    /**
+     * @see com.iver.mdiApp.NotificationListener#warningEvent(java.lang.String)
+     */
+    public void warningEvent(MessageEvent e) {
+		for (int i = 0; i < e.getMessages().length; i++){
+			String traza = dumpStackTrace(e.getExceptions()[i]);
+
+			warn.append("<"+marcaWarning+">" + e.getMessages()[i] + "</"+marcaWarning+"><br/" + traza);
+			all.append("<"+marcaWarning+">" + e.getMessages()[i] + "</"+marcaWarning+"><br/" + traza);
+		}
+		textoWarnings.setText(warn.toString());
+		textoAll.setText(all.toString());
+    }
+
+    /**
+     * @see com.iver.mdiApp.NotificationListener#infoEvent(java.lang.String)
+     */
+    public void infoEvent(MessageEvent e) {
+		for (int i = 0; i < e.getMessages().length; i++){
+			String traza = dumpStackTrace(e.getExceptions()[i]);
+
+			info.append("<"+marcaInfo+">" + e.getMessages()[i] + "</"+marcaInfo+"><br/" + traza);
+			all.append("<"+marcaInfo+">" + e.getMessages()[i] + "</"+marcaInfo+"><br/" + traza);
+		}
+		textoInfos.setText(info.toString() );
+		textoAll.setText(all.toString());
+
+    }
+
+	/**
+	 * @see com.iver.mdiApp.ui.MDIManager.IWindow#getModel()
+	 */
+	public Object getWindowModel() {
+		return "consola";
+	}
+
+	/**
+	 * @see org.gvsig.andami.ui.mdiManager.IWindow#getWindowInfo()
+	 */
+	public WindowInfo getWindowInfo() {
+		WindowInfo info = new WindowInfo(WindowInfo.MODELESSDIALOG|WindowInfo.RESIZABLE|WindowInfo.MAXIMIZABLE|WindowInfo.ICONIFIABLE);
+		info.setTitle(PluginServices.getText(this, "titulo_consola"));
+		return info;
+	}
+
+	public Object getWindowProfile() {
+		return WindowInfo.PROPERTIES_PROFILE;
+	}
+}

Property changes on: tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/ConsolaFrame.java
___________________________________________________________________
Added: svn:keywords
   + Author Date Id Revision
Added: svn:eol-style
   + native

Index: tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/NotificationDialog2.jfd
===================================================================
--- tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/NotificationDialog2.jfd	(revision 0)
+++ tags/v2_0_0_Build_2047/libraries/libCorePlugin/src/org/gvsig/coreplugin/NotificationDialog2.jfd	(revision 38279)
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?> 
+<java version="1.6.0_03" class="java.beans.XMLDecoder"> 
+ <object class="com.jformdesigner.model.FormModel"> 
+  <void property="contentType"> 
+   <string>form/swing</string> 
+  </void> 
+  <void property="root"> 
+   <object class="com.jformdesigner.model.FormRoot"> 
+    <void method="add"> 
+     <object class="com.jformdesigner.model.FormContainer"> 
+      <string>javax.swing.JPanel</string> 
+      <object class="com.jformdesigner.model.FormLayoutManager"> 
+       <class>com.jgoodies.forms.layout.FormLayout</class> 
+       <void method="setProperty"> 
+        <string>$columnSpecs</string> 
+        <string>default, labelcompgap, default</string> 
+       </void> 
+       <void method="setProperty"> 
+        <string>$rowSpecs</string> 
+        <string>default, linegap, default, linegap, default</string> 
+       </void> 
+      </object> 
+      <void property="name"> 
+       <string>this</string> 
+      </void> 
+     </object> 
+     <object class="com.jformdesigner.model.FormLayoutConstraints"> 
+      <null/> 
+      <void method="setProperty"> 
+       <string>location</string> 
+       <object class="java.awt.Point"> 
+        <int>0</int> 
+        <int>0</int> 
+       </object> 
+      </void> 
+      <void method="setProperty"> 
+       <string>size</string> 
+       <object class="java.awt.Dimension"> 
+        <int>400</int> 
+        <int>300</int> 
+       </object> 
+      </void> 
+     </object> 
+    </void> 
+   </object> 
+  </void> 
+ </object> 
+</java> 
Index: tags/v2_0_0_Build_2047/libraries/libCorePlugin/pom.xml
===================================================================
--- tags/v2_0_0_Build_2047/libraries/libCorePlugin/pom.xml	(revision 0)
+++ tags/v2_0_0_Build_2047/libraries/libCorePlugin/pom.xml	(revision 38279)
@@ -0,0 +1,66 @@
+<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.coreplugin</artifactId>
+	<packaging>jar</packaging>
+	<version>2.0-SNAPSHOT</version>
+	<name>Skin management framework</name>
+	<description> This is the extension that provide the basic skin to
+		gvsig</description>
+	<parent>
+		<groupId>org.gvsig</groupId>
+		<artifactId>gvsig-base-extension-pom</artifactId>
+		<version>2.0-SNAPSHOT</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.tools.swing.api</artifactId>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.gvsig</groupId>
+            <artifactId>org.gvsig.ui</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.utils</artifactId>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.gvsig</groupId>
+            <artifactId>org.gvsig.i18n</artifactId>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-api</artifactId>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>castor</groupId>
+            <artifactId>castor</artifactId>
+            <scope>compile</scope>
+        </dependency>
+	</dependencies>
+	<properties>
+		<build-dir>${basedir}/../build</build-dir>
+        <eclipse.project.name>libCorePlugin</eclipse.project.name>
+        <package.info.state>alpha5</package.info.state>
+	</properties>
+	<build>
+		<sourceDirectory>src</sourceDirectory>
+		<testSourceDirectory>src-test</testSourceDirectory>
+	</build>
+</project>
\ No newline at end of file
Index: tags/v2_0_0_Build_2047/libraries/libCorePlugin/.cvsignore
===================================================================
--- tags/v2_0_0_Build_2047/libraries/libCorePlugin/.cvsignore	(revision 0)
+++ tags/v2_0_0_Build_2047/libraries/libCorePlugin/.cvsignore	(revision 38279)
@@ -0,0 +1,2 @@
+bin
+bin-test

Property changes on: tags/v2_0_0_Build_2047/libraries/libCorePlugin/.cvsignore
___________________________________________________________________
Added: svn:eol-style
   + native
Added: svn:keywords
   + Author Date Id Revision

Index: tags/v2_0_0_Build_2047/libraries/libCorePlugin/distribution/distribution.xml
===================================================================
--- tags/v2_0_0_Build_2047/libraries/libCorePlugin/distribution/distribution.xml	(revision 0)
+++ tags/v2_0_0_Build_2047/libraries/libCorePlugin/distribution/distribution.xml	(revision 38279)
@@ -0,0 +1,42 @@
+<assembly>
+	<id>distribution</id>
+	<formats>
+		<format>dir</format>
+	</formats>
+	<fileSets>
+	<!-- Extructure for the extension -->
+		<fileSet>
+			<directory>config</directory>
+			<outputDirectory>${extension.install.dir.name}
+			</outputDirectory>
+		</fileSet>
+		<fileSet>
+			<directory>images</directory>
+			<outputDirectory>/${extension.install.dir.name}/images
+			</outputDirectory>
+		</fileSet>
+	</fileSets>
+	<files>
+		<file>
+			<source>package.info</source>
+			<outputDirectory>${extension.install.dir.name}
+			</outputDirectory>
+		</file>
+	</files>
+	<!--
+		***********************************************************************
+	-->
+  <!-- *													   *-->
+	<!--
+		***********************************************************************
+	-->
+	<dependencySets>
+		<dependencySet>
+			<outputDirectory>${extension.install.dir.name}/${library-dir}
+			</outputDirectory>
+			<includes>
+				<include>org.gvsig:org.gvsig.coreplugin</include>
+			</includes>
+		</dependencySet>
+	</dependencySets>
+</assembly>
\ No newline at end of file
Index: tags/v2_0_0_Build_2047/libraries/libCorePlugin/buildNumber.properties
===================================================================
--- tags/v2_0_0_Build_2047/libraries/libCorePlugin/buildNumber.properties	(revision 0)
+++ tags/v2_0_0_Build_2047/libraries/libCorePlugin/buildNumber.properties	(revision 38279)
@@ -0,0 +1,3 @@
+#maven.buildNumber.plugin properties file
+#Tue May 29 16:37:23 CEST 2012
+buildNumber=2047

Property changes on: tags/v2_0_0_Build_2047/libraries/libCorePlugin
___________________________________________________________________
Added: svn:ignore
   + .classpath 
.project 
.settings 
maven-eclipse.xml
target
bin
hs_err_pid*
.externalToolBuilders
.settings
.classpath
.project
package.info


